diff --git a/.bowerrc b/.bowerrc deleted file mode 100644 index 7694ad7822ba..000000000000 --- a/.bowerrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "directory": "./public/vendor" -} \ No newline at end of file diff --git a/.env.example b/.env.example new file mode 100644 index 000000000000..09cb7524e588 --- /dev/null +++ b/.env.example @@ -0,0 +1,17 @@ +APP_ENV=development +APP_DEBUG=true +APP_KEY= + +DB_TYPE=mysql +DB_HOST=localhost +DB_DATABASE=ninja +DB_USERNAME= +DB_PASSWORD= + +MAIL_DRIVER=smtp +MAIL_PORT=587 +MAIL_ENCRYPTION=tls +MAIL_HOST= +MAIL_USERNAME= +MAIL_FROM_NAME= +MAIL_PASSWORD= \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index 2125666142eb..95883deab565 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,3 @@ -* text=auto \ No newline at end of file +* text=auto +*.css linguist-vendored +*.less linguist-vendored diff --git a/.gitignore b/.gitignore index c0de003549c8..dd49935a1d7d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,9 @@ -/app/config/staging -/app/config/development -/app/config/production -/app/config/fortrabbit -/app/config/ubuntu -/app/config/packages/anahkiasen/rocketeer/ -/app/storage +/config/staging +/config/development +/config/production +/config/fortrabbit +/config/ubuntu +/config/packages/anahkiasen/rocketeer/ /public/logo /public/build /public/packages @@ -12,13 +11,16 @@ /bootstrap/compiled.php /bootstrap/environment.php /vendor +/node_modules +.env /.DS_Store /Thumbs.db -/ninja.sublime-project -/ninja.sublime-workspace -/tests/_log .env.development.php .env.php .idea .project -/nbproject/private/ \ No newline at end of file +error_log +public/error_log +/ninja.sublime-project +/ninja.sublime-workspace +auth.json diff --git a/Gruntfile.js b/Gruntfile.js deleted file mode 100644 index 9213e01d255a..000000000000 --- a/Gruntfile.js +++ /dev/null @@ -1,124 +0,0 @@ -module.exports = function(grunt) { - - grunt.initConfig({ - pkg: grunt.file.readJSON('package.json'), - concat: { - options: { - process: function(src, filepath) { - var basepath = filepath.substring(7, filepath.lastIndexOf('/') + 1); - // Fix relative paths for css files - if(filepath.indexOf('.css', filepath.length - 4) !== -1) { - return src.replace(/(url\s*[\("']+)\s*([^'"\)]+)(['"\)]+;?)/gi, function(match, start, url, end, offset, string) { - if(url.indexOf('data:') === 0) { - // Skip data urls - return match; - - } else if(url.indexOf('/') === 0) { - // Skip absolute urls - return match; - - } else { - return start + basepath + url + end; - } - }); - - // Fix source maps locations - } else if(filepath.indexOf('.js', filepath.length - 4) !== -1) { - return src.replace(/(\/[*\/][#@]\s*sourceMappingURL=)([^\s]+)/gi, function(match, start, url, offset, string) { - if(url.indexOf('/') === 0) { - // Skip absolute urls - return match; - - } else { - return start + basepath + url; - } - }); - - // Don't do anything for unknown file types - } else { - return src; - } - }, - }, - js: { - src: [ - 'public/vendor/jquery/dist/jquery.js', - 'public/vendor/jquery-ui/jquery-ui.min.js', - 'public/vendor/bootstrap/dist/js/bootstrap.min.js', - 'public/vendor/datatables/media/js/jquery.dataTables.js', - 'public/vendor/datatables-bootstrap3/BS3/assets/js/datatables.js', - 'public/vendor/knockout.js/knockout.js', - 'public/vendor/knockout-mapping/build/output/knockout.mapping-latest.js', - 'public/vendor/knockout-sortable/build/knockout-sortable.min.js', - 'public/vendor/underscore/underscore.js', - 'public/vendor/bootstrap-datepicker/js/bootstrap-datepicker.js', - 'public/vendor/typeahead.js/dist/typeahead.min.js', - 'public/vendor/accounting/accounting.min.js', - 'public/vendor/spectrum/spectrum.js', - 'public/vendor/jspdf/dist/jspdf.min.js', - //'public/vendor/handsontable/dist/jquery.handsontable.full.min.js', - 'public/js/lightbox.min.js', - 'public/js/bootstrap-combobox.js', - 'public/js/script.js', - ], - dest: 'public/built.js', - nonull: true - }, - js_public: { - src: [ - /* - 'public/js/simpleexpand.js', - 'public/js/valign.js', - 'public/js/bootstrap.min.js', - 'public/js/simpleexpand.js', - */ - 'public/vendor/bootstrap/dist/js/bootstrap.min.js', - - ], - dest: 'public/js/built.public.js', - nonull: true - }, - css: { - src: [ - 'public/vendor/bootstrap/dist/css/bootstrap.min.css', - 'public/vendor/datatables/media/css/jquery.dataTables.css', - 'public/vendor/datatables-bootstrap3/BS3/assets/css/datatables.css', - 'public/vendor/font-awesome/css/font-awesome.min.css', - 'public/vendor/bootstrap-datepicker/css/datepicker.css', - 'public/vendor/spectrum/spectrum.css', - 'public/css/bootstrap-combobox.css', - 'public/css/typeahead.js-bootstrap.css', - 'public/css/lightbox.css', - //'public/vendor/handsontable/dist/jquery.handsontable.full.css', - 'public/css/style.css', - ], - dest: 'public/built.css', - nonull: true, - options: { - process: false - } - }, - css_public: { - src: [ - 'public/vendor/bootstrap/dist/css/bootstrap.min.css', - /* - 'public/css/bootstrap.splash.css', - 'public/css/splash.css', - */ - 'public/vendor/datatables/media/css/jquery.dataTables.css', - 'public/vendor/datatables-bootstrap3/BS3/assets/css/datatables.css', - ], - dest: 'public/built.public.css', - nonull: true, - options: { - process: false - } - } - } - }); - - grunt.loadNpmTasks('grunt-contrib-concat'); - - grunt.registerTask('default', ['concat']); - -}; diff --git a/LICENSE b/LICENSE deleted file mode 100644 index eaa9f1e3672c..000000000000 --- a/LICENSE +++ /dev/null @@ -1,40 +0,0 @@ -Attribution Assurance License -Copyright (c) 2014 by Hillel Coren -http://www.hillelcoren.com - -All Rights Reserved -ATTRIBUTION ASSURANCE LICENSE (adapted from the original BSD license) -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the conditions below are met. -These conditions require a modest attribution to InvoiceNinja.com. The hope -is that its promotional value may help justify the thousands of dollars in -otherwise billable time invested in writing this and other freely available, -open-source software. - -1. Redistributions of source code, in whole or part and with or without -modification requires the express permission of the author and must prominently -display "Powered by InvoiceNinja" or the Invoice Ninja logo in verifiable form -with hyperlink to said site. -2. Neither the name nor any trademark of the Author may be used to -endorse or promote products derived from this software without specific -prior written permission. -3. Users are entirely responsible, to the exclusion of the Author and -any other persons, for compliance with (1) regulations set by owners or -administrators of employed equipment, (2) licensing terms of any other -software, and (3) local regulations regarding use, including those -regarding import, export, and use of encryption software. - -THIS FREE SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -EVENT SHALL THE AUTHOR OR ANY CONTRIBUTOR BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -EFFECTS OF UNAUTHORIZED OR MALICIOUS NETWORK ACCESS; -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/_ide_helper.php b/_ide_helper.php deleted file mode 100644 index bc17f6f22034..000000000000 --- a/_ide_helper.php +++ /dev/null @@ -1,14351 +0,0 @@ - - * @see https://github.com/barryvdh/laravel-ide-helper - */ - -namespace { - exit("This file should not be included, only analyzed by your IDE"); - - class App extends \Illuminate\Support\Facades\App{ - - /** - * Bind the installation paths to the application. - * - * @param array $paths - * @return void - * @static - */ - public static function bindInstallPaths($paths){ - \Illuminate\Foundation\Application::bindInstallPaths($paths); - } - - /** - * Get the application bootstrap file. - * - * @return string - * @static - */ - public static function getBootstrapFile(){ - return \Illuminate\Foundation\Application::getBootstrapFile(); - } - - /** - * Start the exception handling for the request. - * - * @return void - * @static - */ - public static function startExceptionHandling(){ - \Illuminate\Foundation\Application::startExceptionHandling(); - } - - /** - * Get or check the current application environment. - * - * @param mixed - * @return string - * @static - */ - public static function environment(){ - return \Illuminate\Foundation\Application::environment(); - } - - /** - * Determine if application is in local environment. - * - * @return bool - * @static - */ - public static function isLocal(){ - return \Illuminate\Foundation\Application::isLocal(); - } - - /** - * Detect the application's current environment. - * - * @param array|string $envs - * @return string - * @static - */ - public static function detectEnvironment($envs){ - return \Illuminate\Foundation\Application::detectEnvironment($envs); - } - - /** - * Determine if we are running in the console. - * - * @return bool - * @static - */ - public static function runningInConsole(){ - return \Illuminate\Foundation\Application::runningInConsole(); - } - - /** - * Determine if we are running unit tests. - * - * @return bool - * @static - */ - public static function runningUnitTests(){ - return \Illuminate\Foundation\Application::runningUnitTests(); - } - - /** - * Force register a service provider with the application. - * - * @param \Illuminate\Support\ServiceProvider|string $provider - * @param array $options - * @return \Illuminate\Support\ServiceProvider - * @static - */ - public static function forgeRegister($provider, $options = array()){ - return \Illuminate\Foundation\Application::forgeRegister($provider, $options); - } - - /** - * Register a service provider with the application. - * - * @param \Illuminate\Support\ServiceProvider|string $provider - * @param array $options - * @param bool $force - * @return \Illuminate\Support\ServiceProvider - * @static - */ - public static function register($provider, $options = array(), $force = false){ - return \Illuminate\Foundation\Application::register($provider, $options, $force); - } - - /** - * Get the registered service provider instnace if it exists. - * - * @param \Illuminate\Support\ServiceProvider|string $provider - * @return \Illuminate\Support\ServiceProvider|null - * @static - */ - public static function getRegistered($provider){ - return \Illuminate\Foundation\Application::getRegistered($provider); - } - - /** - * Resolve a service provider instance from the class name. - * - * @param string $provider - * @return \Illuminate\Support\ServiceProvider - * @static - */ - public static function resolveProviderClass($provider){ - return \Illuminate\Foundation\Application::resolveProviderClass($provider); - } - - /** - * Load and boot all of the remaining deferred providers. - * - * @return void - * @static - */ - public static function loadDeferredProviders(){ - \Illuminate\Foundation\Application::loadDeferredProviders(); - } - - /** - * Register a deffered provider and service. - * - * @param string $provider - * @param string $service - * @return void - * @static - */ - public static function registerDeferredProvider($provider, $service = null){ - \Illuminate\Foundation\Application::registerDeferredProvider($provider, $service); - } - - /** - * Resolve the given type from the container. - * - * (Overriding Container::make) - * - * @param string $abstract - * @param array $parameters - * @return mixed - * @static - */ - public static function make($abstract, $parameters = array()){ - return \Illuminate\Foundation\Application::make($abstract, $parameters); - } - - /** - * Register a "before" application filter. - * - * @param \Closure|string $callback - * @return void - * @static - */ - public static function before($callback){ - \Illuminate\Foundation\Application::before($callback); - } - - /** - * Register an "after" application filter. - * - * @param \Closure|string $callback - * @return void - * @static - */ - public static function after($callback){ - \Illuminate\Foundation\Application::after($callback); - } - - /** - * Register a "finish" application filter. - * - * @param \Closure|string $callback - * @return void - * @static - */ - public static function finish($callback){ - \Illuminate\Foundation\Application::finish($callback); - } - - /** - * Register a "shutdown" callback. - * - * @param callable $callback - * @return void - * @static - */ - public static function shutdown($callback = null){ - \Illuminate\Foundation\Application::shutdown($callback); - } - - /** - * Register a function for determining when to use array sessions. - * - * @param \Closure $callback - * @return void - * @static - */ - public static function useArraySessions($callback){ - \Illuminate\Foundation\Application::useArraySessions($callback); - } - - /** - * Determine if the application has booted. - * - * @return bool - * @static - */ - public static function isBooted(){ - return \Illuminate\Foundation\Application::isBooted(); - } - - /** - * Boot the application's service providers. - * - * @return void - * @static - */ - public static function boot(){ - \Illuminate\Foundation\Application::boot(); - } - - /** - * Register a new boot listener. - * - * @param mixed $callback - * @return void - * @static - */ - public static function booting($callback){ - \Illuminate\Foundation\Application::booting($callback); - } - - /** - * Register a new "booted" listener. - * - * @param mixed $callback - * @return void - * @static - */ - public static function booted($callback){ - \Illuminate\Foundation\Application::booted($callback); - } - - /** - * Run the application and send the response. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @return void - * @static - */ - public static function run($request = null){ - \Illuminate\Foundation\Application::run($request); - } - - /** - * Add a HttpKernel middleware onto the stack. - * - * @param string $class - * @param array $parameters - * @return \Illuminate\Foundation\Application - * @static - */ - public static function middleware($class, $parameters = array()){ - return \Illuminate\Foundation\Application::middleware($class, $parameters); - } - - /** - * Remove a custom middleware from the application. - * - * @param string $class - * @return void - * @static - */ - public static function forgetMiddleware($class){ - \Illuminate\Foundation\Application::forgetMiddleware($class); - } - - /** - * Handle the given request and get the response. - * - * Provides compatibility with BrowserKit functional testing. - * - * @implements HttpKernelInterface::handle - * @param \Symfony\Component\HttpFoundation\Request $request - * @param int $type - * @param bool $catch - * @return \Symfony\Component\HttpFoundation\Response - * @static - */ - public static function handle($request, $type = 1, $catch = true){ - return \Illuminate\Foundation\Application::handle($request, $type, $catch); - } - - /** - * Handle the given request and get the response. - * - * @param \Illuminate\Http\Request $request - * @return \Symfony\Component\HttpFoundation\Response - * @static - */ - public static function dispatch($request){ - return \Illuminate\Foundation\Application::dispatch($request); - } - - /** - * Terminate the request and send the response to the browser. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @param \Symfony\Component\HttpFoundation\Response $response - * @return void - * @static - */ - public static function terminate($request, $response){ - \Illuminate\Foundation\Application::terminate($request, $response); - } - - /** - * Call the "finish" callbacks assigned to the application. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @param \Symfony\Component\HttpFoundation\Response $response - * @return void - * @static - */ - public static function callFinishCallbacks($request, $response){ - \Illuminate\Foundation\Application::callFinishCallbacks($request, $response); - } - - /** - * Prepare the request by injecting any services. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Request - * @static - */ - public static function prepareRequest($request){ - return \Illuminate\Foundation\Application::prepareRequest($request); - } - - /** - * Prepare the given value as a Response object. - * - * @param mixed $value - * @return \Symfony\Component\HttpFoundation\Response - * @static - */ - public static function prepareResponse($value){ - return \Illuminate\Foundation\Application::prepareResponse($value); - } - - /** - * Determine if the application is ready for responses. - * - * @return bool - * @static - */ - public static function readyForResponses(){ - return \Illuminate\Foundation\Application::readyForResponses(); - } - - /** - * Determine if the application is currently down for maintenance. - * - * @return bool - * @static - */ - public static function isDownForMaintenance(){ - return \Illuminate\Foundation\Application::isDownForMaintenance(); - } - - /** - * Register a maintenance mode event listener. - * - * @param \Closure $callback - * @return void - * @static - */ - public static function down($callback){ - \Illuminate\Foundation\Application::down($callback); - } - - /** - * Throw an HttpException with the given data. - * - * @param int $code - * @param string $message - * @param array $headers - * @return void - * @throws \Symfony\Component\HttpKernel\Exception\HttpException - * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException - * @static - */ - public static function abort($code, $message = '', $headers = array()){ - \Illuminate\Foundation\Application::abort($code, $message, $headers); - } - - /** - * Register a 404 error handler. - * - * @param \Closure $callback - * @return void - * @static - */ - public static function missing($callback){ - \Illuminate\Foundation\Application::missing($callback); - } - - /** - * Register an application error handler. - * - * @param \Closure $callback - * @return void - * @static - */ - public static function error($callback){ - \Illuminate\Foundation\Application::error($callback); - } - - /** - * Register an error handler at the bottom of the stack. - * - * @param \Closure $callback - * @return void - * @static - */ - public static function pushError($callback){ - \Illuminate\Foundation\Application::pushError($callback); - } - - /** - * Register an error handler for fatal errors. - * - * @param \Closure $callback - * @return void - * @static - */ - public static function fatal($callback){ - \Illuminate\Foundation\Application::fatal($callback); - } - - /** - * Get the configuration loader instance. - * - * @return \Illuminate\Config\LoaderInterface - * @static - */ - public static function getConfigLoader(){ - return \Illuminate\Foundation\Application::getConfigLoader(); - } - - /** - * Get the environment variables loader instance. - * - * @return \Illuminate\Config\EnvironmentVariablesLoaderInterface - * @static - */ - public static function getEnvironmentVariablesLoader(){ - return \Illuminate\Foundation\Application::getEnvironmentVariablesLoader(); - } - - /** - * Get the service provider repository instance. - * - * @return \Illuminate\Foundation\ProviderRepository - * @static - */ - public static function getProviderRepository(){ - return \Illuminate\Foundation\Application::getProviderRepository(); - } - - /** - * Get the service providers that have been loaded. - * - * @return array - * @static - */ - public static function getLoadedProviders(){ - return \Illuminate\Foundation\Application::getLoadedProviders(); - } - - /** - * Set the application's deferred services. - * - * @param array $services - * @return void - * @static - */ - public static function setDeferredServices($services){ - \Illuminate\Foundation\Application::setDeferredServices($services); - } - - /** - * Determine if the given service is a deferred service. - * - * @param string $service - * @return bool - * @static - */ - public static function isDeferredService($service){ - return \Illuminate\Foundation\Application::isDeferredService($service); - } - - /** - * Get or set the request class for the application. - * - * @param string $class - * @return string - * @static - */ - public static function requestClass($class = null){ - return \Illuminate\Foundation\Application::requestClass($class); - } - - /** - * Set the application request for the console environment. - * - * @return void - * @static - */ - public static function setRequestForConsoleEnvironment(){ - \Illuminate\Foundation\Application::setRequestForConsoleEnvironment(); - } - - /** - * Call a method on the default request class. - * - * @param string $method - * @param array $parameters - * @return mixed - * @static - */ - public static function onRequest($method, $parameters = array()){ - return \Illuminate\Foundation\Application::onRequest($method, $parameters); - } - - /** - * Get the current application locale. - * - * @return string - * @static - */ - public static function getLocale(){ - return \Illuminate\Foundation\Application::getLocale(); - } - - /** - * Set the current application locale. - * - * @param string $locale - * @return void - * @static - */ - public static function setLocale($locale){ - \Illuminate\Foundation\Application::setLocale($locale); - } - - /** - * Register the core class aliases in the container. - * - * @return void - * @static - */ - public static function registerCoreContainerAliases(){ - \Illuminate\Foundation\Application::registerCoreContainerAliases(); - } - - /** - * Determine if the given abstract type has been bound. - * - * @param string $abstract - * @return bool - * @static - */ - public static function bound($abstract){ - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::bound($abstract); - } - - /** - * Determine if a given string is an alias. - * - * @param string $name - * @return bool - * @static - */ - public static function isAlias($name){ - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::isAlias($name); - } - - /** - * Register a binding with the container. - * - * @param string $abstract - * @param \Closure|string|null $concrete - * @param bool $shared - * @return void - * @static - */ - public static function bind($abstract, $concrete = null, $shared = false){ - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::bind($abstract, $concrete, $shared); - } - - /** - * Register a binding if it hasn't already been registered. - * - * @param string $abstract - * @param \Closure|string|null $concrete - * @param bool $shared - * @return bool - * @static - */ - public static function bindIf($abstract, $concrete = null, $shared = false){ - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::bindIf($abstract, $concrete, $shared); - } - - /** - * Register a shared binding in the container. - * - * @param string $abstract - * @param \Closure|string|null $concrete - * @return void - * @static - */ - public static function singleton($abstract, $concrete = null){ - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::singleton($abstract, $concrete); - } - - /** - * Wrap a Closure such that it is shared. - * - * @param \Closure $closure - * @return \Illuminate\Container\Closure - * @static - */ - public static function share($closure){ - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::share($closure); - } - - /** - * Bind a shared Closure into the container. - * - * @param string $abstract - * @param \Closure $closure - * @return void - * @static - */ - public static function bindShared($abstract, $closure){ - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::bindShared($abstract, $closure); - } - - /** - * "Extend" an abstract type in the container. - * - * @param string $abstract - * @param \Closure $closure - * @return void - * @throws \InvalidArgumentException - * @static - */ - public static function extend($abstract, $closure){ - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::extend($abstract, $closure); - } - - /** - * Register an existing instance as shared in the container. - * - * @param string $abstract - * @param mixed $instance - * @return void - * @static - */ - public static function instance($abstract, $instance){ - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::instance($abstract, $instance); - } - - /** - * Alias a type to a shorter name. - * - * @param string $abstract - * @param string $alias - * @return void - * @static - */ - public static function alias($abstract, $alias){ - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::alias($abstract, $alias); - } - - /** - * Bind a new callback to an abstract's rebind event. - * - * @param string $abstract - * @param \Closure $callback - * @return mixed - * @static - */ - public static function rebinding($abstract, $callback){ - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::rebinding($abstract, $callback); - } - - /** - * Refresh an instance on the given target and method. - * - * @param string $abstract - * @param mixed $target - * @param string $method - * @return mixed - * @static - */ - public static function refresh($abstract, $target, $method){ - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::refresh($abstract, $target, $method); - } - - /** - * Instantiate a concrete instance of the given type. - * - * @param string $concrete - * @param array $parameters - * @return mixed - * @throws BindingResolutionException - * @static - */ - public static function build($concrete, $parameters = array()){ - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::build($concrete, $parameters); - } - - /** - * Register a new resolving callback. - * - * @param string $abstract - * @param \Closure $callback - * @return void - * @static - */ - public static function resolving($abstract, $callback){ - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::resolving($abstract, $callback); - } - - /** - * Register a new resolving callback for all types. - * - * @param \Closure $callback - * @return void - * @static - */ - public static function resolvingAny($callback){ - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::resolvingAny($callback); - } - - /** - * Determine if a given type is shared. - * - * @param string $abstract - * @return bool - * @static - */ - public static function isShared($abstract){ - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::isShared($abstract); - } - - /** - * Get the container's bindings. - * - * @return array - * @static - */ - public static function getBindings(){ - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::getBindings(); - } - - /** - * Remove a resolved instance from the instance cache. - * - * @param string $abstract - * @return void - * @static - */ - public static function forgetInstance($abstract){ - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::forgetInstance($abstract); - } - - /** - * Clear all of the instances from the container. - * - * @return void - * @static - */ - public static function forgetInstances(){ - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::forgetInstances(); - } - - /** - * Determine if a given offset exists. - * - * @param string $key - * @return bool - * @static - */ - public static function offsetExists($key){ - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::offsetExists($key); - } - - /** - * Get the value at a given offset. - * - * @param string $key - * @return mixed - * @static - */ - public static function offsetGet($key){ - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::offsetGet($key); - } - - /** - * Set the value at a given offset. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ - public static function offsetSet($key, $value){ - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::offsetSet($key, $value); - } - - /** - * Unset the value at a given offset. - * - * @param string $key - * @return void - * @static - */ - public static function offsetUnset($key){ - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::offsetUnset($key); - } - - } - - - class Artisan extends \Illuminate\Support\Facades\Artisan{ - - /** - * Create and boot a new Console application. - * - * @param \Illuminate\Foundation\Application $app - * @return \Illuminate\Console\Application - * @static - */ - public static function start($app){ - return \Illuminate\Console\Application::start($app); - } - - /** - * Create a new Console application. - * - * @param \Illuminate\Foundation\Application $app - * @return \Illuminate\Console\Application - * @static - */ - public static function make($app){ - return \Illuminate\Console\Application::make($app); - } - - /** - * Boot the Console application. - * - * @return \Illuminate\Console\Application - * @static - */ - public static function boot(){ - return \Illuminate\Console\Application::boot(); - } - - /** - * Run an Artisan console command by name. - * - * @param string $command - * @param array $parameters - * @param \Symfony\Component\Console\Output\OutputInterface $output - * @return void - * @static - */ - public static function call($command, $parameters = array(), $output = null){ - \Illuminate\Console\Application::call($command, $parameters, $output); - } - - /** - * Add a command to the console. - * - * @param \Symfony\Component\Console\Command\Command $command - * @return \Symfony\Component\Console\Command\Command - * @static - */ - public static function add($command){ - return \Illuminate\Console\Application::add($command); - } - - /** - * Add a command, resolving through the application. - * - * @param string $command - * @return \Symfony\Component\Console\Command\Command - * @static - */ - public static function resolve($command){ - return \Illuminate\Console\Application::resolve($command); - } - - /** - * Resolve an array of commands through the application. - * - * @param array|mixed $commands - * @return void - * @static - */ - public static function resolveCommands($commands){ - \Illuminate\Console\Application::resolveCommands($commands); - } - - /** - * Render the given exception. - * - * @param \Exception $e - * @param \Symfony\Component\Console\Output\OutputInterface $output - * @return void - * @static - */ - public static function renderException($e, $output){ - \Illuminate\Console\Application::renderException($e, $output); - } - - /** - * Set the exception handler instance. - * - * @param \Illuminate\Exception\Handler $handler - * @return \Illuminate\Console\Application - * @static - */ - public static function setExceptionHandler($handler){ - return \Illuminate\Console\Application::setExceptionHandler($handler); - } - - /** - * Set the Laravel application instance. - * - * @param \Illuminate\Foundation\Application $laravel - * @return \Illuminate\Console\Application - * @static - */ - public static function setLaravel($laravel){ - return \Illuminate\Console\Application::setLaravel($laravel); - } - - /** - * Set whether the Console app should auto-exit when done. - * - * @param bool $boolean - * @return \Illuminate\Console\Application - * @static - */ - public static function setAutoExit($boolean){ - return \Illuminate\Console\Application::setAutoExit($boolean); - } - - /** - * - * - * @static - */ - public static function setDispatcher($dispatcher){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::setDispatcher($dispatcher); - } - - /** - * Runs the current application. - * - * @param \Symfony\Component\Console\InputInterface $input An Input instance - * @param \Symfony\Component\Console\OutputInterface $output An Output instance - * @return int 0 if everything went fine, or an error code - * @throws \Exception When doRun returns Exception - * @api - * @static - */ - public static function run($input = null, $output = null){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::run($input, $output); - } - - /** - * Runs the current application. - * - * @param \Symfony\Component\Console\InputInterface $input An Input instance - * @param \Symfony\Component\Console\OutputInterface $output An Output instance - * @return int 0 if everything went fine, or an error code - * @static - */ - public static function doRun($input, $output){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::doRun($input, $output); - } - - /** - * Set a helper set to be used with the command. - * - * @param \Symfony\Component\Console\HelperSet $helperSet The helper set - * @api - * @static - */ - public static function setHelperSet($helperSet){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::setHelperSet($helperSet); - } - - /** - * Get the helper set associated with the command. - * - * @return \Symfony\Component\Console\HelperSet The HelperSet instance associated with this command - * @api - * @static - */ - public static function getHelperSet(){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::getHelperSet(); - } - - /** - * Set an input definition set to be used with this application - * - * @param \Symfony\Component\Console\InputDefinition $definition The input definition - * @api - * @static - */ - public static function setDefinition($definition){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::setDefinition($definition); - } - - /** - * Gets the InputDefinition related to this Application. - * - * @return \Symfony\Component\Console\InputDefinition The InputDefinition instance - * @static - */ - public static function getDefinition(){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::getDefinition(); - } - - /** - * Gets the help message. - * - * @return string A help message. - * @static - */ - public static function getHelp(){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::getHelp(); - } - - /** - * Sets whether to catch exceptions or not during commands execution. - * - * @param bool $boolean Whether to catch exceptions or not during commands execution - * @api - * @static - */ - public static function setCatchExceptions($boolean){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::setCatchExceptions($boolean); - } - - /** - * Gets the name of the application. - * - * @return string The application name - * @api - * @static - */ - public static function getName(){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::getName(); - } - - /** - * Sets the application name. - * - * @param string $name The application name - * @api - * @static - */ - public static function setName($name){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::setName($name); - } - - /** - * Gets the application version. - * - * @return string The application version - * @api - * @static - */ - public static function getVersion(){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::getVersion(); - } - - /** - * Sets the application version. - * - * @param string $version The application version - * @api - * @static - */ - public static function setVersion($version){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::setVersion($version); - } - - /** - * Returns the long version of the application. - * - * @return string The long application version - * @api - * @static - */ - public static function getLongVersion(){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::getLongVersion(); - } - - /** - * Registers a new command. - * - * @param string $name The command name - * @return \Symfony\Component\Console\Command The newly created command - * @api - * @static - */ - public static function register($name){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::register($name); - } - - /** - * Adds an array of command objects. - * - * @param \Symfony\Component\Console\Command[] $commands An array of commands - * @api - * @static - */ - public static function addCommands($commands){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::addCommands($commands); - } - - /** - * Returns a registered command by name or alias. - * - * @param string $name The command name or alias - * @return \Symfony\Component\Console\Command A Command object - * @throws \InvalidArgumentException When command name given does not exist - * @api - * @static - */ - public static function get($name){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::get($name); - } - - /** - * Returns true if the command exists, false otherwise. - * - * @param string $name The command name or alias - * @return bool true if the command exists, false otherwise - * @api - * @static - */ - public static function has($name){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::has($name); - } - - /** - * Returns an array of all unique namespaces used by currently registered commands. - * - * It does not returns the global namespace which always exists. - * - * @return array An array of namespaces - * @static - */ - public static function getNamespaces(){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::getNamespaces(); - } - - /** - * Finds a registered namespace by a name or an abbreviation. - * - * @param string $namespace A namespace or abbreviation to search for - * @return string A registered namespace - * @throws \InvalidArgumentException When namespace is incorrect or ambiguous - * @static - */ - public static function findNamespace($namespace){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::findNamespace($namespace); - } - - /** - * Finds a command by name or alias. - * - * Contrary to get, this command tries to find the best - * match if you give it an abbreviation of a name or alias. - * - * @param string $name A command name or a command alias - * @return \Symfony\Component\Console\Command A Command instance - * @throws \InvalidArgumentException When command name is incorrect or ambiguous - * @api - * @static - */ - public static function find($name){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::find($name); - } - - /** - * Gets the commands (registered in the given namespace if provided). - * - * The array keys are the full names and the values the command instances. - * - * @param string $namespace A namespace name - * @return \Symfony\Component\Console\Command[] An array of Command instances - * @api - * @static - */ - public static function all($namespace = null){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::all($namespace); - } - - /** - * Returns an array of possible abbreviations given a set of names. - * - * @param array $names An array of names - * @return array An array of abbreviations - * @static - */ - public static function getAbbreviations($names){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::getAbbreviations($names); - } - - /** - * Returns a text representation of the Application. - * - * @param string $namespace An optional namespace name - * @param bool $raw Whether to return raw command list - * @return string A string representing the Application - * @deprecated Deprecated since version 2.3, to be removed in 3.0. - * @static - */ - public static function asText($namespace = null, $raw = false){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::asText($namespace, $raw); - } - - /** - * Returns an XML representation of the Application. - * - * @param string $namespace An optional namespace name - * @param bool $asDom Whether to return a DOM or an XML string - * @return string|\DOMDocument An XML string representing the Application - * @deprecated Deprecated since version 2.3, to be removed in 3.0. - * @static - */ - public static function asXml($namespace = null, $asDom = false){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::asXml($namespace, $asDom); - } - - /** - * Tries to figure out the terminal dimensions based on the current environment - * - * @return array Array containing width and height - * @static - */ - public static function getTerminalDimensions(){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::getTerminalDimensions(); - } - - /** - * Sets terminal dimensions. - * - * Can be useful to force terminal dimensions for functional tests. - * - * @param int $width The width - * @param int $height The height - * @return \Symfony\Component\Console\Application The current application - * @static - */ - public static function setTerminalDimensions($width, $height){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::setTerminalDimensions($width, $height); - } - - /** - * Returns the namespace part of the command name. - * - * This method is not part of public API and should not be used directly. - * - * @param string $name The full name of the command - * @param string $limit The maximum number of parts of the namespace - * @return string The namespace of the command - * @static - */ - public static function extractNamespace($name, $limit = null){ - //Method inherited from \Symfony\Component\Console\Application - return \Illuminate\Console\Application::extractNamespace($name, $limit); - } - - } - - - class Auth extends \Illuminate\Support\Facades\Auth{ - - /** - * Create an instance of the database driver. - * - * @return \Illuminate\Auth\Guard - * @static - */ - public static function createDatabaseDriver(){ - return \Illuminate\Auth\AuthManager::createDatabaseDriver(); - } - - /** - * Create an instance of the Eloquent driver. - * - * @return \Illuminate\Auth\Guard - * @static - */ - public static function createEloquentDriver(){ - return \Illuminate\Auth\AuthManager::createEloquentDriver(); - } - - /** - * Get the default authentication driver name. - * - * @return string - * @static - */ - public static function getDefaultDriver(){ - return \Illuminate\Auth\AuthManager::getDefaultDriver(); - } - - /** - * Set the default authentication driver name. - * - * @param string $name - * @return void - * @static - */ - public static function setDefaultDriver($name){ - \Illuminate\Auth\AuthManager::setDefaultDriver($name); - } - - /** - * Get a driver instance. - * - * @param string $driver - * @return mixed - * @static - */ - public static function driver($driver = null){ - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Auth\AuthManager::driver($driver); - } - - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return \Illuminate\Support\Manager|static - * @static - */ - public static function extend($driver, $callback){ - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Auth\AuthManager::extend($driver, $callback); - } - - /** - * Get all of the created "drivers". - * - * @return array - * @static - */ - public static function getDrivers(){ - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Auth\AuthManager::getDrivers(); - } - - /** - * Determine if the current user is authenticated. - * - * @return bool - * @static - */ - public static function check(){ - return \Illuminate\Auth\Guard::check(); - } - - /** - * Determine if the current user is a guest. - * - * @return bool - * @static - */ - public static function guest(){ - return \Illuminate\Auth\Guard::guest(); - } - - /** - * Get the currently authenticated user. - * - * @return \User|null - * @static - */ - public static function user(){ - return \Illuminate\Auth\Guard::user(); - } - - /** - * Log a user into the application without sessions or cookies. - * - * @param array $credentials - * @return bool - * @static - */ - public static function once($credentials = array()){ - return \Illuminate\Auth\Guard::once($credentials); - } - - /** - * Validate a user's credentials. - * - * @param array $credentials - * @return bool - * @static - */ - public static function validate($credentials = array()){ - return \Illuminate\Auth\Guard::validate($credentials); - } - - /** - * Attempt to authenticate using HTTP Basic Auth. - * - * @param string $field - * @param \Symfony\Component\HttpFoundation\Request $request - * @return \Symfony\Component\HttpFoundation\Response|null - * @static - */ - public static function basic($field = 'email', $request = null){ - return \Illuminate\Auth\Guard::basic($field, $request); - } - - /** - * Perform a stateless HTTP Basic login attempt. - * - * @param string $field - * @param \Symfony\Component\HttpFoundation\Request $request - * @return \Symfony\Component\HttpFoundation\Response|null - * @static - */ - public static function onceBasic($field = 'email', $request = null){ - return \Illuminate\Auth\Guard::onceBasic($field, $request); - } - - /** - * Attempt to authenticate a user using the given credentials. - * - * @param array $credentials - * @param bool $remember - * @param bool $login - * @return bool - * @static - */ - public static function attempt($credentials = array(), $remember = false, $login = true){ - return \Illuminate\Auth\Guard::attempt($credentials, $remember, $login); - } - - /** - * Register an authentication attempt event listener. - * - * @param mixed $callback - * @return void - * @static - */ - public static function attempting($callback){ - \Illuminate\Auth\Guard::attempting($callback); - } - - /** - * Log a user into the application. - * - * @param \Illuminate\Auth\UserInterface $user - * @param bool $remember - * @return void - * @static - */ - public static function login($user, $remember = false){ - \Illuminate\Auth\Guard::login($user, $remember); - } - - /** - * Log the given user ID into the application. - * - * @param mixed $id - * @param bool $remember - * @return \User - * @static - */ - public static function loginUsingId($id, $remember = false){ - return \Illuminate\Auth\Guard::loginUsingId($id, $remember); - } - - /** - * Log the given user ID into the application without sessions or cookies. - * - * @param mixed $id - * @return bool - * @static - */ - public static function onceUsingId($id){ - return \Illuminate\Auth\Guard::onceUsingId($id); - } - - /** - * Log the user out of the application. - * - * @return void - * @static - */ - public static function logout(){ - \Illuminate\Auth\Guard::logout(); - } - - /** - * Get the cookie creator instance used by the guard. - * - * @return \Illuminate\Cookie\CookieJar - * @throws \RuntimeException - * @static - */ - public static function getCookieJar(){ - return \Illuminate\Auth\Guard::getCookieJar(); - } - - /** - * Set the cookie creator instance used by the guard. - * - * @param \Illuminate\Cookie\CookieJar $cookie - * @return void - * @static - */ - public static function setCookieJar($cookie){ - \Illuminate\Auth\Guard::setCookieJar($cookie); - } - - /** - * Get the event dispatcher instance. - * - * @return \Illuminate\Events\Dispatcher - * @static - */ - public static function getDispatcher(){ - return \Illuminate\Auth\Guard::getDispatcher(); - } - - /** - * Set the event dispatcher instance. - * - * @param \Illuminate\Events\Dispatcher - * @static - */ - public static function setDispatcher($events){ - return \Illuminate\Auth\Guard::setDispatcher($events); - } - - /** - * Get the session store used by the guard. - * - * @return \Illuminate\Session\Store - * @static - */ - public static function getSession(){ - return \Illuminate\Auth\Guard::getSession(); - } - - /** - * Get the user provider used by the guard. - * - * @return \Illuminate\Auth\Guard - * @static - */ - public static function getProvider(){ - return \Illuminate\Auth\Guard::getProvider(); - } - - /** - * Set the user provider used by the guard. - * - * @param \Illuminate\Auth\UserProviderInterface $provider - * @return void - * @static - */ - public static function setProvider($provider){ - \Illuminate\Auth\Guard::setProvider($provider); - } - - /** - * Return the currently cached user of the application. - * - * @return \User|null - * @static - */ - public static function getUser(){ - return \Illuminate\Auth\Guard::getUser(); - } - - /** - * Set the current user of the application. - * - * @param \Illuminate\Auth\UserInterface $user - * @return void - * @static - */ - public static function setUser($user){ - \Illuminate\Auth\Guard::setUser($user); - } - - /** - * Get the current request instance. - * - * @return \Symfony\Component\HttpFoundation\Request - * @static - */ - public static function getRequest(){ - return \Illuminate\Auth\Guard::getRequest(); - } - - /** - * Set the current request instance. - * - * @param \Symfony\Component\HttpFoundation\Request - * @return \Illuminate\Auth\Guard - * @static - */ - public static function setRequest($request){ - return \Illuminate\Auth\Guard::setRequest($request); - } - - /** - * Get the last user we attempted to authenticate. - * - * @return \User - * @static - */ - public static function getLastAttempted(){ - return \Illuminate\Auth\Guard::getLastAttempted(); - } - - /** - * Get a unique identifier for the auth session value. - * - * @return string - * @static - */ - public static function getName(){ - return \Illuminate\Auth\Guard::getName(); - } - - /** - * Get the name of the cookie used to store the "recaller". - * - * @return string - * @static - */ - public static function getRecallerName(){ - return \Illuminate\Auth\Guard::getRecallerName(); - } - - /** - * Determine if the user was authenticated via "remember me" cookie. - * - * @return bool - * @static - */ - public static function viaRemember(){ - return \Illuminate\Auth\Guard::viaRemember(); - } - - } - - - class Blade extends \Illuminate\Support\Facades\Blade{ - - /** - * Compile the view at the given path. - * - * @param string $path - * @return void - * @static - */ - public static function compile($path = null){ - \Illuminate\View\Compilers\BladeCompiler::compile($path); - } - - /** - * Get the path currently being compiled. - * - * @return string - * @static - */ - public static function getPath(){ - return \Illuminate\View\Compilers\BladeCompiler::getPath(); - } - - /** - * Set the path currently being compiled. - * - * @param string $path - * @return void - * @static - */ - public static function setPath($path){ - \Illuminate\View\Compilers\BladeCompiler::setPath($path); - } - - /** - * Compile the given Blade template contents. - * - * @param string $value - * @return string - * @static - */ - public static function compileString($value){ - return \Illuminate\View\Compilers\BladeCompiler::compileString($value); - } - - /** - * Register a custom Blade compiler. - * - * @param \Closure $compiler - * @return void - * @static - */ - public static function extend($compiler){ - \Illuminate\View\Compilers\BladeCompiler::extend($compiler); - } - - /** - * Compile the default values for the echo statement. - * - * @param string $value - * @return string - * @static - */ - public static function compileEchoDefaults($value){ - return \Illuminate\View\Compilers\BladeCompiler::compileEchoDefaults($value); - } - - /** - * Get the regular expression for a generic Blade function. - * - * @param string $function - * @return string - * @static - */ - public static function createMatcher($function){ - return \Illuminate\View\Compilers\BladeCompiler::createMatcher($function); - } - - /** - * Get the regular expression for a generic Blade function. - * - * @param string $function - * @return string - * @static - */ - public static function createOpenMatcher($function){ - return \Illuminate\View\Compilers\BladeCompiler::createOpenMatcher($function); - } - - /** - * Create a plain Blade matcher. - * - * @param string $function - * @return string - * @static - */ - public static function createPlainMatcher($function){ - return \Illuminate\View\Compilers\BladeCompiler::createPlainMatcher($function); - } - - /** - * Sets the content tags used for the compiler. - * - * @param string $openTag - * @param string $closeTag - * @param bool $escaped - * @return void - * @static - */ - public static function setContentTags($openTag, $closeTag, $escaped = false){ - \Illuminate\View\Compilers\BladeCompiler::setContentTags($openTag, $closeTag, $escaped); - } - - /** - * Sets the escaped content tags used for the compiler. - * - * @param string $openTag - * @param string $closeTag - * @return void - * @static - */ - public static function setEscapedContentTags($openTag, $closeTag){ - \Illuminate\View\Compilers\BladeCompiler::setEscapedContentTags($openTag, $closeTag); - } - - /** - * Gets the content tags used for the compiler. - * - * @return string - * @static - */ - public static function getContentTags(){ - return \Illuminate\View\Compilers\BladeCompiler::getContentTags(); - } - - /** - * Gets the escaped content tags used for the compiler. - * - * @return string - * @static - */ - public static function getEscapedContentTags(){ - return \Illuminate\View\Compilers\BladeCompiler::getEscapedContentTags(); - } - - /** - * Get the path to the compiled version of a view. - * - * @param string $path - * @return string - * @static - */ - public static function getCompiledPath($path){ - //Method inherited from \Illuminate\View\Compilers\Compiler - return \Illuminate\View\Compilers\BladeCompiler::getCompiledPath($path); - } - - /** - * Determine if the view at the given path is expired. - * - * @param string $path - * @return bool - * @static - */ - public static function isExpired($path){ - //Method inherited from \Illuminate\View\Compilers\Compiler - return \Illuminate\View\Compilers\BladeCompiler::isExpired($path); - } - - } - - - class Cache extends \Illuminate\Support\Facades\Cache{ - - /** - * Get the cache "prefix" value. - * - * @return string - * @static - */ - public static function getPrefix(){ - return \Illuminate\Cache\CacheManager::getPrefix(); - } - - /** - * Set the cache "prefix" value. - * - * @param string $name - * @return void - * @static - */ - public static function setPrefix($name){ - \Illuminate\Cache\CacheManager::setPrefix($name); - } - - /** - * Get the default cache driver name. - * - * @return string - * @static - */ - public static function getDefaultDriver(){ - return \Illuminate\Cache\CacheManager::getDefaultDriver(); - } - - /** - * Set the default cache driver name. - * - * @param string $name - * @return void - * @static - */ - public static function setDefaultDriver($name){ - \Illuminate\Cache\CacheManager::setDefaultDriver($name); - } - - /** - * Get a driver instance. - * - * @param string $driver - * @return mixed - * @static - */ - public static function driver($driver = null){ - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Cache\CacheManager::driver($driver); - } - - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return \Illuminate\Support\Manager|static - * @static - */ - public static function extend($driver, $callback){ - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Cache\CacheManager::extend($driver, $callback); - } - - /** - * Get all of the created "drivers". - * - * @return array - * @static - */ - public static function getDrivers(){ - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Cache\CacheManager::getDrivers(); - } - - /** - * Determine if an item exists in the cache. - * - * @param string $key - * @return bool - * @static - */ - public static function has($key){ - return \Illuminate\Cache\Repository::has($key); - } - - /** - * Retrieve an item from the cache by key. - * - * @param string $key - * @param mixed $default - * @return mixed - * @static - */ - public static function get($key, $default = null){ - return \Illuminate\Cache\Repository::get($key, $default); - } - - /** - * Store an item in the cache. - * - * @param string $key - * @param mixed $value - * @param \DateTime|int $minutes - * @return void - * @static - */ - public static function put($key, $value, $minutes){ - \Illuminate\Cache\Repository::put($key, $value, $minutes); - } - - /** - * Store an item in the cache if the key does not exist. - * - * @param string $key - * @param mixed $value - * @param \DateTime|int $minutes - * @return bool - * @static - */ - public static function add($key, $value, $minutes){ - return \Illuminate\Cache\Repository::add($key, $value, $minutes); - } - - /** - * Get an item from the cache, or store the default value. - * - * @param string $key - * @param \DateTime|int $minutes - * @param \Closure $callback - * @return mixed - * @static - */ - public static function remember($key, $minutes, $callback){ - return \Illuminate\Cache\Repository::remember($key, $minutes, $callback); - } - - /** - * Get an item from the cache, or store the default value forever. - * - * @param string $key - * @param \Closure $callback - * @return mixed - * @static - */ - public static function sear($key, $callback){ - return \Illuminate\Cache\Repository::sear($key, $callback); - } - - /** - * Get an item from the cache, or store the default value forever. - * - * @param string $key - * @param \Closure $callback - * @return mixed - * @static - */ - public static function rememberForever($key, $callback){ - return \Illuminate\Cache\Repository::rememberForever($key, $callback); - } - - /** - * Get the default cache time. - * - * @return int - * @static - */ - public static function getDefaultCacheTime(){ - return \Illuminate\Cache\Repository::getDefaultCacheTime(); - } - - /** - * Set the default cache time in minutes. - * - * @param int $minutes - * @return void - * @static - */ - public static function setDefaultCacheTime($minutes){ - \Illuminate\Cache\Repository::setDefaultCacheTime($minutes); - } - - /** - * Get the cache store implementation. - * - * @return \Illuminate\Cache\FileStore - * @static - */ - public static function getStore(){ - return \Illuminate\Cache\Repository::getStore(); - } - - /** - * Determine if a cached value exists. - * - * @param string $key - * @return bool - * @static - */ - public static function offsetExists($key){ - return \Illuminate\Cache\Repository::offsetExists($key); - } - - /** - * Retrieve an item from the cache by key. - * - * @param string $key - * @return mixed - * @static - */ - public static function offsetGet($key){ - return \Illuminate\Cache\Repository::offsetGet($key); - } - - /** - * Store an item in the cache for the default time. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ - public static function offsetSet($key, $value){ - \Illuminate\Cache\Repository::offsetSet($key, $value); - } - - /** - * Remove an item from the cache. - * - * @param string $key - * @return void - * @static - */ - public static function offsetUnset($key){ - \Illuminate\Cache\Repository::offsetUnset($key); - } - - /** - * Register a macro with the Cache class. - * - * @param string $name - * @param callable $callback - * @return void - * @static - */ - public static function macro($name, $callback){ - \Illuminate\Cache\Repository::macro($name, $callback); - } - - /** - * Increment the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return void - * @throws \LogicException - * @static - */ - public static function increment($key, $value = 1){ - \Illuminate\Cache\FileStore::increment($key, $value); - } - - /** - * Decrement the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return void - * @throws \LogicException - * @static - */ - public static function decrement($key, $value = 1){ - \Illuminate\Cache\FileStore::decrement($key, $value); - } - - /** - * Store an item in the cache indefinitely. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ - public static function forever($key, $value){ - \Illuminate\Cache\FileStore::forever($key, $value); - } - - /** - * Remove an item from the cache. - * - * @param string $key - * @return void - * @static - */ - public static function forget($key){ - \Illuminate\Cache\FileStore::forget($key); - } - - /** - * Remove all items from the cache. - * - * @return void - * @static - */ - public static function flush(){ - \Illuminate\Cache\FileStore::flush(); - } - - /** - * Get the Filesystem instance. - * - * @return \Illuminate\Filesystem\Filesystem - * @static - */ - public static function getFilesystem(){ - return \Illuminate\Cache\FileStore::getFilesystem(); - } - - /** - * Get the working directory of the cache. - * - * @return string - * @static - */ - public static function getDirectory(){ - return \Illuminate\Cache\FileStore::getDirectory(); - } - - } - - - class ClassLoader extends \Illuminate\Support\ClassLoader{ - - } - - - class Config extends \Illuminate\Support\Facades\Config{ - - /** - * Determine if the given configuration value exists. - * - * @param string $key - * @return bool - * @static - */ - public static function has($key){ - return \Illuminate\Config\Repository::has($key); - } - - /** - * Determine if a configuration group exists. - * - * @param string $key - * @return bool - * @static - */ - public static function hasGroup($key){ - return \Illuminate\Config\Repository::hasGroup($key); - } - - /** - * Get the specified configuration value. - * - * @param string $key - * @param mixed $default - * @return mixed - * @static - */ - public static function get($key, $default = null){ - return \Illuminate\Config\Repository::get($key, $default); - } - - /** - * Set a given configuration value. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ - public static function set($key, $value){ - \Illuminate\Config\Repository::set($key, $value); - } - - /** - * Register a package for cascading configuration. - * - * @param string $package - * @param string $hint - * @param string $namespace - * @return void - * @static - */ - public static function package($package, $hint, $namespace = null){ - \Illuminate\Config\Repository::package($package, $hint, $namespace); - } - - /** - * Register an after load callback for a given namespace. - * - * @param string $namespace - * @param \Closure $callback - * @return void - * @static - */ - public static function afterLoading($namespace, $callback){ - \Illuminate\Config\Repository::afterLoading($namespace, $callback); - } - - /** - * Add a new namespace to the loader. - * - * @param string $namespace - * @param string $hint - * @return void - * @static - */ - public static function addNamespace($namespace, $hint){ - \Illuminate\Config\Repository::addNamespace($namespace, $hint); - } - - /** - * Returns all registered namespaces with the config - * loader. - * - * @return array - * @static - */ - public static function getNamespaces(){ - return \Illuminate\Config\Repository::getNamespaces(); - } - - /** - * Get the loader implementation. - * - * @return \Illuminate\Config\LoaderInterface - * @static - */ - public static function getLoader(){ - return \Illuminate\Config\Repository::getLoader(); - } - - /** - * Set the loader implementation. - * - * @param \Illuminate\Config\LoaderInterface $loader - * @return void - * @static - */ - public static function setLoader($loader){ - \Illuminate\Config\Repository::setLoader($loader); - } - - /** - * Get the current configuration environment. - * - * @return string - * @static - */ - public static function getEnvironment(){ - return \Illuminate\Config\Repository::getEnvironment(); - } - - /** - * Get the after load callback array. - * - * @return array - * @static - */ - public static function getAfterLoadCallbacks(){ - return \Illuminate\Config\Repository::getAfterLoadCallbacks(); - } - - /** - * Get all of the configuration items. - * - * @return array - * @static - */ - public static function getItems(){ - return \Illuminate\Config\Repository::getItems(); - } - - /** - * Determine if the given configuration option exists. - * - * @param string $key - * @return bool - * @static - */ - public static function offsetExists($key){ - return \Illuminate\Config\Repository::offsetExists($key); - } - - /** - * Get a configuration option. - * - * @param string $key - * @return mixed - * @static - */ - public static function offsetGet($key){ - return \Illuminate\Config\Repository::offsetGet($key); - } - - /** - * Set a configuration option. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ - public static function offsetSet($key, $value){ - \Illuminate\Config\Repository::offsetSet($key, $value); - } - - /** - * Unset a configuration option. - * - * @param string $key - * @return void - * @static - */ - public static function offsetUnset($key){ - \Illuminate\Config\Repository::offsetUnset($key); - } - - /** - * Parse a key into namespace, group, and item. - * - * @param string $key - * @return array - * @static - */ - public static function parseKey($key){ - //Method inherited from \Illuminate\Support\NamespacedItemResolver - return \Illuminate\Config\Repository::parseKey($key); - } - - /** - * Set the parsed value of a key. - * - * @param string $key - * @param array $parsed - * @return void - * @static - */ - public static function setParsedKey($key, $parsed){ - //Method inherited from \Illuminate\Support\NamespacedItemResolver - \Illuminate\Config\Repository::setParsedKey($key, $parsed); - } - - } - - - class Controller extends \Illuminate\Routing\Controller{ - - } - - - class Cookie extends \Illuminate\Support\Facades\Cookie{ - - /** - * Create a new cookie instance. - * - * @param string $name - * @param string $value - * @param int $minutes - * @param string $path - * @param string $domain - * @param bool $secure - * @param bool $httpOnly - * @return \Symfony\Component\HttpFoundation\Cookie - * @static - */ - public static function make($name, $value, $minutes = 0, $path = null, $domain = null, $secure = false, $httpOnly = true){ - return \Illuminate\Cookie\CookieJar::make($name, $value, $minutes, $path, $domain, $secure, $httpOnly); - } - - /** - * Create a cookie that lasts "forever" (five years). - * - * @param string $name - * @param string $value - * @param string $path - * @param string $domain - * @param bool $secure - * @param bool $httpOnly - * @return \Symfony\Component\HttpFoundation\Cookie - * @static - */ - public static function forever($name, $value, $path = null, $domain = null, $secure = false, $httpOnly = true){ - return \Illuminate\Cookie\CookieJar::forever($name, $value, $path, $domain, $secure, $httpOnly); - } - - /** - * Expire the given cookie. - * - * @param string $name - * @param string $path - * @param string $domain - * @return \Symfony\Component\HttpFoundation\Cookie - * @static - */ - public static function forget($name, $path = null, $domain = null){ - return \Illuminate\Cookie\CookieJar::forget($name, $path, $domain); - } - - /** - * Determine if a cookie has been queued. - * - * @param string $key - * @return bool - * @static - */ - public static function hasQueued($key){ - return \Illuminate\Cookie\CookieJar::hasQueued($key); - } - - /** - * Get a queued cookie instance. - * - * @param string $key - * @param mixed $default - * @return \Symfony\Component\HttpFoundation\Cookie - * @static - */ - public static function queued($key, $default = null){ - return \Illuminate\Cookie\CookieJar::queued($key, $default); - } - - /** - * Queue a cookie to send with the next response. - * - * @param mixed - * @return void - * @static - */ - public static function queue(){ - \Illuminate\Cookie\CookieJar::queue(); - } - - /** - * Remove a cookie from the queue. - * - * @param $cookieName - * @static - */ - public static function unqueue($name){ - return \Illuminate\Cookie\CookieJar::unqueue($name); - } - - /** - * Set the default path and domain for the jar. - * - * @param string $path - * @param string $domain - * @return self - * @static - */ - public static function setDefaultPathAndDomain($path, $domain){ - return \Illuminate\Cookie\CookieJar::setDefaultPathAndDomain($path, $domain); - } - - /** - * Get the cookies which have been queued for the next request - * - * @return array - * @static - */ - public static function getQueuedCookies(){ - return \Illuminate\Cookie\CookieJar::getQueuedCookies(); - } - - } - - - class Crypt extends \Illuminate\Support\Facades\Crypt{ - - /** - * Encrypt the given value. - * - * @param string $value - * @return string - * @static - */ - public static function encrypt($value){ - return \Illuminate\Encryption\Encrypter::encrypt($value); - } - - /** - * Decrypt the given value. - * - * @param string $payload - * @return string - * @static - */ - public static function decrypt($payload){ - return \Illuminate\Encryption\Encrypter::decrypt($payload); - } - - /** - * Set the encryption key. - * - * @param string $key - * @return void - * @static - */ - public static function setKey($key){ - \Illuminate\Encryption\Encrypter::setKey($key); - } - - /** - * Set the encryption cipher. - * - * @param string $cipher - * @return void - * @static - */ - public static function setCipher($cipher){ - \Illuminate\Encryption\Encrypter::setCipher($cipher); - } - - /** - * Set the encryption mode. - * - * @param string $mode - * @return void - * @static - */ - public static function setMode($mode){ - \Illuminate\Encryption\Encrypter::setMode($mode); - } - - } - - - class DB extends \Illuminate\Support\Facades\DB{ - - /** - * Get a database connection instance. - * - * @param string $name - * @return \Illuminate\Database\Connection - * @static - */ - public static function connection($name = null){ - return \Illuminate\Database\DatabaseManager::connection($name); - } - - /** - * Reconnect to the given database. - * - * @param string $name - * @return \Illuminate\Database\Connection - * @static - */ - public static function reconnect($name = null){ - return \Illuminate\Database\DatabaseManager::reconnect($name); - } - - /** - * Disconnect from the given database. - * - * @param string $name - * @return void - * @static - */ - public static function disconnect($name = null){ - \Illuminate\Database\DatabaseManager::disconnect($name); - } - - /** - * Get the default connection name. - * - * @return string - * @static - */ - public static function getDefaultConnection(){ - return \Illuminate\Database\DatabaseManager::getDefaultConnection(); - } - - /** - * Set the default connection name. - * - * @param string $name - * @return void - * @static - */ - public static function setDefaultConnection($name){ - \Illuminate\Database\DatabaseManager::setDefaultConnection($name); - } - - /** - * Register an extension connection resolver. - * - * @param string $name - * @param callable $resolver - * @return void - * @static - */ - public static function extend($name, $resolver){ - \Illuminate\Database\DatabaseManager::extend($name, $resolver); - } - - /** - * Return all of the created connections. - * - * @return array - * @static - */ - public static function getConnections(){ - return \Illuminate\Database\DatabaseManager::getConnections(); - } - - /** - * Get a schema builder instance for the connection. - * - * @return \Illuminate\Database\Schema\MySqlBuilder - * @static - */ - public static function getSchemaBuilder(){ - return \Illuminate\Database\MySqlConnection::getSchemaBuilder(); - } - - /** - * Set the query grammar to the default implementation. - * - * @return void - * @static - */ - public static function useDefaultQueryGrammar(){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::useDefaultQueryGrammar(); - } - - /** - * Set the schema grammar to the default implementation. - * - * @return void - * @static - */ - public static function useDefaultSchemaGrammar(){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::useDefaultSchemaGrammar(); - } - - /** - * Set the query post processor to the default implementation. - * - * @return void - * @static - */ - public static function useDefaultPostProcessor(){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::useDefaultPostProcessor(); - } - - /** - * Begin a fluent query against a database table. - * - * @param string $table - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function table($table){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::table($table); - } - - /** - * Get a new raw query expression. - * - * @param mixed $value - * @return \Illuminate\Database\Query\Expression - * @static - */ - public static function raw($value){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::raw($value); - } - - /** - * Run a select statement and return a single result. - * - * @param string $query - * @param array $bindings - * @return mixed - * @static - */ - public static function selectOne($query, $bindings = array()){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::selectOne($query, $bindings); - } - - /** - * Run a select statement against the database. - * - * @param string $query - * @param array $bindings - * @return array - * @static - */ - public static function select($query, $bindings = array()){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::select($query, $bindings); - } - - /** - * Run an insert statement against the database. - * - * @param string $query - * @param array $bindings - * @return bool - * @static - */ - public static function insert($query, $bindings = array()){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::insert($query, $bindings); - } - - /** - * Run an update statement against the database. - * - * @param string $query - * @param array $bindings - * @return int - * @static - */ - public static function update($query, $bindings = array()){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::update($query, $bindings); - } - - /** - * Run a delete statement against the database. - * - * @param string $query - * @param array $bindings - * @return int - * @static - */ - public static function delete($query, $bindings = array()){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::delete($query, $bindings); - } - - /** - * Execute an SQL statement and return the boolean result. - * - * @param string $query - * @param array $bindings - * @return bool - * @static - */ - public static function statement($query, $bindings = array()){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::statement($query, $bindings); - } - - /** - * Run an SQL statement and get the number of rows affected. - * - * @param string $query - * @param array $bindings - * @return int - * @static - */ - public static function affectingStatement($query, $bindings = array()){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::affectingStatement($query, $bindings); - } - - /** - * Run a raw, unprepared query against the PDO connection. - * - * @param string $query - * @return bool - * @static - */ - public static function unprepared($query){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::unprepared($query); - } - - /** - * Prepare the query bindings for execution. - * - * @param array $bindings - * @return array - * @static - */ - public static function prepareBindings($bindings){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::prepareBindings($bindings); - } - - /** - * Execute a Closure within a transaction. - * - * @param \Closure $callback - * @return mixed - * @throws \Exception - * @static - */ - public static function transaction($callback){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::transaction($callback); - } - - /** - * Start a new database transaction. - * - * @return void - * @static - */ - public static function beginTransaction(){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::beginTransaction(); - } - - /** - * Commit the active database transaction. - * - * @return void - * @static - */ - public static function commit(){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::commit(); - } - - /** - * Rollback the active database transaction. - * - * @return void - * @static - */ - public static function rollBack(){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::rollBack(); - } - - /** - * Execute the given callback in "dry run" mode. - * - * @param \Closure $callback - * @return array - * @static - */ - public static function pretend($callback){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::pretend($callback); - } - - /** - * Log a query in the connection's query log. - * - * @param string $query - * @param array $bindings - * @param $time - * @return void - * @static - */ - public static function logQuery($query, $bindings, $time = null){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::logQuery($query, $bindings, $time); - } - - /** - * Register a database query listener with the connection. - * - * @param \Closure $callback - * @return void - * @static - */ - public static function listen($callback){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::listen($callback); - } - - /** - * Get a Doctrine Schema Column instance. - * - * @param string $table - * @param string $column - * @return \Doctrine\DBAL\Schema\Column - * @static - */ - public static function getDoctrineColumn($table, $column){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getDoctrineColumn($table, $column); - } - - /** - * Get the Doctrine DBAL schema manager for the connection. - * - * @return \Doctrine\DBAL\Schema\AbstractSchemaManager - * @static - */ - public static function getDoctrineSchemaManager(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getDoctrineSchemaManager(); - } - - /** - * Get the Doctrine DBAL database connection instance. - * - * @return \Doctrine\DBAL\Connection - * @static - */ - public static function getDoctrineConnection(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getDoctrineConnection(); - } - - /** - * Get the current PDO connection. - * - * @return \Illuminate\Database\PDO - * @static - */ - public static function getPdo(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getPdo(); - } - - /** - * Get the current PDO connection used for reading. - * - * @return \Illuminate\Database\PDO - * @static - */ - public static function getReadPdo(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getReadPdo(); - } - - /** - * Set the PDO connection. - * - * @param \Illuminate\Database\PDO $pdo - * @return \Illuminate\Database\Connection - * @static - */ - public static function setPdo($pdo){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::setPdo($pdo); - } - - /** - * Set the PDO connection used for reading. - * - * @param \Illuminate\Database\PDO $pdo - * @return \Illuminate\Database\Connection - * @static - */ - public static function setReadPdo($pdo){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::setReadPdo($pdo); - } - - /** - * Get the database connection name. - * - * @return string|null - * @static - */ - public static function getName(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getName(); - } - - /** - * Get an option from the configuration options. - * - * @param string $option - * @return mixed - * @static - */ - public static function getConfig($option){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getConfig($option); - } - - /** - * Get the PDO driver name. - * - * @return string - * @static - */ - public static function getDriverName(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getDriverName(); - } - - /** - * Get the query grammar used by the connection. - * - * @return \Illuminate\Database\Query\Grammars\Grammar - * @static - */ - public static function getQueryGrammar(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getQueryGrammar(); - } - - /** - * Set the query grammar used by the connection. - * - * @param \Illuminate\Database\Query\Grammars\Grammar - * @return void - * @static - */ - public static function setQueryGrammar($grammar){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setQueryGrammar($grammar); - } - - /** - * Get the schema grammar used by the connection. - * - * @return \Illuminate\Database\Query\Grammars\Grammar - * @static - */ - public static function getSchemaGrammar(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getSchemaGrammar(); - } - - /** - * Set the schema grammar used by the connection. - * - * @param \Illuminate\Database\Schema\Grammars\Grammar - * @return void - * @static - */ - public static function setSchemaGrammar($grammar){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setSchemaGrammar($grammar); - } - - /** - * Get the query post processor used by the connection. - * - * @return \Illuminate\Database\Query\Processors\Processor - * @static - */ - public static function getPostProcessor(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getPostProcessor(); - } - - /** - * Set the query post processor used by the connection. - * - * @param \Illuminate\Database\Query\Processors\Processor - * @return void - * @static - */ - public static function setPostProcessor($processor){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setPostProcessor($processor); - } - - /** - * Get the event dispatcher used by the connection. - * - * @return \Illuminate\Events\Dispatcher - * @static - */ - public static function getEventDispatcher(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getEventDispatcher(); - } - - /** - * Set the event dispatcher instance on the connection. - * - * @param \Illuminate\Events\Dispatcher - * @return void - * @static - */ - public static function setEventDispatcher($events){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setEventDispatcher($events); - } - - /** - * Get the paginator environment instance. - * - * @return \Illuminate\Pagination\Environment - * @static - */ - public static function getPaginator(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getPaginator(); - } - - /** - * Set the pagination environment instance. - * - * @param \Illuminate\Pagination\Environment|\Closure $paginator - * @return void - * @static - */ - public static function setPaginator($paginator){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setPaginator($paginator); - } - - /** - * Get the cache manager instance. - * - * @return \Illuminate\Cache\CacheManager - * @static - */ - public static function getCacheManager(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getCacheManager(); - } - - /** - * Set the cache manager instance on the connection. - * - * @param \Illuminate\Cache\CacheManager|\Closure $cache - * @return void - * @static - */ - public static function setCacheManager($cache){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setCacheManager($cache); - } - - /** - * Determine if the connection in a "dry run". - * - * @return bool - * @static - */ - public static function pretending(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::pretending(); - } - - /** - * Get the default fetch mode for the connection. - * - * @return int - * @static - */ - public static function getFetchMode(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getFetchMode(); - } - - /** - * Set the default fetch mode for the connection. - * - * @param int $fetchMode - * @return int - * @static - */ - public static function setFetchMode($fetchMode){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::setFetchMode($fetchMode); - } - - /** - * Get the connection query log. - * - * @return array - * @static - */ - public static function getQueryLog(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getQueryLog(); - } - - /** - * Clear the query log. - * - * @return void - * @static - */ - public static function flushQueryLog(){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::flushQueryLog(); - } - - /** - * Enable the query log on the connection. - * - * @return void - * @static - */ - public static function enableQueryLog(){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::enableQueryLog(); - } - - /** - * Disable the query log on the connection. - * - * @return void - * @static - */ - public static function disableQueryLog(){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::disableQueryLog(); - } - - /** - * Determine whether we're logging queries. - * - * @return bool - * @static - */ - public static function logging(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::logging(); - } - - /** - * Get the name of the connected database. - * - * @return string - * @static - */ - public static function getDatabaseName(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getDatabaseName(); - } - - /** - * Set the name of the connected database. - * - * @param string $database - * @return string - * @static - */ - public static function setDatabaseName($database){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::setDatabaseName($database); - } - - /** - * Get the table prefix for the connection. - * - * @return string - * @static - */ - public static function getTablePrefix(){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getTablePrefix(); - } - - /** - * Set the table prefix in use by the connection. - * - * @param string $prefix - * @return void - * @static - */ - public static function setTablePrefix($prefix){ - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setTablePrefix($prefix); - } - - /** - * Set the table prefix and return the grammar. - * - * @param \Illuminate\Database\Grammar $grammar - * @return \Illuminate\Database\Grammar - * @static - */ - public static function withTablePrefix($grammar){ - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::withTablePrefix($grammar); - } - - } - - - class Eloquent extends \Illuminate\Database\Eloquent\Model{ - - /** - * Find a model by its primary key. - * - * @param array $id - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static - * @static - */ - public static function findMany($id, $columns = array()){ - return \Illuminate\Database\Eloquent\Builder::findMany($id, $columns); - } - - /** - * Execute the query and get the first result. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|static|null - * @static - */ - public static function first($columns = array()){ - return \Illuminate\Database\Eloquent\Builder::first($columns); - } - - /** - * Execute the query and get the first result or throw an exception. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|static - * @throws ModelNotFoundException - * @static - */ - public static function firstOrFail($columns = array()){ - return \Illuminate\Database\Eloquent\Builder::firstOrFail($columns); - } - - /** - * Execute the query as a "select" statement. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Collection|static[] - * @static - */ - public static function get($columns = array()){ - return \Illuminate\Database\Eloquent\Builder::get($columns); - } - - /** - * Pluck a single column from the database. - * - * @param string $column - * @return mixed - * @static - */ - public static function pluck($column){ - return \Illuminate\Database\Eloquent\Builder::pluck($column); - } - - /** - * Chunk the results of the query. - * - * @param int $count - * @param callable $callback - * @return void - * @static - */ - public static function chunk($count, $callback){ - \Illuminate\Database\Eloquent\Builder::chunk($count, $callback); - } - - /** - * Get an array with the values of a given column. - * - * @param string $column - * @param string $key - * @return array - * @static - */ - public static function lists($column, $key = null){ - return \Illuminate\Database\Eloquent\Builder::lists($column, $key); - } - - /** - * Get a paginator for the "select" statement. - * - * @param int $perPage - * @param array $columns - * @return \Illuminate\Pagination\Paginator - * @static - */ - public static function paginate($perPage = null, $columns = array()){ - return \Illuminate\Database\Eloquent\Builder::paginate($perPage, $columns); - } - - /** - * Get the hydrated models without eager loading. - * - * @param array $columns - * @return array|static[] - * @static - */ - public static function getModels($columns = array()){ - return \Illuminate\Database\Eloquent\Builder::getModels($columns); - } - - /** - * Eager load the relationships for the models. - * - * @param array $models - * @return array - * @static - */ - public static function eagerLoadRelations($models){ - return \Illuminate\Database\Eloquent\Builder::eagerLoadRelations($models); - } - - /** - * Add a basic where clause to the query. - * - * @param string $column - * @param string $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function where($column, $operator = null, $value = null, $boolean = 'and'){ - return \Illuminate\Database\Eloquent\Builder::where($column, $operator, $value, $boolean); - } - - /** - * Add an "or where" clause to the query. - * - * @param string $column - * @param string $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function orWhere($column, $operator = null, $value = null){ - return \Illuminate\Database\Eloquent\Builder::orWhere($column, $operator, $value); - } - - /** - * Add a relationship count condition to the query. - * - * @param string $relation - * @param string $operator - * @param int $count - * @param string $boolean - * @param \Closure $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function has($relation, $operator = '>=', $count = 1, $boolean = 'and', $callback = null){ - return \Illuminate\Database\Eloquent\Builder::has($relation, $operator, $count, $boolean, $callback); - } - - /** - * Add a relationship count condition to the query with where clauses. - * - * @param string $relation - * @param \Closure $callback - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function whereHas($relation, $callback, $operator = '>=', $count = 1){ - return \Illuminate\Database\Eloquent\Builder::whereHas($relation, $callback, $operator, $count); - } - - /** - * Add a relationship count condition to the query with an "or". - * - * @param string $relation - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function orHas($relation, $operator = '>=', $count = 1){ - return \Illuminate\Database\Eloquent\Builder::orHas($relation, $operator, $count); - } - - /** - * Add a relationship count condition to the query with where clauses and an "or". - * - * @param string $relation - * @param \Closure $callback - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function orWhereHas($relation, $callback, $operator = '>=', $count = 1){ - return \Illuminate\Database\Eloquent\Builder::orWhereHas($relation, $callback, $operator, $count); - } - - /** - * Get the underlying query builder instance. - * - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function getQuery(){ - return \Illuminate\Database\Eloquent\Builder::getQuery(); - } - - /** - * Set the underlying query builder instance. - * - * @param \Illuminate\Database\Query\Builder $query - * @return void - * @static - */ - public static function setQuery($query){ - \Illuminate\Database\Eloquent\Builder::setQuery($query); - } - - /** - * Get the relationships being eagerly loaded. - * - * @return array - * @static - */ - public static function getEagerLoads(){ - return \Illuminate\Database\Eloquent\Builder::getEagerLoads(); - } - - /** - * Set the relationships being eagerly loaded. - * - * @param array $eagerLoad - * @return void - * @static - */ - public static function setEagerLoads($eagerLoad){ - \Illuminate\Database\Eloquent\Builder::setEagerLoads($eagerLoad); - } - - /** - * Get the model instance being queried. - * - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function getModel(){ - return \Illuminate\Database\Eloquent\Builder::getModel(); - } - - /** - * Set a model instance for the model being queried. - * - * @param \Illuminate\Database\Eloquent\Model $model - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ - public static function setModel($model){ - return \Illuminate\Database\Eloquent\Builder::setModel($model); - } - - /** - * Set the columns to be selected. - * - * @param array $columns - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function select($columns = array()){ - return \Illuminate\Database\Query\Builder::select($columns); - } - - /** - * Add a new "raw" select expression to the query. - * - * @param string $expression - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function selectRaw($expression){ - return \Illuminate\Database\Query\Builder::selectRaw($expression); - } - - /** - * Add a new select column to the query. - * - * @param mixed $column - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function addSelect($column){ - return \Illuminate\Database\Query\Builder::addSelect($column); - } - - /** - * Force the query to only return distinct results. - * - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function distinct(){ - return \Illuminate\Database\Query\Builder::distinct(); - } - - /** - * Set the table which the query is targeting. - * - * @param string $table - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function from($table){ - return \Illuminate\Database\Query\Builder::from($table); - } - - /** - * Add a join clause to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $two - * @param string $type - * @param bool $where - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function join($table, $one, $operator = null, $two = null, $type = 'inner', $where = false){ - return \Illuminate\Database\Query\Builder::join($table, $one, $operator, $two, $type, $where); - } - - /** - * Add a "join where" clause to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $two - * @param string $type - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function joinWhere($table, $one, $operator, $two, $type = 'inner'){ - return \Illuminate\Database\Query\Builder::joinWhere($table, $one, $operator, $two, $type); - } - - /** - * Add a left join to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $second - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function leftJoin($table, $first, $operator = null, $second = null){ - return \Illuminate\Database\Query\Builder::leftJoin($table, $first, $operator, $second); - } - - /** - * Add a "join where" clause to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $two - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function leftJoinWhere($table, $one, $operator, $two){ - return \Illuminate\Database\Query\Builder::leftJoinWhere($table, $one, $operator, $two); - } - - /** - * Add a raw where clause to the query. - * - * @param string $sql - * @param array $bindings - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereRaw($sql, $bindings = array(), $boolean = 'and'){ - return \Illuminate\Database\Query\Builder::whereRaw($sql, $bindings, $boolean); - } - - /** - * Add a raw or where clause to the query. - * - * @param string $sql - * @param array $bindings - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereRaw($sql, $bindings = array()){ - return \Illuminate\Database\Query\Builder::orWhereRaw($sql, $bindings); - } - - /** - * Add a where between statement to the query. - * - * @param string $column - * @param array $values - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereBetween($column, $values, $boolean = 'and', $not = false){ - return \Illuminate\Database\Query\Builder::whereBetween($column, $values, $boolean, $not); - } - - /** - * Add an or where between statement to the query. - * - * @param string $column - * @param array $values - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereBetween($column, $values){ - return \Illuminate\Database\Query\Builder::orWhereBetween($column, $values); - } - - /** - * Add a where not between statement to the query. - * - * @param string $column - * @param array $values - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNotBetween($column, $values, $boolean = 'and'){ - return \Illuminate\Database\Query\Builder::whereNotBetween($column, $values, $boolean); - } - - /** - * Add an or where not between statement to the query. - * - * @param string $column - * @param array $values - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereNotBetween($column, $values){ - return \Illuminate\Database\Query\Builder::orWhereNotBetween($column, $values); - } - - /** - * Add a nested where statement to the query. - * - * @param \Closure $callback - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNested($callback, $boolean = 'and'){ - return \Illuminate\Database\Query\Builder::whereNested($callback, $boolean); - } - - /** - * Add another query builder as a nested where to the query builder. - * - * @param \Illuminate\Database\Query\Builder|static $query - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function addNestedWhereQuery($query, $boolean = 'and'){ - return \Illuminate\Database\Query\Builder::addNestedWhereQuery($query, $boolean); - } - - /** - * Add an exists clause to the query. - * - * @param \Closure $callback - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereExists($callback, $boolean = 'and', $not = false){ - return \Illuminate\Database\Query\Builder::whereExists($callback, $boolean, $not); - } - - /** - * Add an or exists clause to the query. - * - * @param \Closure $callback - * @param bool $not - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereExists($callback, $not = false){ - return \Illuminate\Database\Query\Builder::orWhereExists($callback, $not); - } - - /** - * Add a where not exists clause to the query. - * - * @param \Closure $callback - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNotExists($callback, $boolean = 'and'){ - return \Illuminate\Database\Query\Builder::whereNotExists($callback, $boolean); - } - - /** - * Add a where not exists clause to the query. - * - * @param \Closure $callback - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereNotExists($callback){ - return \Illuminate\Database\Query\Builder::orWhereNotExists($callback); - } - - /** - * Add a "where in" clause to the query. - * - * @param string $column - * @param mixed $values - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereIn($column, $values, $boolean = 'and', $not = false){ - return \Illuminate\Database\Query\Builder::whereIn($column, $values, $boolean, $not); - } - - /** - * Add an "or where in" clause to the query. - * - * @param string $column - * @param mixed $values - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereIn($column, $values){ - return \Illuminate\Database\Query\Builder::orWhereIn($column, $values); - } - - /** - * Add a "where not in" clause to the query. - * - * @param string $column - * @param mixed $values - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNotIn($column, $values, $boolean = 'and'){ - return \Illuminate\Database\Query\Builder::whereNotIn($column, $values, $boolean); - } - - /** - * Add an "or where not in" clause to the query. - * - * @param string $column - * @param mixed $values - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereNotIn($column, $values){ - return \Illuminate\Database\Query\Builder::orWhereNotIn($column, $values); - } - - /** - * Add a "where null" clause to the query. - * - * @param string $column - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNull($column, $boolean = 'and', $not = false){ - return \Illuminate\Database\Query\Builder::whereNull($column, $boolean, $not); - } - - /** - * Add an "or where null" clause to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereNull($column){ - return \Illuminate\Database\Query\Builder::orWhereNull($column); - } - - /** - * Add a "where not null" clause to the query. - * - * @param string $column - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNotNull($column, $boolean = 'and'){ - return \Illuminate\Database\Query\Builder::whereNotNull($column, $boolean); - } - - /** - * Add an "or where not null" clause to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereNotNull($column){ - return \Illuminate\Database\Query\Builder::orWhereNotNull($column); - } - - /** - * Add a "where day" statement to the query. - * - * @param string $column - * @param string $operator - * @param int $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereDay($column, $operator, $value, $boolean = 'and'){ - return \Illuminate\Database\Query\Builder::whereDay($column, $operator, $value, $boolean); - } - - /** - * Add a "where month" statement to the query. - * - * @param string $column - * @param string $operator - * @param int $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereMonth($column, $operator, $value, $boolean = 'and'){ - return \Illuminate\Database\Query\Builder::whereMonth($column, $operator, $value, $boolean); - } - - /** - * Add a "where year" statement to the query. - * - * @param string $column - * @param string $operator - * @param int $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereYear($column, $operator, $value, $boolean = 'and'){ - return \Illuminate\Database\Query\Builder::whereYear($column, $operator, $value, $boolean); - } - - /** - * Handles dynamic "where" clauses to the query. - * - * @param string $method - * @param string $parameters - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function dynamicWhere($method, $parameters){ - return \Illuminate\Database\Query\Builder::dynamicWhere($method, $parameters); - } - - /** - * Add a "group by" clause to the query. - * - * @param mixed $columns - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function groupBy(){ - return \Illuminate\Database\Query\Builder::groupBy(); - } - - /** - * Add a "having" clause to the query. - * - * @param string $column - * @param string $operator - * @param string $value - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function having($column, $operator = null, $value = null){ - return \Illuminate\Database\Query\Builder::having($column, $operator, $value); - } - - /** - * Add a raw having clause to the query. - * - * @param string $sql - * @param array $bindings - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function havingRaw($sql, $bindings = array(), $boolean = 'and'){ - return \Illuminate\Database\Query\Builder::havingRaw($sql, $bindings, $boolean); - } - - /** - * Add a raw or having clause to the query. - * - * @param string $sql - * @param array $bindings - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orHavingRaw($sql, $bindings = array()){ - return \Illuminate\Database\Query\Builder::orHavingRaw($sql, $bindings); - } - - /** - * Add an "order by" clause to the query. - * - * @param string $column - * @param string $direction - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orderBy($column, $direction = 'asc'){ - return \Illuminate\Database\Query\Builder::orderBy($column, $direction); - } - - /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function latest($column = 'created_at'){ - return \Illuminate\Database\Query\Builder::latest($column); - } - - /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function oldest($column = 'created_at'){ - return \Illuminate\Database\Query\Builder::oldest($column); - } - - /** - * Add a raw "order by" clause to the query. - * - * @param string $sql - * @param array $bindings - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orderByRaw($sql, $bindings = array()){ - return \Illuminate\Database\Query\Builder::orderByRaw($sql, $bindings); - } - - /** - * Set the "offset" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function offset($value){ - return \Illuminate\Database\Query\Builder::offset($value); - } - - /** - * Alias to set the "offset" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function skip($value){ - return \Illuminate\Database\Query\Builder::skip($value); - } - - /** - * Set the "limit" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function limit($value){ - return \Illuminate\Database\Query\Builder::limit($value); - } - - /** - * Alias to set the "limit" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function take($value){ - return \Illuminate\Database\Query\Builder::take($value); - } - - /** - * Set the limit and offset for a given page. - * - * @param int $page - * @param int $perPage - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function forPage($page, $perPage = 15){ - return \Illuminate\Database\Query\Builder::forPage($page, $perPage); - } - - /** - * Add a union statement to the query. - * - * @param \Illuminate\Database\Query\Builder|\Closure $query - * @param bool $all - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function union($query, $all = false){ - return \Illuminate\Database\Query\Builder::union($query, $all); - } - - /** - * Add a union all statement to the query. - * - * @param \Illuminate\Database\Query\Builder|\Closure $query - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function unionAll($query){ - return \Illuminate\Database\Query\Builder::unionAll($query); - } - - /** - * Lock the selected rows in the table. - * - * @param bool $update - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function lock($value = true){ - return \Illuminate\Database\Query\Builder::lock($value); - } - - /** - * Lock the selected rows in the table for updating. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function lockForUpdate(){ - return \Illuminate\Database\Query\Builder::lockForUpdate(); - } - - /** - * Share lock the selected rows in the table. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function sharedLock(){ - return \Illuminate\Database\Query\Builder::sharedLock(); - } - - /** - * Get the SQL representation of the query. - * - * @return string - * @static - */ - public static function toSql(){ - return \Illuminate\Database\Query\Builder::toSql(); - } - - /** - * Indicate that the query results should be cached. - * - * @param \DateTime|int $minutes - * @param string $key - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function remember($minutes, $key = null){ - return \Illuminate\Database\Query\Builder::remember($minutes, $key); - } - - /** - * Indicate that the query results should be cached forever. - * - * @param string $key - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function rememberForever($key = null){ - return \Illuminate\Database\Query\Builder::rememberForever($key); - } - - /** - * Indicate that the results, if cached, should use the given cache tags. - * - * @param array|mixed $cacheTags - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function cacheTags($cacheTags){ - return \Illuminate\Database\Query\Builder::cacheTags($cacheTags); - } - - /** - * Indicate that the results, if cached, should use the given cache driver. - * - * @param string $cacheDriver - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function cacheDriver($cacheDriver){ - return \Illuminate\Database\Query\Builder::cacheDriver($cacheDriver); - } - - /** - * Execute the query as a fresh "select" statement. - * - * @param array $columns - * @return array|static[] - * @static - */ - public static function getFresh($columns = array()){ - return \Illuminate\Database\Query\Builder::getFresh($columns); - } - - /** - * Execute the query as a cached "select" statement. - * - * @param array $columns - * @return array - * @static - */ - public static function getCached($columns = array()){ - return \Illuminate\Database\Query\Builder::getCached($columns); - } - - /** - * Get a unique cache key for the complete query. - * - * @return string - * @static - */ - public static function getCacheKey(){ - return \Illuminate\Database\Query\Builder::getCacheKey(); - } - - /** - * Generate the unique cache key for the query. - * - * @return string - * @static - */ - public static function generateCacheKey(){ - return \Illuminate\Database\Query\Builder::generateCacheKey(); - } - - /** - * Concatenate values of a given column as a string. - * - * @param string $column - * @param string $glue - * @return string - * @static - */ - public static function implode($column, $glue = null){ - return \Illuminate\Database\Query\Builder::implode($column, $glue); - } - - /** - * Build a paginator instance from a raw result array. - * - * @param \Illuminate\Pagination\Environment $paginator - * @param array $results - * @param int $perPage - * @return \Illuminate\Pagination\Paginator - * @static - */ - public static function buildRawPaginator($paginator, $results, $perPage){ - return \Illuminate\Database\Query\Builder::buildRawPaginator($paginator, $results, $perPage); - } - - /** - * Get the count of the total records for pagination. - * - * @return int - * @static - */ - public static function getPaginationCount(){ - return \Illuminate\Database\Query\Builder::getPaginationCount(); - } - - /** - * Determine if any rows exist for the current query. - * - * @return bool - * @static - */ - public static function exists(){ - return \Illuminate\Database\Query\Builder::exists(); - } - - /** - * Retrieve the "count" result of the query. - * - * @param string $column - * @return int - * @static - */ - public static function count($column = '*'){ - return \Illuminate\Database\Query\Builder::count($column); - } - - /** - * Retrieve the minimum value of a given column. - * - * @param string $column - * @return mixed - * @static - */ - public static function min($column){ - return \Illuminate\Database\Query\Builder::min($column); - } - - /** - * Retrieve the maximum value of a given column. - * - * @param string $column - * @return mixed - * @static - */ - public static function max($column){ - return \Illuminate\Database\Query\Builder::max($column); - } - - /** - * Retrieve the sum of the values of a given column. - * - * @param string $column - * @return mixed - * @static - */ - public static function sum($column){ - return \Illuminate\Database\Query\Builder::sum($column); - } - - /** - * Retrieve the average of the values of a given column. - * - * @param string $column - * @return mixed - * @static - */ - public static function avg($column){ - return \Illuminate\Database\Query\Builder::avg($column); - } - - /** - * Execute an aggregate function on the database. - * - * @param string $function - * @param array $columns - * @return mixed - * @static - */ - public static function aggregate($function, $columns = array()){ - return \Illuminate\Database\Query\Builder::aggregate($function, $columns); - } - - /** - * Insert a new record into the database. - * - * @param array $values - * @return bool - * @static - */ - public static function insert($values){ - return \Illuminate\Database\Query\Builder::insert($values); - } - - /** - * Insert a new record and get the value of the primary key. - * - * @param array $values - * @param string $sequence - * @return int - * @static - */ - public static function insertGetId($values, $sequence = null){ - return \Illuminate\Database\Query\Builder::insertGetId($values, $sequence); - } - - /** - * Run a truncate statement on the table. - * - * @return void - * @static - */ - public static function truncate(){ - \Illuminate\Database\Query\Builder::truncate(); - } - - /** - * Merge an array of where clauses and bindings. - * - * @param array $wheres - * @param array $bindings - * @return void - * @static - */ - public static function mergeWheres($wheres, $bindings){ - \Illuminate\Database\Query\Builder::mergeWheres($wheres, $bindings); - } - - /** - * Create a raw database expression. - * - * @param mixed $value - * @return \Illuminate\Database\Query\Expression - * @static - */ - public static function raw($value){ - return \Illuminate\Database\Query\Builder::raw($value); - } - - /** - * Get the current query value bindings. - * - * @return array - * @static - */ - public static function getBindings(){ - return \Illuminate\Database\Query\Builder::getBindings(); - } - - /** - * Set the bindings on the query builder. - * - * @param array $bindings - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function setBindings($bindings){ - return \Illuminate\Database\Query\Builder::setBindings($bindings); - } - - /** - * Add a binding to the query. - * - * @param mixed $value - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function addBinding($value){ - return \Illuminate\Database\Query\Builder::addBinding($value); - } - - /** - * Merge an array of bindings into our bindings. - * - * @param \Illuminate\Database\Query\Builder $query - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function mergeBindings($query){ - return \Illuminate\Database\Query\Builder::mergeBindings($query); - } - - /** - * Get the database query processor instance. - * - * @return \Illuminate\Database\Query\Processors\Processor - * @static - */ - public static function getProcessor(){ - return \Illuminate\Database\Query\Builder::getProcessor(); - } - - /** - * Get the query grammar instance. - * - * @return \Illuminate\Database\Grammar - * @static - */ - public static function getGrammar(){ - return \Illuminate\Database\Query\Builder::getGrammar(); - } - - } - - - class Event extends \Illuminate\Support\Facades\Event{ - - /** - * Register an event listener with the dispatcher. - * - * @param string|array $event - * @param mixed $listener - * @param int $priority - * @return void - * @static - */ - public static function listen($events, $listener, $priority = 0){ - \Illuminate\Events\Dispatcher::listen($events, $listener, $priority); - } - - /** - * Determine if a given event has listeners. - * - * @param string $eventName - * @return bool - * @static - */ - public static function hasListeners($eventName){ - return \Illuminate\Events\Dispatcher::hasListeners($eventName); - } - - /** - * Register a queued event and payload. - * - * @param string $event - * @param array $payload - * @return void - * @static - */ - public static function queue($event, $payload = array()){ - \Illuminate\Events\Dispatcher::queue($event, $payload); - } - - /** - * Register an event subscriber with the dispatcher. - * - * @param string $subscriber - * @return void - * @static - */ - public static function subscribe($subscriber){ - \Illuminate\Events\Dispatcher::subscribe($subscriber); - } - - /** - * Fire an event until the first non-null response is returned. - * - * @param string $event - * @param array $payload - * @return mixed - * @static - */ - public static function until($event, $payload = array()){ - return \Illuminate\Events\Dispatcher::until($event, $payload); - } - - /** - * Flush a set of queued events. - * - * @param string $event - * @return void - * @static - */ - public static function flush($event){ - \Illuminate\Events\Dispatcher::flush($event); - } - - /** - * Get the event that is currently firing. - * - * @return string - * @static - */ - public static function firing(){ - return \Illuminate\Events\Dispatcher::firing(); - } - - /** - * Fire an event and call the listeners. - * - * @param string $event - * @param mixed $payload - * @param bool $halt - * @return array|null - * @static - */ - public static function fire($event, $payload = array(), $halt = false){ - return \Illuminate\Events\Dispatcher::fire($event, $payload, $halt); - } - - /** - * Get all of the listeners for a given event name. - * - * @param string $eventName - * @return array - * @static - */ - public static function getListeners($eventName){ - return \Illuminate\Events\Dispatcher::getListeners($eventName); - } - - /** - * Register an event listener with the dispatcher. - * - * @param mixed $listener - * @return mixed - * @static - */ - public static function makeListener($listener){ - return \Illuminate\Events\Dispatcher::makeListener($listener); - } - - /** - * Create a class based listener using the IoC container. - * - * @param mixed $listener - * @return \Closure - * @static - */ - public static function createClassListener($listener){ - return \Illuminate\Events\Dispatcher::createClassListener($listener); - } - - /** - * Remove a set of listeners from the dispatcher. - * - * @param string $event - * @return void - * @static - */ - public static function forget($event){ - \Illuminate\Events\Dispatcher::forget($event); - } - - } - - - class File extends \Illuminate\Support\Facades\File{ - - /** - * Determine if a file exists. - * - * @param string $path - * @return bool - * @static - */ - public static function exists($path){ - return \Illuminate\Filesystem\Filesystem::exists($path); - } - - /** - * Get the contents of a file. - * - * @param string $path - * @return string - * @throws FileNotFoundException - * @static - */ - public static function get($path){ - return \Illuminate\Filesystem\Filesystem::get($path); - } - - /** - * Get the returned value of a file. - * - * @param string $path - * @return mixed - * @throws FileNotFoundException - * @static - */ - public static function getRequire($path){ - return \Illuminate\Filesystem\Filesystem::getRequire($path); - } - - /** - * Require the given file once. - * - * @param string $file - * @return mixed - * @static - */ - public static function requireOnce($file){ - return \Illuminate\Filesystem\Filesystem::requireOnce($file); - } - - /** - * Write the contents of a file. - * - * @param string $path - * @param string $contents - * @return int - * @static - */ - public static function put($path, $contents){ - return \Illuminate\Filesystem\Filesystem::put($path, $contents); - } - - /** - * Prepend to a file. - * - * @param string $path - * @param string $data - * @return int - * @static - */ - public static function prepend($path, $data){ - return \Illuminate\Filesystem\Filesystem::prepend($path, $data); - } - - /** - * Append to a file. - * - * @param string $path - * @param string $data - * @return int - * @static - */ - public static function append($path, $data){ - return \Illuminate\Filesystem\Filesystem::append($path, $data); - } - - /** - * Delete the file at a given path. - * - * @param string|array $paths - * @return bool - * @static - */ - public static function delete($paths){ - return \Illuminate\Filesystem\Filesystem::delete($paths); - } - - /** - * Move a file to a new location. - * - * @param string $path - * @param string $target - * @return bool - * @static - */ - public static function move($path, $target){ - return \Illuminate\Filesystem\Filesystem::move($path, $target); - } - - /** - * Copy a file to a new location. - * - * @param string $path - * @param string $target - * @return bool - * @static - */ - public static function copy($path, $target){ - return \Illuminate\Filesystem\Filesystem::copy($path, $target); - } - - /** - * Extract the file extension from a file path. - * - * @param string $path - * @return string - * @static - */ - public static function extension($path){ - return \Illuminate\Filesystem\Filesystem::extension($path); - } - - /** - * Get the file type of a given file. - * - * @param string $path - * @return string - * @static - */ - public static function type($path){ - return \Illuminate\Filesystem\Filesystem::type($path); - } - - /** - * Get the file size of a given file. - * - * @param string $path - * @return int - * @static - */ - public static function size($path){ - return \Illuminate\Filesystem\Filesystem::size($path); - } - - /** - * Get the file's last modification time. - * - * @param string $path - * @return int - * @static - */ - public static function lastModified($path){ - return \Illuminate\Filesystem\Filesystem::lastModified($path); - } - - /** - * Determine if the given path is a directory. - * - * @param string $directory - * @return bool - * @static - */ - public static function isDirectory($directory){ - return \Illuminate\Filesystem\Filesystem::isDirectory($directory); - } - - /** - * Determine if the given path is writable. - * - * @param string $path - * @return bool - * @static - */ - public static function isWritable($path){ - return \Illuminate\Filesystem\Filesystem::isWritable($path); - } - - /** - * Determine if the given path is a file. - * - * @param string $file - * @return bool - * @static - */ - public static function isFile($file){ - return \Illuminate\Filesystem\Filesystem::isFile($file); - } - - /** - * Find path names matching a given pattern. - * - * @param string $pattern - * @param int $flags - * @return array - * @static - */ - public static function glob($pattern, $flags = 0){ - return \Illuminate\Filesystem\Filesystem::glob($pattern, $flags); - } - - /** - * Get an array of all files in a directory. - * - * @param string $directory - * @return array - * @static - */ - public static function files($directory){ - return \Illuminate\Filesystem\Filesystem::files($directory); - } - - /** - * Get all of the files from the given directory (recursive). - * - * @param string $directory - * @return array - * @static - */ - public static function allFiles($directory){ - return \Illuminate\Filesystem\Filesystem::allFiles($directory); - } - - /** - * Get all of the directories within a given directory. - * - * @param string $directory - * @return array - * @static - */ - public static function directories($directory){ - return \Illuminate\Filesystem\Filesystem::directories($directory); - } - - /** - * Create a directory. - * - * @param string $path - * @param int $mode - * @param bool $recursive - * @param bool $force - * @return bool - * @static - */ - public static function makeDirectory($path, $mode = 511, $recursive = false, $force = false){ - return \Illuminate\Filesystem\Filesystem::makeDirectory($path, $mode, $recursive, $force); - } - - /** - * Copy a directory from one location to another. - * - * @param string $directory - * @param string $destination - * @param int $options - * @return bool - * @static - */ - public static function copyDirectory($directory, $destination, $options = null){ - return \Illuminate\Filesystem\Filesystem::copyDirectory($directory, $destination, $options); - } - - /** - * Recursively delete a directory. - * - * The directory itself may be optionally preserved. - * - * @param string $directory - * @param bool $preserve - * @return bool - * @static - */ - public static function deleteDirectory($directory, $preserve = false){ - return \Illuminate\Filesystem\Filesystem::deleteDirectory($directory, $preserve); - } - - /** - * Empty the specified directory of all files and folders. - * - * @param string $directory - * @return bool - * @static - */ - public static function cleanDirectory($directory){ - return \Illuminate\Filesystem\Filesystem::cleanDirectory($directory); - } - - } - - - class Hash extends \Illuminate\Support\Facades\Hash{ - - /** - * Hash the given value. - * - * @param string $value - * @param array $options - * @return string - * @throws \RuntimeException - * @static - */ - public static function make($value, $options = array()){ - return \Illuminate\Hashing\BcryptHasher::make($value, $options); - } - - /** - * Check the given plain value against a hash. - * - * @param string $value - * @param string $hashedValue - * @param array $options - * @return bool - * @static - */ - public static function check($value, $hashedValue, $options = array()){ - return \Illuminate\Hashing\BcryptHasher::check($value, $hashedValue, $options); - } - - /** - * Check if the given hash has been hashed using the given options. - * - * @param string $hashedValue - * @param array $options - * @return bool - * @static - */ - public static function needsRehash($hashedValue, $options = array()){ - return \Illuminate\Hashing\BcryptHasher::needsRehash($hashedValue, $options); - } - - } - - - class HTML extends \Illuminate\Support\Facades\HTML{ - - /** - * Register a custom HTML macro. - * - * @param string $name - * @param callable $macro - * @return void - * @static - */ - public static function macro($name, $macro){ - \Illuminate\Html\HtmlBuilder::macro($name, $macro); - } - - /** - * Convert an HTML string to entities. - * - * @param string $value - * @return string - * @static - */ - public static function entities($value){ - return \Illuminate\Html\HtmlBuilder::entities($value); - } - - /** - * Convert entities to HTML characters. - * - * @param string $value - * @return string - * @static - */ - public static function decode($value){ - return \Illuminate\Html\HtmlBuilder::decode($value); - } - - /** - * Generate a link to a JavaScript file. - * - * @param string $url - * @param array $attributes - * @param bool $secure - * @return string - * @static - */ - public static function script($url, $attributes = array(), $secure = null){ - return \Illuminate\Html\HtmlBuilder::script($url, $attributes, $secure); - } - - /** - * Generate a link to a CSS file. - * - * @param string $url - * @param array $attributes - * @param bool $secure - * @return string - * @static - */ - public static function style($url, $attributes = array(), $secure = null){ - return \Illuminate\Html\HtmlBuilder::style($url, $attributes, $secure); - } - - /** - * Generate an HTML image element. - * - * @param string $url - * @param string $alt - * @param array $attributes - * @param bool $secure - * @return string - * @static - */ - public static function image($url, $alt = null, $attributes = array(), $secure = null){ - return \Illuminate\Html\HtmlBuilder::image($url, $alt, $attributes, $secure); - } - - /** - * Generate a HTML link. - * - * @param string $url - * @param string $title - * @param array $attributes - * @param bool $secure - * @return string - * @static - */ - public static function link($url, $title = null, $attributes = array(), $secure = null){ - return \Illuminate\Html\HtmlBuilder::link($url, $title, $attributes, $secure); - } - - /** - * Generate a HTTPS HTML link. - * - * @param string $url - * @param string $title - * @param array $attributes - * @return string - * @static - */ - public static function secureLink($url, $title = null, $attributes = array()){ - return \Illuminate\Html\HtmlBuilder::secureLink($url, $title, $attributes); - } - - /** - * Generate a HTML link to an asset. - * - * @param string $url - * @param string $title - * @param array $attributes - * @param bool $secure - * @return string - * @static - */ - public static function linkAsset($url, $title = null, $attributes = array(), $secure = null){ - return \Illuminate\Html\HtmlBuilder::linkAsset($url, $title, $attributes, $secure); - } - - /** - * Generate a HTTPS HTML link to an asset. - * - * @param string $url - * @param string $title - * @param array $attributes - * @return string - * @static - */ - public static function linkSecureAsset($url, $title = null, $attributes = array()){ - return \Illuminate\Html\HtmlBuilder::linkSecureAsset($url, $title, $attributes); - } - - /** - * Generate a HTML link to a named route. - * - * @param string $name - * @param string $title - * @param array $parameters - * @param array $attributes - * @return string - * @static - */ - public static function linkRoute($name, $title = null, $parameters = array(), $attributes = array()){ - return \Illuminate\Html\HtmlBuilder::linkRoute($name, $title, $parameters, $attributes); - } - - /** - * Generate a HTML link to a controller action. - * - * @param string $action - * @param string $title - * @param array $parameters - * @param array $attributes - * @return string - * @static - */ - public static function linkAction($action, $title = null, $parameters = array(), $attributes = array()){ - return \Illuminate\Html\HtmlBuilder::linkAction($action, $title, $parameters, $attributes); - } - - /** - * Generate a HTML link to an email address. - * - * @param string $email - * @param string $title - * @param array $attributes - * @return string - * @static - */ - public static function mailto($email, $title = null, $attributes = array()){ - return \Illuminate\Html\HtmlBuilder::mailto($email, $title, $attributes); - } - - /** - * Obfuscate an e-mail address to prevent spam-bots from sniffing it. - * - * @param string $email - * @return string - * @static - */ - public static function email($email){ - return \Illuminate\Html\HtmlBuilder::email($email); - } - - /** - * Generate an ordered list of items. - * - * @param array $list - * @param array $attributes - * @return string - * @static - */ - public static function ol($list, $attributes = array()){ - return \Illuminate\Html\HtmlBuilder::ol($list, $attributes); - } - - /** - * Generate an un-ordered list of items. - * - * @param array $list - * @param array $attributes - * @return string - * @static - */ - public static function ul($list, $attributes = array()){ - return \Illuminate\Html\HtmlBuilder::ul($list, $attributes); - } - - /** - * Build an HTML attribute string from an array. - * - * @param array $attributes - * @return string - * @static - */ - public static function attributes($attributes){ - return \Illuminate\Html\HtmlBuilder::attributes($attributes); - } - - /** - * Obfuscate a string to prevent spam-bots from sniffing it. - * - * @param string $value - * @return string - * @static - */ - public static function obfuscate($value){ - return \Illuminate\Html\HtmlBuilder::obfuscate($value); - } - - } - - - class Input extends \Illuminate\Support\Facades\Input{ - - /** - * Return the Request instance. - * - * @return \Illuminate\Http\Request - * @static - */ - public static function instance(){ - return \Illuminate\Http\Request::instance(); - } - - /** - * Get the request method. - * - * @return string - * @static - */ - public static function method(){ - return \Illuminate\Http\Request::method(); - } - - /** - * Get the root URL for the application. - * - * @return string - * @static - */ - public static function root(){ - return \Illuminate\Http\Request::root(); - } - - /** - * Get the URL (no query string) for the request. - * - * @return string - * @static - */ - public static function url(){ - return \Illuminate\Http\Request::url(); - } - - /** - * Get the full URL for the request. - * - * @return string - * @static - */ - public static function fullUrl(){ - return \Illuminate\Http\Request::fullUrl(); - } - - /** - * Get the current path info for the request. - * - * @return string - * @static - */ - public static function path(){ - return \Illuminate\Http\Request::path(); - } - - /** - * Get the current encoded path info for the request. - * - * @return string - * @static - */ - public static function decodedPath(){ - return \Illuminate\Http\Request::decodedPath(); - } - - /** - * Get a segment from the URI (1 based index). - * - * @param string $index - * @param mixed $default - * @return string - * @static - */ - public static function segment($index, $default = null){ - return \Illuminate\Http\Request::segment($index, $default); - } - - /** - * Get all of the segments for the request path. - * - * @return array - * @static - */ - public static function segments(){ - return \Illuminate\Http\Request::segments(); - } - - /** - * Determine if the current request URI matches a pattern. - * - * @param mixed string - * @return bool - * @static - */ - public static function is(){ - return \Illuminate\Http\Request::is(); - } - - /** - * Determine if the request is the result of an AJAX call. - * - * @return bool - * @static - */ - public static function ajax(){ - return \Illuminate\Http\Request::ajax(); - } - - /** - * Determine if the request is over HTTPS. - * - * @return bool - * @static - */ - public static function secure(){ - return \Illuminate\Http\Request::secure(); - } - - /** - * Determine if the request contains a given input item. - * - * @param string|array $key - * @return bool - * @static - */ - public static function has($key){ - return \Illuminate\Http\Request::has($key); - } - - /** - * Get all of the input and files for the request. - * - * @return array - * @static - */ - public static function all(){ - return \Illuminate\Http\Request::all(); - } - - /** - * Retrieve an input item from the request. - * - * @param string $key - * @param mixed $default - * @return string - * @static - */ - public static function input($key = null, $default = null){ - return \Illuminate\Http\Request::input($key, $default); - } - - /** - * Get a subset of the items from the input data. - * - * @param array $keys - * @return array - * @static - */ - public static function only($keys){ - return \Illuminate\Http\Request::only($keys); - } - - /** - * Get all of the input except for a specified array of items. - * - * @param array $keys - * @return array - * @static - */ - public static function except($keys){ - return \Illuminate\Http\Request::except($keys); - } - - /** - * Retrieve a query string item from the request. - * - * @param string $key - * @param mixed $default - * @return string - * @static - */ - public static function query($key = null, $default = null){ - return \Illuminate\Http\Request::query($key, $default); - } - - /** - * Determine if a cookie is set on the request. - * - * @param string $key - * @return bool - * @static - */ - public static function hasCookie($key){ - return \Illuminate\Http\Request::hasCookie($key); - } - - /** - * Retrieve a cookie from the request. - * - * @param string $key - * @param mixed $default - * @return string - * @static - */ - public static function cookie($key = null, $default = null){ - return \Illuminate\Http\Request::cookie($key, $default); - } - - /** - * Retrieve a file from the request. - * - * @param string $key - * @param mixed $default - * @return \Symfony\Component\HttpFoundation\File\UploadedFile|array - * @static - */ - public static function file($key = null, $default = null){ - return \Illuminate\Http\Request::file($key, $default); - } - - /** - * Determine if the uploaded data contains a file. - * - * @param string $key - * @return bool - * @static - */ - public static function hasFile($key){ - return \Illuminate\Http\Request::hasFile($key); - } - - /** - * Retrieve a header from the request. - * - * @param string $key - * @param mixed $default - * @return string - * @static - */ - public static function header($key = null, $default = null){ - return \Illuminate\Http\Request::header($key, $default); - } - - /** - * Retrieve a server variable from the request. - * - * @param string $key - * @param mixed $default - * @return string - * @static - */ - public static function server($key = null, $default = null){ - return \Illuminate\Http\Request::server($key, $default); - } - - /** - * Retrieve an old input item. - * - * @param string $key - * @param mixed $default - * @return mixed - * @static - */ - public static function old($key = null, $default = null){ - return \Illuminate\Http\Request::old($key, $default); - } - - /** - * Flash the input for the current request to the session. - * - * @param string $filter - * @param array $keys - * @return void - * @static - */ - public static function flash($filter = null, $keys = array()){ - \Illuminate\Http\Request::flash($filter, $keys); - } - - /** - * Flash only some of the input to the session. - * - * @param mixed string - * @return void - * @static - */ - public static function flashOnly($keys){ - \Illuminate\Http\Request::flashOnly($keys); - } - - /** - * Flash only some of the input to the session. - * - * @param mixed string - * @return void - * @static - */ - public static function flashExcept($keys){ - \Illuminate\Http\Request::flashExcept($keys); - } - - /** - * Flush all of the old input from the session. - * - * @return void - * @static - */ - public static function flush(){ - \Illuminate\Http\Request::flush(); - } - - /** - * Merge new input into the current request's input array. - * - * @param array $input - * @return void - * @static - */ - public static function merge($input){ - \Illuminate\Http\Request::merge($input); - } - - /** - * Replace the input for the current request. - * - * @param array $input - * @return void - * @static - */ - public static function replace($input){ - \Illuminate\Http\Request::replace($input); - } - - /** - * Get the JSON payload for the request. - * - * @param string $key - * @param mixed $default - * @return mixed - * @static - */ - public static function json($key = null, $default = null){ - return \Illuminate\Http\Request::json($key, $default); - } - - /** - * Determine if the request is sending JSON. - * - * @return bool - * @static - */ - public static function isJson(){ - return \Illuminate\Http\Request::isJson(); - } - - /** - * Determine if the current request is asking for JSON in return. - * - * @return bool - * @static - */ - public static function wantsJson(){ - return \Illuminate\Http\Request::wantsJson(); - } - - /** - * Get the data format expected in the response. - * - * @return string - * @static - */ - public static function format($default = 'html'){ - return \Illuminate\Http\Request::format($default); - } - - /** - * Create an Illuminate request from a Symfony instance. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @return \Illuminate\Http\Request - * @static - */ - public static function createFromBase($request){ - return \Illuminate\Http\Request::createFromBase($request); - } - - /** - * Get the session associated with the request. - * - * @return \Illuminate\Session\Store - * @throws \RuntimeException - * @static - */ - public static function session(){ - return \Illuminate\Http\Request::session(); - } - - /** - * Sets the parameters for this request. - * - * This method also re-initializes all properties. - * - * @param array $query The GET parameters - * @param array $request The POST parameters - * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...) - * @param array $cookies The COOKIE parameters - * @param array $files The FILES parameters - * @param array $server The SERVER parameters - * @param string $content The raw body data - * @api - * @static - */ - public static function initialize($query = array(), $request = array(), $attributes = array(), $cookies = array(), $files = array(), $server = array(), $content = null){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::initialize($query, $request, $attributes, $cookies, $files, $server, $content); - } - - /** - * Creates a new request with values from PHP's super globals. - * - * @return \Symfony\Component\HttpFoundation\Request A new request - * @api - * @static - */ - public static function createFromGlobals(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::createFromGlobals(); - } - - /** - * Creates a Request based on a given URI and configuration. - * - * The information contained in the URI always take precedence - * over the other information (server and parameters). - * - * @param string $uri The URI - * @param string $method The HTTP method - * @param array $parameters The query (GET) or request (POST) parameters - * @param array $cookies The request cookies ($_COOKIE) - * @param array $files The request files ($_FILES) - * @param array $server The server parameters ($_SERVER) - * @param string $content The raw body data - * @return \Symfony\Component\HttpFoundation\Request A Request instance - * @api - * @static - */ - public static function create($uri, $method = 'GET', $parameters = array(), $cookies = array(), $files = array(), $server = array(), $content = null){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::create($uri, $method, $parameters, $cookies, $files, $server, $content); - } - - /** - * Sets a callable able to create a Request instance. - * - * This is mainly useful when you need to override the Request class - * to keep BC with an existing system. It should not be used for any - * other purpose. - * - * @param callable|null $callable A PHP callable - * @static - */ - public static function setFactory($callable){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setFactory($callable); - } - - /** - * Clones a request and overrides some of its parameters. - * - * @param array $query The GET parameters - * @param array $request The POST parameters - * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...) - * @param array $cookies The COOKIE parameters - * @param array $files The FILES parameters - * @param array $server The SERVER parameters - * @return \Symfony\Component\HttpFoundation\Request The duplicated request - * @api - * @static - */ - public static function duplicate($query = null, $request = null, $attributes = null, $cookies = null, $files = null, $server = null){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::duplicate($query, $request, $attributes, $cookies, $files, $server); - } - - /** - * Overrides the PHP global variables according to this request instance. - * - * It overrides $_GET, $_POST, $_REQUEST, $_SERVER, $_COOKIE. - * $_FILES is never override, see rfc1867 - * - * @api - * @static - */ - public static function overrideGlobals(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::overrideGlobals(); - } - - /** - * Sets a list of trusted proxies. - * - * You should only list the reverse proxies that you manage directly. - * - * @param array $proxies A list of trusted proxies - * @api - * @static - */ - public static function setTrustedProxies($proxies){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setTrustedProxies($proxies); - } - - /** - * Gets the list of trusted proxies. - * - * @return array An array of trusted proxies. - * @static - */ - public static function getTrustedProxies(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getTrustedProxies(); - } - - /** - * Sets a list of trusted host patterns. - * - * You should only list the hosts you manage using regexs. - * - * @param array $hostPatterns A list of trusted host patterns - * @static - */ - public static function setTrustedHosts($hostPatterns){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setTrustedHosts($hostPatterns); - } - - /** - * Gets the list of trusted host patterns. - * - * @return array An array of trusted host patterns. - * @static - */ - public static function getTrustedHosts(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getTrustedHosts(); - } - - /** - * Sets the name for trusted headers. - * - * The following header keys are supported: - * - * * Request::HEADER_CLIENT_IP: defaults to X-Forwarded-For (see getClientIp()) - * * Request::HEADER_CLIENT_HOST: defaults to X-Forwarded-Host (see getClientHost()) - * * Request::HEADER_CLIENT_PORT: defaults to X-Forwarded-Port (see getClientPort()) - * * Request::HEADER_CLIENT_PROTO: defaults to X-Forwarded-Proto (see getScheme() and isSecure()) - * - * Setting an empty value allows to disable the trusted header for the given key. - * - * @param string $key The header key - * @param string $value The header name - * @throws \InvalidArgumentException - * @static - */ - public static function setTrustedHeaderName($key, $value){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setTrustedHeaderName($key, $value); - } - - /** - * Gets the trusted proxy header name. - * - * @param string $key The header key - * @return string The header name - * @throws \InvalidArgumentException - * @static - */ - public static function getTrustedHeaderName($key){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getTrustedHeaderName($key); - } - - /** - * Normalizes a query string. - * - * It builds a normalized query string, where keys/value pairs are alphabetized, - * have consistent escaping and unneeded delimiters are removed. - * - * @param string $qs Query string - * @return string A normalized query string for the Request - * @static - */ - public static function normalizeQueryString($qs){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::normalizeQueryString($qs); - } - - /** - * Enables support for the _method request parameter to determine the intended HTTP method. - * - * Be warned that enabling this feature might lead to CSRF issues in your code. - * Check that you are using CSRF tokens when required. - * - * The HTTP method can only be overridden when the real HTTP method is POST. - * - * @static - */ - public static function enableHttpMethodParameterOverride(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::enableHttpMethodParameterOverride(); - } - - /** - * Checks whether support for the _method request parameter is enabled. - * - * @return bool True when the _method request parameter is enabled, false otherwise - * @static - */ - public static function getHttpMethodParameterOverride(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getHttpMethodParameterOverride(); - } - - /** - * Gets a "parameter" value. - * - * This method is mainly useful for libraries that want to provide some flexibility. - * - * Order of precedence: GET, PATH, POST - * - * Avoid using this method in controllers: - * - * * slow - * * prefer to get from a "named" source - * - * It is better to explicitly get request parameters from the appropriate - * public property instead (query, attributes, request). - * - * @param string $key the key - * @param mixed $default the default value - * @param bool $deep is parameter deep in multidimensional array - * @return mixed - * @static - */ - public static function get($key, $default = null, $deep = false){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::get($key, $default, $deep); - } - - /** - * Gets the Session. - * - * @return \Symfony\Component\HttpFoundation\SessionInterface|null The session - * @api - * @static - */ - public static function getSession(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getSession(); - } - - /** - * Whether the request contains a Session which was started in one of the - * previous requests. - * - * @return bool - * @api - * @static - */ - public static function hasPreviousSession(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::hasPreviousSession(); - } - - /** - * Whether the request contains a Session object. - * - * This method does not give any information about the state of the session object, - * like whether the session is started or not. It is just a way to check if this Request - * is associated with a Session instance. - * - * @return bool true when the Request contains a Session object, false otherwise - * @api - * @static - */ - public static function hasSession(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::hasSession(); - } - - /** - * Sets the Session. - * - * @param \Symfony\Component\HttpFoundation\SessionInterface $session The Session - * @api - * @static - */ - public static function setSession($session){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setSession($session); - } - - /** - * Returns the client IP addresses. - * - * In the returned array the most trusted IP address is first, and the - * least trusted one last. The "real" client IP address is the last one, - * but this is also the least trusted one. Trusted proxies are stripped. - * - * Use this method carefully; you should use getClientIp() instead. - * - * @return array The client IP addresses - * @see getClientIp() - * @static - */ - public static function getClientIps(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getClientIps(); - } - - /** - * Returns the client IP address. - * - * This method can read the client IP address from the "X-Forwarded-For" header - * when trusted proxies were set via "setTrustedProxies()". The "X-Forwarded-For" - * header value is a comma+space separated list of IP addresses, the left-most - * being the original client, and each successive proxy that passed the request - * adding the IP address where it received the request from. - * - * If your reverse proxy uses a different header name than "X-Forwarded-For", - * ("Client-Ip" for instance), configure it via "setTrustedHeaderName()" with - * the "client-ip" key. - * - * @return string The client IP address - * @see getClientIps() - * @see http://en.wikipedia.org/wiki/X-Forwarded-For - * @api - * @static - */ - public static function getClientIp(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getClientIp(); - } - - /** - * Returns current script name. - * - * @return string - * @api - * @static - */ - public static function getScriptName(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getScriptName(); - } - - /** - * Returns the path being requested relative to the executed script. - * - * The path info always starts with a /. - * - * Suppose this request is instantiated from /mysite on localhost: - * - * * http://localhost/mysite returns an empty string - * * http://localhost/mysite/about returns '/about' - * * http://localhost/mysite/enco%20ded returns '/enco%20ded' - * * http://localhost/mysite/about?var=1 returns '/about' - * - * @return string The raw path (i.e. not urldecoded) - * @api - * @static - */ - public static function getPathInfo(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPathInfo(); - } - - /** - * Returns the root path from which this request is executed. - * - * Suppose that an index.php file instantiates this request object: - * - * * http://localhost/index.php returns an empty string - * * http://localhost/index.php/page returns an empty string - * * http://localhost/web/index.php returns '/web' - * * http://localhost/we%20b/index.php returns '/we%20b' - * - * @return string The raw path (i.e. not urldecoded) - * @api - * @static - */ - public static function getBasePath(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getBasePath(); - } - - /** - * Returns the root URL from which this request is executed. - * - * The base URL never ends with a /. - * - * This is similar to getBasePath(), except that it also includes the - * script filename (e.g. index.php) if one exists. - * - * @return string The raw URL (i.e. not urldecoded) - * @api - * @static - */ - public static function getBaseUrl(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getBaseUrl(); - } - - /** - * Gets the request's scheme. - * - * @return string - * @api - * @static - */ - public static function getScheme(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getScheme(); - } - - /** - * Returns the port on which the request is made. - * - * This method can read the client port from the "X-Forwarded-Port" header - * when trusted proxies were set via "setTrustedProxies()". - * - * The "X-Forwarded-Port" header must contain the client port. - * - * If your reverse proxy uses a different header name than "X-Forwarded-Port", - * configure it via "setTrustedHeaderName()" with the "client-port" key. - * - * @return string - * @api - * @static - */ - public static function getPort(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPort(); - } - - /** - * Returns the user. - * - * @return string|null - * @static - */ - public static function getUser(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUser(); - } - - /** - * Returns the password. - * - * @return string|null - * @static - */ - public static function getPassword(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPassword(); - } - - /** - * Gets the user info. - * - * @return string A user name and, optionally, scheme-specific information about how to gain authorization to access the server - * @static - */ - public static function getUserInfo(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUserInfo(); - } - - /** - * Returns the HTTP host being requested. - * - * The port name will be appended to the host if it's non-standard. - * - * @return string - * @api - * @static - */ - public static function getHttpHost(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getHttpHost(); - } - - /** - * Returns the requested URI (path and query string). - * - * @return string The raw URI (i.e. not URI decoded) - * @api - * @static - */ - public static function getRequestUri(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getRequestUri(); - } - - /** - * Gets the scheme and HTTP host. - * - * If the URL was called with basic authentication, the user - * and the password are not added to the generated string. - * - * @return string The scheme and HTTP host - * @static - */ - public static function getSchemeAndHttpHost(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getSchemeAndHttpHost(); - } - - /** - * Generates a normalized URI (URL) for the Request. - * - * @return string A normalized URI (URL) for the Request - * @see getQueryString() - * @api - * @static - */ - public static function getUri(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUri(); - } - - /** - * Generates a normalized URI for the given path. - * - * @param string $path A path to use instead of the current one - * @return string The normalized URI for the path - * @api - * @static - */ - public static function getUriForPath($path){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUriForPath($path); - } - - /** - * Generates the normalized query string for the Request. - * - * It builds a normalized query string, where keys/value pairs are alphabetized - * and have consistent escaping. - * - * @return string|null A normalized query string for the Request - * @api - * @static - */ - public static function getQueryString(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getQueryString(); - } - - /** - * Checks whether the request is secure or not. - * - * This method can read the client port from the "X-Forwarded-Proto" header - * when trusted proxies were set via "setTrustedProxies()". - * - * The "X-Forwarded-Proto" header must contain the protocol: "https" or "http". - * - * If your reverse proxy uses a different header name than "X-Forwarded-Proto" - * ("SSL_HTTPS" for instance), configure it via "setTrustedHeaderName()" with - * the "client-proto" key. - * - * @return bool - * @api - * @static - */ - public static function isSecure(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isSecure(); - } - - /** - * Returns the host name. - * - * This method can read the client port from the "X-Forwarded-Host" header - * when trusted proxies were set via "setTrustedProxies()". - * - * The "X-Forwarded-Host" header must contain the client host name. - * - * If your reverse proxy uses a different header name than "X-Forwarded-Host", - * configure it via "setTrustedHeaderName()" with the "client-host" key. - * - * @return string - * @throws \UnexpectedValueException when the host name is invalid - * @api - * @static - */ - public static function getHost(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getHost(); - } - - /** - * Sets the request method. - * - * @param string $method - * @api - * @static - */ - public static function setMethod($method){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setMethod($method); - } - - /** - * Gets the request "intended" method. - * - * If the X-HTTP-Method-Override header is set, and if the method is a POST, - * then it is used to determine the "real" intended HTTP method. - * - * The _method request parameter can also be used to determine the HTTP method, - * but only if enableHttpMethodParameterOverride() has been called. - * - * The method is always an uppercased string. - * - * @return string The request method - * @api - * @see getRealMethod - * @static - */ - public static function getMethod(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getMethod(); - } - - /** - * Gets the "real" request method. - * - * @return string The request method - * @see getMethod - * @static - */ - public static function getRealMethod(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getRealMethod(); - } - - /** - * Gets the mime type associated with the format. - * - * @param string $format The format - * @return string The associated mime type (null if not found) - * @api - * @static - */ - public static function getMimeType($format){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getMimeType($format); - } - - /** - * Gets the format associated with the mime type. - * - * @param string $mimeType The associated mime type - * @return string|null The format (null if not found) - * @api - * @static - */ - public static function getFormat($mimeType){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getFormat($mimeType); - } - - /** - * Associates a format with mime types. - * - * @param string $format The format - * @param string|array $mimeTypes The associated mime types (the preferred one must be the first as it will be used as the content type) - * @api - * @static - */ - public static function setFormat($format, $mimeTypes){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setFormat($format, $mimeTypes); - } - - /** - * Gets the request format. - * - * Here is the process to determine the format: - * - * * format defined by the user (with setRequestFormat()) - * * _format request parameter - * * $default - * - * @param string $default The default format - * @return string The request format - * @api - * @static - */ - public static function getRequestFormat($default = 'html'){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getRequestFormat($default); - } - - /** - * Sets the request format. - * - * @param string $format The request format. - * @api - * @static - */ - public static function setRequestFormat($format){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setRequestFormat($format); - } - - /** - * Gets the format associated with the request. - * - * @return string|null The format (null if no content type is present) - * @api - * @static - */ - public static function getContentType(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getContentType(); - } - - /** - * Sets the default locale. - * - * @param string $locale - * @api - * @static - */ - public static function setDefaultLocale($locale){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setDefaultLocale($locale); - } - - /** - * Get the default locale. - * - * @return string - * @static - */ - public static function getDefaultLocale(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getDefaultLocale(); - } - - /** - * Sets the locale. - * - * @param string $locale - * @api - * @static - */ - public static function setLocale($locale){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setLocale($locale); - } - - /** - * Get the locale. - * - * @return string - * @static - */ - public static function getLocale(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getLocale(); - } - - /** - * Checks if the request method is of specified type. - * - * @param string $method Uppercase request method (GET, POST etc). - * @return bool - * @static - */ - public static function isMethod($method){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isMethod($method); - } - - /** - * Checks whether the method is safe or not. - * - * @return bool - * @api - * @static - */ - public static function isMethodSafe(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isMethodSafe(); - } - - /** - * Returns the request body content. - * - * @param bool $asResource If true, a resource will be returned - * @return string|resource The request body content or a resource to read the body stream. - * @throws \LogicException - * @static - */ - public static function getContent($asResource = false){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getContent($asResource); - } - - /** - * Gets the Etags. - * - * @return array The entity tags - * @static - */ - public static function getETags(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getETags(); - } - - /** - * - * - * @return bool - * @static - */ - public static function isNoCache(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isNoCache(); - } - - /** - * Returns the preferred language. - * - * @param array $locales An array of ordered available locales - * @return string|null The preferred locale - * @api - * @static - */ - public static function getPreferredLanguage($locales = null){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPreferredLanguage($locales); - } - - /** - * Gets a list of languages acceptable by the client browser. - * - * @return array Languages ordered in the user browser preferences - * @api - * @static - */ - public static function getLanguages(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getLanguages(); - } - - /** - * Gets a list of charsets acceptable by the client browser. - * - * @return array List of charsets in preferable order - * @api - * @static - */ - public static function getCharsets(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getCharsets(); - } - - /** - * Gets a list of encodings acceptable by the client browser. - * - * @return array List of encodings in preferable order - * @static - */ - public static function getEncodings(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getEncodings(); - } - - /** - * Gets a list of content types acceptable by the client browser - * - * @return array List of content types in preferable order - * @api - * @static - */ - public static function getAcceptableContentTypes(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getAcceptableContentTypes(); - } - - /** - * Returns true if the request is a XMLHttpRequest. - * - * It works if your JavaScript library set an X-Requested-With HTTP header. - * It is known to work with common JavaScript frameworks: - * - * @link http://en.wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript - * @return bool true if the request is an XMLHttpRequest, false otherwise - * @api - * @static - */ - public static function isXmlHttpRequest(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isXmlHttpRequest(); - } - - } - - - class Lang extends \Illuminate\Support\Facades\Lang{ - - /** - * Determine if a translation exists. - * - * @param string $key - * @param string $locale - * @return bool - * @static - */ - public static function has($key, $locale = null){ - return \Illuminate\Translation\Translator::has($key, $locale); - } - - /** - * Get the translation for the given key. - * - * @param string $key - * @param array $replace - * @param string $locale - * @return string - * @static - */ - public static function get($key, $replace = array(), $locale = null){ - return \Illuminate\Translation\Translator::get($key, $replace, $locale); - } - - /** - * Get a translation according to an integer value. - * - * @param string $key - * @param int $number - * @param array $replace - * @param string $locale - * @return string - * @static - */ - public static function choice($key, $number, $replace = array(), $locale = null){ - return \Illuminate\Translation\Translator::choice($key, $number, $replace, $locale); - } - - /** - * Get the translation for a given key. - * - * @param string $id - * @param array $parameters - * @param string $domain - * @param string $locale - * @return string - * @static - */ - public static function trans($id, $parameters = array(), $domain = 'messages', $locale = null){ - return \Illuminate\Translation\Translator::trans($id, $parameters, $domain, $locale); - } - - /** - * Get a translation according to an integer value. - * - * @param string $id - * @param int $number - * @param array $parameters - * @param string $domain - * @param string $locale - * @return string - * @static - */ - public static function transChoice($id, $number, $parameters = array(), $domain = 'messages', $locale = null){ - return \Illuminate\Translation\Translator::transChoice($id, $number, $parameters, $domain, $locale); - } - - /** - * Load the specified language group. - * - * @param string $namespace - * @param string $group - * @param string $locale - * @return void - * @static - */ - public static function load($namespace, $group, $locale){ - \Illuminate\Translation\Translator::load($namespace, $group, $locale); - } - - /** - * Add a new namespace to the loader. - * - * @param string $namespace - * @param string $hint - * @return void - * @static - */ - public static function addNamespace($namespace, $hint){ - \Illuminate\Translation\Translator::addNamespace($namespace, $hint); - } - - /** - * Parse a key into namespace, group, and item. - * - * @param string $key - * @return array - * @static - */ - public static function parseKey($key){ - return \Illuminate\Translation\Translator::parseKey($key); - } - - /** - * Get the message selector instance. - * - * @return \Symfony\Component\Translation\MessageSelector - * @static - */ - public static function getSelector(){ - return \Illuminate\Translation\Translator::getSelector(); - } - - /** - * Set the message selector instance. - * - * @param \Symfony\Component\Translation\MessageSelector $selector - * @return void - * @static - */ - public static function setSelector($selector){ - \Illuminate\Translation\Translator::setSelector($selector); - } - - /** - * Get the language line loader implementation. - * - * @return \Illuminate\Translation\LoaderInterface - * @static - */ - public static function getLoader(){ - return \Illuminate\Translation\Translator::getLoader(); - } - - /** - * Get the default locale being used. - * - * @return string - * @static - */ - public static function locale(){ - return \Illuminate\Translation\Translator::locale(); - } - - /** - * Get the default locale being used. - * - * @return string - * @static - */ - public static function getLocale(){ - return \Illuminate\Translation\Translator::getLocale(); - } - - /** - * Set the default locale. - * - * @param string $locale - * @return void - * @static - */ - public static function setLocale($locale){ - \Illuminate\Translation\Translator::setLocale($locale); - } - - /** - * Set the fallback locale being used. - * - * @return string - * @static - */ - public static function getFallback(){ - return \Illuminate\Translation\Translator::getFallback(); - } - - /** - * Set the fallback locale being used. - * - * @param string $fallback - * @return void - * @static - */ - public static function setFallback($fallback){ - \Illuminate\Translation\Translator::setFallback($fallback); - } - - /** - * Set the parsed value of a key. - * - * @param string $key - * @param array $parsed - * @return void - * @static - */ - public static function setParsedKey($key, $parsed){ - //Method inherited from \Illuminate\Support\NamespacedItemResolver - \Illuminate\Translation\Translator::setParsedKey($key, $parsed); - } - - } - - - class Log extends \Illuminate\Support\Facades\Log{ - - /** - * Adds a log record at the DEBUG level. - * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static - */ - public static function debug($message, $context = array()){ - return \Monolog\Logger::debug($message, $context); - } - - /** - * Adds a log record at the INFO level. - * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static - */ - public static function info($message, $context = array()){ - return \Monolog\Logger::info($message, $context); - } - - /** - * Adds a log record at the NOTICE level. - * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static - */ - public static function notice($message, $context = array()){ - return \Monolog\Logger::notice($message, $context); - } - - /** - * Adds a log record at the WARNING level. - * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static - */ - public static function warning($message, $context = array()){ - return \Monolog\Logger::warning($message, $context); - } - - /** - * Adds a log record at the ERROR level. - * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static - */ - public static function error($message, $context = array()){ - return \Monolog\Logger::error($message, $context); - } - - /** - * Adds a log record at the CRITICAL level. - * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static - */ - public static function critical($message, $context = array()){ - return \Monolog\Logger::critical($message, $context); - } - - /** - * Adds a log record at the ALERT level. - * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static - */ - public static function alert($message, $context = array()){ - return \Monolog\Logger::alert($message, $context); - } - - /** - * Adds a log record at the EMERGENCY level. - * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static - */ - public static function emergency($message, $context = array()){ - return \Monolog\Logger::emergency($message, $context); - } - - /** - * Register a file log handler. - * - * @param string $path - * @param string $level - * @return void - * @static - */ - public static function useFiles($path, $level = 'debug'){ - \Illuminate\Log\Writer::useFiles($path, $level); - } - - /** - * Register a daily file log handler. - * - * @param string $path - * @param int $days - * @param string $level - * @return void - * @static - */ - public static function useDailyFiles($path, $days = 0, $level = 'debug'){ - \Illuminate\Log\Writer::useDailyFiles($path, $days, $level); - } - - /** - * Register a new callback handler for when - * a log event is triggered. - * - * @param \Closure $callback - * @return void - * @throws \RuntimeException - * @static - */ - public static function listen($callback){ - \Illuminate\Log\Writer::listen($callback); - } - - /** - * Get the underlying Monolog instance. - * - * @return \Monolog\Logger - * @static - */ - public static function getMonolog(){ - return \Illuminate\Log\Writer::getMonolog(); - } - - /** - * Get the event dispatcher instance. - * - * @return \Illuminate\Events\Dispatcher - * @static - */ - public static function getEventDispatcher(){ - return \Illuminate\Log\Writer::getEventDispatcher(); - } - - /** - * Set the event dispatcher instance. - * - * @param \Illuminate\Events\Dispatcher - * @return void - * @static - */ - public static function setEventDispatcher($dispatcher){ - \Illuminate\Log\Writer::setEventDispatcher($dispatcher); - } - - /** - * Dynamically pass log calls into the writer. - * - * @param mixed (level, param, param) - * @return mixed - * @static - */ - public static function write(){ - return \Illuminate\Log\Writer::write(); - } - - } - - - class Mail extends \Illuminate\Support\Facades\Mail{ - - /** - * Set the global from address and name. - * - * @param string $address - * @param string $name - * @return void - * @static - */ - public static function alwaysFrom($address, $name = null){ - \Illuminate\Mail\Mailer::alwaysFrom($address, $name); - } - - /** - * Send a new message when only a plain part. - * - * @param string $view - * @param array $data - * @param mixed $callback - * @return int - * @static - */ - public static function plain($view, $data, $callback){ - return \Illuminate\Mail\Mailer::plain($view, $data, $callback); - } - - /** - * Send a new message using a view. - * - * @param string|array $view - * @param array $data - * @param \Closure|string $callback - * @return int - * @static - */ - public static function send($view, $data, $callback){ - return \Illuminate\Mail\Mailer::send($view, $data, $callback); - } - - /** - * Queue a new e-mail message for sending. - * - * @param string|array $view - * @param array $data - * @param \Closure|string $callback - * @param string $queue - * @return void - * @static - */ - public static function queue($view, $data, $callback, $queue = null){ - \Illuminate\Mail\Mailer::queue($view, $data, $callback, $queue); - } - - /** - * Queue a new e-mail message for sending on the given queue. - * - * @param string $queue - * @param string|array $view - * @param array $data - * @param \Closure|string $callback - * @return void - * @static - */ - public static function queueOn($queue, $view, $data, $callback){ - \Illuminate\Mail\Mailer::queueOn($queue, $view, $data, $callback); - } - - /** - * Queue a new e-mail message for sending after (n) seconds. - * - * @param int $delay - * @param string|array $view - * @param array $data - * @param \Closure|string $callback - * @param string $queue - * @return void - * @static - */ - public static function later($delay, $view, $data, $callback, $queue = null){ - \Illuminate\Mail\Mailer::later($delay, $view, $data, $callback, $queue); - } - - /** - * Queue a new e-mail message for sending after (n) seconds on the given queue. - * - * @param string $queue - * @param int $delay - * @param string|array $view - * @param array $data - * @param \Closure|string $callback - * @return void - * @static - */ - public static function laterOn($queue, $delay, $view, $data, $callback){ - \Illuminate\Mail\Mailer::laterOn($queue, $delay, $view, $data, $callback); - } - - /** - * Handle a queued e-mail message job. - * - * @param \Illuminate\Queue\Jobs\Job $job - * @param array $data - * @return void - * @static - */ - public static function handleQueuedMessage($job, $data){ - \Illuminate\Mail\Mailer::handleQueuedMessage($job, $data); - } - - /** - * Tell the mailer to not really send messages. - * - * @param bool $value - * @return void - * @static - */ - public static function pretend($value = true){ - \Illuminate\Mail\Mailer::pretend($value); - } - - /** - * Get the view environment instance. - * - * @return \Illuminate\View\Environment - * @static - */ - public static function getViewEnvironment(){ - return \Illuminate\Mail\Mailer::getViewEnvironment(); - } - - /** - * Get the Swift Mailer instance. - * - * @return \Swift_Mailer - * @static - */ - public static function getSwiftMailer(){ - return \Illuminate\Mail\Mailer::getSwiftMailer(); - } - - /** - * Get the array of failed recipients. - * - * @return array - * @static - */ - public static function failures(){ - return \Illuminate\Mail\Mailer::failures(); - } - - /** - * Set the Swift Mailer instance. - * - * @param \Swift_Mailer $swift - * @return void - * @static - */ - public static function setSwiftMailer($swift){ - \Illuminate\Mail\Mailer::setSwiftMailer($swift); - } - - /** - * Set the log writer instance. - * - * @param \Illuminate\Log\Writer $logger - * @return \Illuminate\Mail\Mailer - * @static - */ - public static function setLogger($logger){ - return \Illuminate\Mail\Mailer::setLogger($logger); - } - - /** - * Set the queue manager instance. - * - * @param \Illuminate\Queue\QueueManager $queue - * @return \Illuminate\Mail\Mailer - * @static - */ - public static function setQueue($queue){ - return \Illuminate\Mail\Mailer::setQueue($queue); - } - - /** - * Set the IoC container instance. - * - * @param \Illuminate\Container\Container $container - * @return void - * @static - */ - public static function setContainer($container){ - \Illuminate\Mail\Mailer::setContainer($container); - } - - } - - - class Paginator extends \Bootstrapper\Paginator{ - - /** - * Get a new paginator instance. - * - * @param array $items - * @param int $total - * @param int $perPage - * @return \Illuminate\Pagination\Paginator - * @static - */ - public static function make($items, $total, $perPage){ - return \Illuminate\Pagination\Environment::make($items, $total, $perPage); - } - - /** - * Get the pagination view. - * - * @param \Illuminate\Pagination\Paginator $paginator - * @param string $view - * @return \Illuminate\View\View - * @static - */ - public static function getPaginationView($paginator, $view = null){ - return \Illuminate\Pagination\Environment::getPaginationView($paginator, $view); - } - - /** - * Get the number of the current page. - * - * @return int - * @static - */ - public static function getCurrentPage(){ - return \Illuminate\Pagination\Environment::getCurrentPage(); - } - - /** - * Set the number of the current page. - * - * @param int $number - * @return void - * @static - */ - public static function setCurrentPage($number){ - \Illuminate\Pagination\Environment::setCurrentPage($number); - } - - /** - * Get the root URL for the request. - * - * @return string - * @static - */ - public static function getCurrentUrl(){ - return \Illuminate\Pagination\Environment::getCurrentUrl(); - } - - /** - * Set the base URL in use by the paginator. - * - * @param string $baseUrl - * @return void - * @static - */ - public static function setBaseUrl($baseUrl){ - \Illuminate\Pagination\Environment::setBaseUrl($baseUrl); - } - - /** - * Set the input page parameter name used by the paginator. - * - * @param string $pageName - * @return void - * @static - */ - public static function setPageName($pageName){ - \Illuminate\Pagination\Environment::setPageName($pageName); - } - - /** - * Get the input page parameter name used by the paginator. - * - * @return string - * @static - */ - public static function getPageName(){ - return \Illuminate\Pagination\Environment::getPageName(); - } - - /** - * Get the name of the pagination view. - * - * @param string $view - * @return string - * @static - */ - public static function getViewName($view = null){ - return \Illuminate\Pagination\Environment::getViewName($view); - } - - /** - * Set the name of the pagination view. - * - * @param string $viewName - * @return void - * @static - */ - public static function setViewName($viewName){ - \Illuminate\Pagination\Environment::setViewName($viewName); - } - - /** - * Get the locale of the paginator. - * - * @return string - * @static - */ - public static function getLocale(){ - return \Illuminate\Pagination\Environment::getLocale(); - } - - /** - * Set the locale of the paginator. - * - * @param string $locale - * @return void - * @static - */ - public static function setLocale($locale){ - \Illuminate\Pagination\Environment::setLocale($locale); - } - - /** - * Get the active request instance. - * - * @return \Symfony\Component\HttpFoundation\Request - * @static - */ - public static function getRequest(){ - return \Illuminate\Pagination\Environment::getRequest(); - } - - /** - * Set the active request instance. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @return void - * @static - */ - public static function setRequest($request){ - \Illuminate\Pagination\Environment::setRequest($request); - } - - /** - * Get the current view driver. - * - * @return \Illuminate\View\Environment - * @static - */ - public static function getViewDriver(){ - return \Illuminate\Pagination\Environment::getViewDriver(); - } - - /** - * Set the current view driver. - * - * @param \Illuminate\View\Environment $view - * @return void - * @static - */ - public static function setViewDriver($view){ - \Illuminate\Pagination\Environment::setViewDriver($view); - } - - /** - * Get the translator instance. - * - * @return \Symfony\Component\Translation\TranslatorInterface - * @static - */ - public static function getTranslator(){ - return \Illuminate\Pagination\Environment::getTranslator(); - } - - } - - - class Password extends \Illuminate\Support\Facades\Password{ - - /** - * Send a password reminder to a user. - * - * @param array $credentials - * @param \Closure $callback - * @return string - * @static - */ - public static function remind($credentials, $callback = null){ - return \Illuminate\Auth\Reminders\PasswordBroker::remind($credentials, $callback); - } - - /** - * Send the password reminder e-mail. - * - * @param \Illuminate\Auth\Reminders\RemindableInterface $user - * @param string $token - * @param \Closure $callback - * @return void - * @static - */ - public static function sendReminder($user, $token, $callback = null){ - \Illuminate\Auth\Reminders\PasswordBroker::sendReminder($user, $token, $callback); - } - - /** - * Reset the password for the given token. - * - * @param array $credentials - * @param \Closure $callback - * @return mixed - * @static - */ - public static function reset($credentials, $callback){ - return \Illuminate\Auth\Reminders\PasswordBroker::reset($credentials, $callback); - } - - /** - * Set a custom password validator. - * - * @param \Closure $callback - * @return void - * @static - */ - public static function validator($callback){ - \Illuminate\Auth\Reminders\PasswordBroker::validator($callback); - } - - /** - * Get the user for the given credentials. - * - * @param array $credentials - * @return \Illuminate\Auth\Reminders\RemindableInterface - * @throws \UnexpectedValueException - * @static - */ - public static function getUser($credentials){ - return \Illuminate\Auth\Reminders\PasswordBroker::getUser($credentials); - } - - } - - - class Queue extends \Illuminate\Support\Facades\Queue{ - - /** - * Register an event listener for the failed job event. - * - * @param mixed $callback - * @return void - * @static - */ - public static function failing($callback){ - \Illuminate\Queue\QueueManager::failing($callback); - } - - /** - * Determine if the driver is connected. - * - * @param string $name - * @return bool - * @static - */ - public static function connected($name = null){ - return \Illuminate\Queue\QueueManager::connected($name); - } - - /** - * Resolve a queue connection instance. - * - * @param string $name - * @return \Illuminate\Queue\SyncQueue - * @static - */ - public static function connection($name = null){ - return \Illuminate\Queue\QueueManager::connection($name); - } - - /** - * Add a queue connection resolver. - * - * @param string $driver - * @param \Closure $resolver - * @return void - * @static - */ - public static function extend($driver, $resolver){ - \Illuminate\Queue\QueueManager::extend($driver, $resolver); - } - - /** - * Add a queue connection resolver. - * - * @param string $driver - * @param \Closure $resolver - * @return void - * @static - */ - public static function addConnector($driver, $resolver){ - \Illuminate\Queue\QueueManager::addConnector($driver, $resolver); - } - - /** - * Get the name of the default queue connection. - * - * @return string - * @static - */ - public static function getDefaultDriver(){ - return \Illuminate\Queue\QueueManager::getDefaultDriver(); - } - - /** - * Set the name of the default queue connection. - * - * @param string $name - * @return void - * @static - */ - public static function setDefaultDriver($name){ - \Illuminate\Queue\QueueManager::setDefaultDriver($name); - } - - /** - * Get the full name for the given connection. - * - * @param string $connection - * @return string - * @static - */ - public static function getName($connection = null){ - return \Illuminate\Queue\QueueManager::getName($connection); - } - - /** - * Push a new job onto the queue. - * - * @param string $job - * @param mixed $data - * @param string $queue - * @return mixed - * @static - */ - public static function push($job, $data = '', $queue = null){ - return \Illuminate\Queue\SyncQueue::push($job, $data, $queue); - } - - /** - * Push a raw payload onto the queue. - * - * @param string $payload - * @param string $queue - * @param array $options - * @return mixed - * @static - */ - public static function pushRaw($payload, $queue = null, $options = array()){ - return \Illuminate\Queue\SyncQueue::pushRaw($payload, $queue, $options); - } - - /** - * Push a new job onto the queue after a delay. - * - * @param \DateTime|int $delay - * @param string $job - * @param mixed $data - * @param string $queue - * @return mixed - * @static - */ - public static function later($delay, $job, $data = '', $queue = null){ - return \Illuminate\Queue\SyncQueue::later($delay, $job, $data, $queue); - } - - /** - * Pop the next job off of the queue. - * - * @param string $queue - * @return \Illuminate\Queue\Jobs\Job|null - * @static - */ - public static function pop($queue = null){ - return \Illuminate\Queue\SyncQueue::pop($queue); - } - - /** - * Marshal a push queue request and fire the job. - * - * @throws \RuntimeException - * @static - */ - public static function marshal(){ - //Method inherited from \Illuminate\Queue\Queue - return \Illuminate\Queue\SyncQueue::marshal(); - } - - /** - * Push a new an array of jobs onto the queue. - * - * @param array $jobs - * @param mixed $data - * @param string $queue - * @return mixed - * @static - */ - public static function bulk($jobs, $data = '', $queue = null){ - //Method inherited from \Illuminate\Queue\Queue - return \Illuminate\Queue\SyncQueue::bulk($jobs, $data, $queue); - } - - /** - * Get the current UNIX timestamp. - * - * @return int - * @static - */ - public static function getTime(){ - //Method inherited from \Illuminate\Queue\Queue - return \Illuminate\Queue\SyncQueue::getTime(); - } - - /** - * Set the IoC container instance. - * - * @param \Illuminate\Container\Container $container - * @return void - * @static - */ - public static function setContainer($container){ - //Method inherited from \Illuminate\Queue\Queue - \Illuminate\Queue\SyncQueue::setContainer($container); - } - - } - - - class Redirect extends \Illuminate\Support\Facades\Redirect{ - - /** - * Create a new redirect response to the "home" route. - * - * @param int $status - * @return \Illuminate\Http\RedirectResponse - * @static - */ - public static function home($status = 302){ - return \Illuminate\Routing\Redirector::home($status); - } - - /** - * Create a new redirect response to the previous location. - * - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static - */ - public static function back($status = 302, $headers = array()){ - return \Illuminate\Routing\Redirector::back($status, $headers); - } - - /** - * Create a new redirect response to the current URI. - * - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static - */ - public static function refresh($status = 302, $headers = array()){ - return \Illuminate\Routing\Redirector::refresh($status, $headers); - } - - /** - * Create a new redirect response, while putting the current URL in the session. - * - * @param string $path - * @param int $status - * @param array $headers - * @param bool $secure - * @return \Illuminate\Http\RedirectResponse - * @static - */ - public static function guest($path, $status = 302, $headers = array(), $secure = null){ - return \Illuminate\Routing\Redirector::guest($path, $status, $headers, $secure); - } - - /** - * Create a new redirect response to the previously intended location. - * - * @param string $default - * @param int $status - * @param array $headers - * @param bool $secure - * @return \Illuminate\Http\RedirectResponse - * @static - */ - public static function intended($default = '/', $status = 302, $headers = array(), $secure = null){ - return \Illuminate\Routing\Redirector::intended($default, $status, $headers, $secure); - } - - /** - * Create a new redirect response to the given path. - * - * @param string $path - * @param int $status - * @param array $headers - * @param bool $secure - * @return \Illuminate\Http\RedirectResponse - * @static - */ - public static function to($path, $status = 302, $headers = array(), $secure = null){ - return \Illuminate\Routing\Redirector::to($path, $status, $headers, $secure); - } - - /** - * Create a new redirect response to an external URL (no validation). - * - * @param string $path - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static - */ - public static function away($path, $status = 302, $headers = array()){ - return \Illuminate\Routing\Redirector::away($path, $status, $headers); - } - - /** - * Create a new redirect response to the given HTTPS path. - * - * @param string $path - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static - */ - public static function secure($path, $status = 302, $headers = array()){ - return \Illuminate\Routing\Redirector::secure($path, $status, $headers); - } - - /** - * Create a new redirect response to a named route. - * - * @param string $route - * @param array $parameters - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static - */ - public static function route($route, $parameters = array(), $status = 302, $headers = array()){ - return \Illuminate\Routing\Redirector::route($route, $parameters, $status, $headers); - } - - /** - * Create a new redirect response to a controller action. - * - * @param string $action - * @param array $parameters - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static - */ - public static function action($action, $parameters = array(), $status = 302, $headers = array()){ - return \Illuminate\Routing\Redirector::action($action, $parameters, $status, $headers); - } - - /** - * Get the URL generator instance. - * - * @return \Illuminate\Routing\UrlGenerator - * @static - */ - public static function getUrlGenerator(){ - return \Illuminate\Routing\Redirector::getUrlGenerator(); - } - - /** - * Set the active session store. - * - * @param \Illuminate\Session\Store $session - * @return void - * @static - */ - public static function setSession($session){ - \Illuminate\Routing\Redirector::setSession($session); - } - - } - - - class Redis extends \Illuminate\Support\Facades\Redis{ - - /** - * Get a specific Redis connection instance. - * - * @param string $name - * @return \Predis\Connection\SingleConnectionInterface - * @static - */ - public static function connection($name = 'default'){ - return \Illuminate\Redis\Database::connection($name); - } - - /** - * Run a command against the Redis database. - * - * @param string $method - * @param array $parameters - * @return mixed - * @static - */ - public static function command($method, $parameters = array()){ - return \Illuminate\Redis\Database::command($method, $parameters); - } - - } - - - class Request extends \Illuminate\Support\Facades\Request{ - - /** - * Return the Request instance. - * - * @return \Illuminate\Http\Request - * @static - */ - public static function instance(){ - return \Illuminate\Http\Request::instance(); - } - - /** - * Get the request method. - * - * @return string - * @static - */ - public static function method(){ - return \Illuminate\Http\Request::method(); - } - - /** - * Get the root URL for the application. - * - * @return string - * @static - */ - public static function root(){ - return \Illuminate\Http\Request::root(); - } - - /** - * Get the URL (no query string) for the request. - * - * @return string - * @static - */ - public static function url(){ - return \Illuminate\Http\Request::url(); - } - - /** - * Get the full URL for the request. - * - * @return string - * @static - */ - public static function fullUrl(){ - return \Illuminate\Http\Request::fullUrl(); - } - - /** - * Get the current path info for the request. - * - * @return string - * @static - */ - public static function path(){ - return \Illuminate\Http\Request::path(); - } - - /** - * Get the current encoded path info for the request. - * - * @return string - * @static - */ - public static function decodedPath(){ - return \Illuminate\Http\Request::decodedPath(); - } - - /** - * Get a segment from the URI (1 based index). - * - * @param string $index - * @param mixed $default - * @return string - * @static - */ - public static function segment($index, $default = null){ - return \Illuminate\Http\Request::segment($index, $default); - } - - /** - * Get all of the segments for the request path. - * - * @return array - * @static - */ - public static function segments(){ - return \Illuminate\Http\Request::segments(); - } - - /** - * Determine if the current request URI matches a pattern. - * - * @param mixed string - * @return bool - * @static - */ - public static function is(){ - return \Illuminate\Http\Request::is(); - } - - /** - * Determine if the request is the result of an AJAX call. - * - * @return bool - * @static - */ - public static function ajax(){ - return \Illuminate\Http\Request::ajax(); - } - - /** - * Determine if the request is over HTTPS. - * - * @return bool - * @static - */ - public static function secure(){ - return \Illuminate\Http\Request::secure(); - } - - /** - * Determine if the request contains a given input item. - * - * @param string|array $key - * @return bool - * @static - */ - public static function has($key){ - return \Illuminate\Http\Request::has($key); - } - - /** - * Get all of the input and files for the request. - * - * @return array - * @static - */ - public static function all(){ - return \Illuminate\Http\Request::all(); - } - - /** - * Retrieve an input item from the request. - * - * @param string $key - * @param mixed $default - * @return string - * @static - */ - public static function input($key = null, $default = null){ - return \Illuminate\Http\Request::input($key, $default); - } - - /** - * Get a subset of the items from the input data. - * - * @param array $keys - * @return array - * @static - */ - public static function only($keys){ - return \Illuminate\Http\Request::only($keys); - } - - /** - * Get all of the input except for a specified array of items. - * - * @param array $keys - * @return array - * @static - */ - public static function except($keys){ - return \Illuminate\Http\Request::except($keys); - } - - /** - * Retrieve a query string item from the request. - * - * @param string $key - * @param mixed $default - * @return string - * @static - */ - public static function query($key = null, $default = null){ - return \Illuminate\Http\Request::query($key, $default); - } - - /** - * Determine if a cookie is set on the request. - * - * @param string $key - * @return bool - * @static - */ - public static function hasCookie($key){ - return \Illuminate\Http\Request::hasCookie($key); - } - - /** - * Retrieve a cookie from the request. - * - * @param string $key - * @param mixed $default - * @return string - * @static - */ - public static function cookie($key = null, $default = null){ - return \Illuminate\Http\Request::cookie($key, $default); - } - - /** - * Retrieve a file from the request. - * - * @param string $key - * @param mixed $default - * @return \Symfony\Component\HttpFoundation\File\UploadedFile|array - * @static - */ - public static function file($key = null, $default = null){ - return \Illuminate\Http\Request::file($key, $default); - } - - /** - * Determine if the uploaded data contains a file. - * - * @param string $key - * @return bool - * @static - */ - public static function hasFile($key){ - return \Illuminate\Http\Request::hasFile($key); - } - - /** - * Retrieve a header from the request. - * - * @param string $key - * @param mixed $default - * @return string - * @static - */ - public static function header($key = null, $default = null){ - return \Illuminate\Http\Request::header($key, $default); - } - - /** - * Retrieve a server variable from the request. - * - * @param string $key - * @param mixed $default - * @return string - * @static - */ - public static function server($key = null, $default = null){ - return \Illuminate\Http\Request::server($key, $default); - } - - /** - * Retrieve an old input item. - * - * @param string $key - * @param mixed $default - * @return mixed - * @static - */ - public static function old($key = null, $default = null){ - return \Illuminate\Http\Request::old($key, $default); - } - - /** - * Flash the input for the current request to the session. - * - * @param string $filter - * @param array $keys - * @return void - * @static - */ - public static function flash($filter = null, $keys = array()){ - \Illuminate\Http\Request::flash($filter, $keys); - } - - /** - * Flash only some of the input to the session. - * - * @param mixed string - * @return void - * @static - */ - public static function flashOnly($keys){ - \Illuminate\Http\Request::flashOnly($keys); - } - - /** - * Flash only some of the input to the session. - * - * @param mixed string - * @return void - * @static - */ - public static function flashExcept($keys){ - \Illuminate\Http\Request::flashExcept($keys); - } - - /** - * Flush all of the old input from the session. - * - * @return void - * @static - */ - public static function flush(){ - \Illuminate\Http\Request::flush(); - } - - /** - * Merge new input into the current request's input array. - * - * @param array $input - * @return void - * @static - */ - public static function merge($input){ - \Illuminate\Http\Request::merge($input); - } - - /** - * Replace the input for the current request. - * - * @param array $input - * @return void - * @static - */ - public static function replace($input){ - \Illuminate\Http\Request::replace($input); - } - - /** - * Get the JSON payload for the request. - * - * @param string $key - * @param mixed $default - * @return mixed - * @static - */ - public static function json($key = null, $default = null){ - return \Illuminate\Http\Request::json($key, $default); - } - - /** - * Determine if the request is sending JSON. - * - * @return bool - * @static - */ - public static function isJson(){ - return \Illuminate\Http\Request::isJson(); - } - - /** - * Determine if the current request is asking for JSON in return. - * - * @return bool - * @static - */ - public static function wantsJson(){ - return \Illuminate\Http\Request::wantsJson(); - } - - /** - * Get the data format expected in the response. - * - * @return string - * @static - */ - public static function format($default = 'html'){ - return \Illuminate\Http\Request::format($default); - } - - /** - * Create an Illuminate request from a Symfony instance. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @return \Illuminate\Http\Request - * @static - */ - public static function createFromBase($request){ - return \Illuminate\Http\Request::createFromBase($request); - } - - /** - * Get the session associated with the request. - * - * @return \Illuminate\Session\Store - * @throws \RuntimeException - * @static - */ - public static function session(){ - return \Illuminate\Http\Request::session(); - } - - /** - * Sets the parameters for this request. - * - * This method also re-initializes all properties. - * - * @param array $query The GET parameters - * @param array $request The POST parameters - * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...) - * @param array $cookies The COOKIE parameters - * @param array $files The FILES parameters - * @param array $server The SERVER parameters - * @param string $content The raw body data - * @api - * @static - */ - public static function initialize($query = array(), $request = array(), $attributes = array(), $cookies = array(), $files = array(), $server = array(), $content = null){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::initialize($query, $request, $attributes, $cookies, $files, $server, $content); - } - - /** - * Creates a new request with values from PHP's super globals. - * - * @return \Symfony\Component\HttpFoundation\Request A new request - * @api - * @static - */ - public static function createFromGlobals(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::createFromGlobals(); - } - - /** - * Creates a Request based on a given URI and configuration. - * - * The information contained in the URI always take precedence - * over the other information (server and parameters). - * - * @param string $uri The URI - * @param string $method The HTTP method - * @param array $parameters The query (GET) or request (POST) parameters - * @param array $cookies The request cookies ($_COOKIE) - * @param array $files The request files ($_FILES) - * @param array $server The server parameters ($_SERVER) - * @param string $content The raw body data - * @return \Symfony\Component\HttpFoundation\Request A Request instance - * @api - * @static - */ - public static function create($uri, $method = 'GET', $parameters = array(), $cookies = array(), $files = array(), $server = array(), $content = null){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::create($uri, $method, $parameters, $cookies, $files, $server, $content); - } - - /** - * Sets a callable able to create a Request instance. - * - * This is mainly useful when you need to override the Request class - * to keep BC with an existing system. It should not be used for any - * other purpose. - * - * @param callable|null $callable A PHP callable - * @static - */ - public static function setFactory($callable){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setFactory($callable); - } - - /** - * Clones a request and overrides some of its parameters. - * - * @param array $query The GET parameters - * @param array $request The POST parameters - * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...) - * @param array $cookies The COOKIE parameters - * @param array $files The FILES parameters - * @param array $server The SERVER parameters - * @return \Symfony\Component\HttpFoundation\Request The duplicated request - * @api - * @static - */ - public static function duplicate($query = null, $request = null, $attributes = null, $cookies = null, $files = null, $server = null){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::duplicate($query, $request, $attributes, $cookies, $files, $server); - } - - /** - * Overrides the PHP global variables according to this request instance. - * - * It overrides $_GET, $_POST, $_REQUEST, $_SERVER, $_COOKIE. - * $_FILES is never override, see rfc1867 - * - * @api - * @static - */ - public static function overrideGlobals(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::overrideGlobals(); - } - - /** - * Sets a list of trusted proxies. - * - * You should only list the reverse proxies that you manage directly. - * - * @param array $proxies A list of trusted proxies - * @api - * @static - */ - public static function setTrustedProxies($proxies){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setTrustedProxies($proxies); - } - - /** - * Gets the list of trusted proxies. - * - * @return array An array of trusted proxies. - * @static - */ - public static function getTrustedProxies(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getTrustedProxies(); - } - - /** - * Sets a list of trusted host patterns. - * - * You should only list the hosts you manage using regexs. - * - * @param array $hostPatterns A list of trusted host patterns - * @static - */ - public static function setTrustedHosts($hostPatterns){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setTrustedHosts($hostPatterns); - } - - /** - * Gets the list of trusted host patterns. - * - * @return array An array of trusted host patterns. - * @static - */ - public static function getTrustedHosts(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getTrustedHosts(); - } - - /** - * Sets the name for trusted headers. - * - * The following header keys are supported: - * - * * Request::HEADER_CLIENT_IP: defaults to X-Forwarded-For (see getClientIp()) - * * Request::HEADER_CLIENT_HOST: defaults to X-Forwarded-Host (see getClientHost()) - * * Request::HEADER_CLIENT_PORT: defaults to X-Forwarded-Port (see getClientPort()) - * * Request::HEADER_CLIENT_PROTO: defaults to X-Forwarded-Proto (see getScheme() and isSecure()) - * - * Setting an empty value allows to disable the trusted header for the given key. - * - * @param string $key The header key - * @param string $value The header name - * @throws \InvalidArgumentException - * @static - */ - public static function setTrustedHeaderName($key, $value){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setTrustedHeaderName($key, $value); - } - - /** - * Gets the trusted proxy header name. - * - * @param string $key The header key - * @return string The header name - * @throws \InvalidArgumentException - * @static - */ - public static function getTrustedHeaderName($key){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getTrustedHeaderName($key); - } - - /** - * Normalizes a query string. - * - * It builds a normalized query string, where keys/value pairs are alphabetized, - * have consistent escaping and unneeded delimiters are removed. - * - * @param string $qs Query string - * @return string A normalized query string for the Request - * @static - */ - public static function normalizeQueryString($qs){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::normalizeQueryString($qs); - } - - /** - * Enables support for the _method request parameter to determine the intended HTTP method. - * - * Be warned that enabling this feature might lead to CSRF issues in your code. - * Check that you are using CSRF tokens when required. - * - * The HTTP method can only be overridden when the real HTTP method is POST. - * - * @static - */ - public static function enableHttpMethodParameterOverride(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::enableHttpMethodParameterOverride(); - } - - /** - * Checks whether support for the _method request parameter is enabled. - * - * @return bool True when the _method request parameter is enabled, false otherwise - * @static - */ - public static function getHttpMethodParameterOverride(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getHttpMethodParameterOverride(); - } - - /** - * Gets a "parameter" value. - * - * This method is mainly useful for libraries that want to provide some flexibility. - * - * Order of precedence: GET, PATH, POST - * - * Avoid using this method in controllers: - * - * * slow - * * prefer to get from a "named" source - * - * It is better to explicitly get request parameters from the appropriate - * public property instead (query, attributes, request). - * - * @param string $key the key - * @param mixed $default the default value - * @param bool $deep is parameter deep in multidimensional array - * @return mixed - * @static - */ - public static function get($key, $default = null, $deep = false){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::get($key, $default, $deep); - } - - /** - * Gets the Session. - * - * @return \Symfony\Component\HttpFoundation\SessionInterface|null The session - * @api - * @static - */ - public static function getSession(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getSession(); - } - - /** - * Whether the request contains a Session which was started in one of the - * previous requests. - * - * @return bool - * @api - * @static - */ - public static function hasPreviousSession(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::hasPreviousSession(); - } - - /** - * Whether the request contains a Session object. - * - * This method does not give any information about the state of the session object, - * like whether the session is started or not. It is just a way to check if this Request - * is associated with a Session instance. - * - * @return bool true when the Request contains a Session object, false otherwise - * @api - * @static - */ - public static function hasSession(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::hasSession(); - } - - /** - * Sets the Session. - * - * @param \Symfony\Component\HttpFoundation\SessionInterface $session The Session - * @api - * @static - */ - public static function setSession($session){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setSession($session); - } - - /** - * Returns the client IP addresses. - * - * In the returned array the most trusted IP address is first, and the - * least trusted one last. The "real" client IP address is the last one, - * but this is also the least trusted one. Trusted proxies are stripped. - * - * Use this method carefully; you should use getClientIp() instead. - * - * @return array The client IP addresses - * @see getClientIp() - * @static - */ - public static function getClientIps(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getClientIps(); - } - - /** - * Returns the client IP address. - * - * This method can read the client IP address from the "X-Forwarded-For" header - * when trusted proxies were set via "setTrustedProxies()". The "X-Forwarded-For" - * header value is a comma+space separated list of IP addresses, the left-most - * being the original client, and each successive proxy that passed the request - * adding the IP address where it received the request from. - * - * If your reverse proxy uses a different header name than "X-Forwarded-For", - * ("Client-Ip" for instance), configure it via "setTrustedHeaderName()" with - * the "client-ip" key. - * - * @return string The client IP address - * @see getClientIps() - * @see http://en.wikipedia.org/wiki/X-Forwarded-For - * @api - * @static - */ - public static function getClientIp(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getClientIp(); - } - - /** - * Returns current script name. - * - * @return string - * @api - * @static - */ - public static function getScriptName(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getScriptName(); - } - - /** - * Returns the path being requested relative to the executed script. - * - * The path info always starts with a /. - * - * Suppose this request is instantiated from /mysite on localhost: - * - * * http://localhost/mysite returns an empty string - * * http://localhost/mysite/about returns '/about' - * * http://localhost/mysite/enco%20ded returns '/enco%20ded' - * * http://localhost/mysite/about?var=1 returns '/about' - * - * @return string The raw path (i.e. not urldecoded) - * @api - * @static - */ - public static function getPathInfo(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPathInfo(); - } - - /** - * Returns the root path from which this request is executed. - * - * Suppose that an index.php file instantiates this request object: - * - * * http://localhost/index.php returns an empty string - * * http://localhost/index.php/page returns an empty string - * * http://localhost/web/index.php returns '/web' - * * http://localhost/we%20b/index.php returns '/we%20b' - * - * @return string The raw path (i.e. not urldecoded) - * @api - * @static - */ - public static function getBasePath(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getBasePath(); - } - - /** - * Returns the root URL from which this request is executed. - * - * The base URL never ends with a /. - * - * This is similar to getBasePath(), except that it also includes the - * script filename (e.g. index.php) if one exists. - * - * @return string The raw URL (i.e. not urldecoded) - * @api - * @static - */ - public static function getBaseUrl(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getBaseUrl(); - } - - /** - * Gets the request's scheme. - * - * @return string - * @api - * @static - */ - public static function getScheme(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getScheme(); - } - - /** - * Returns the port on which the request is made. - * - * This method can read the client port from the "X-Forwarded-Port" header - * when trusted proxies were set via "setTrustedProxies()". - * - * The "X-Forwarded-Port" header must contain the client port. - * - * If your reverse proxy uses a different header name than "X-Forwarded-Port", - * configure it via "setTrustedHeaderName()" with the "client-port" key. - * - * @return string - * @api - * @static - */ - public static function getPort(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPort(); - } - - /** - * Returns the user. - * - * @return string|null - * @static - */ - public static function getUser(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUser(); - } - - /** - * Returns the password. - * - * @return string|null - * @static - */ - public static function getPassword(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPassword(); - } - - /** - * Gets the user info. - * - * @return string A user name and, optionally, scheme-specific information about how to gain authorization to access the server - * @static - */ - public static function getUserInfo(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUserInfo(); - } - - /** - * Returns the HTTP host being requested. - * - * The port name will be appended to the host if it's non-standard. - * - * @return string - * @api - * @static - */ - public static function getHttpHost(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getHttpHost(); - } - - /** - * Returns the requested URI (path and query string). - * - * @return string The raw URI (i.e. not URI decoded) - * @api - * @static - */ - public static function getRequestUri(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getRequestUri(); - } - - /** - * Gets the scheme and HTTP host. - * - * If the URL was called with basic authentication, the user - * and the password are not added to the generated string. - * - * @return string The scheme and HTTP host - * @static - */ - public static function getSchemeAndHttpHost(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getSchemeAndHttpHost(); - } - - /** - * Generates a normalized URI (URL) for the Request. - * - * @return string A normalized URI (URL) for the Request - * @see getQueryString() - * @api - * @static - */ - public static function getUri(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUri(); - } - - /** - * Generates a normalized URI for the given path. - * - * @param string $path A path to use instead of the current one - * @return string The normalized URI for the path - * @api - * @static - */ - public static function getUriForPath($path){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUriForPath($path); - } - - /** - * Generates the normalized query string for the Request. - * - * It builds a normalized query string, where keys/value pairs are alphabetized - * and have consistent escaping. - * - * @return string|null A normalized query string for the Request - * @api - * @static - */ - public static function getQueryString(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getQueryString(); - } - - /** - * Checks whether the request is secure or not. - * - * This method can read the client port from the "X-Forwarded-Proto" header - * when trusted proxies were set via "setTrustedProxies()". - * - * The "X-Forwarded-Proto" header must contain the protocol: "https" or "http". - * - * If your reverse proxy uses a different header name than "X-Forwarded-Proto" - * ("SSL_HTTPS" for instance), configure it via "setTrustedHeaderName()" with - * the "client-proto" key. - * - * @return bool - * @api - * @static - */ - public static function isSecure(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isSecure(); - } - - /** - * Returns the host name. - * - * This method can read the client port from the "X-Forwarded-Host" header - * when trusted proxies were set via "setTrustedProxies()". - * - * The "X-Forwarded-Host" header must contain the client host name. - * - * If your reverse proxy uses a different header name than "X-Forwarded-Host", - * configure it via "setTrustedHeaderName()" with the "client-host" key. - * - * @return string - * @throws \UnexpectedValueException when the host name is invalid - * @api - * @static - */ - public static function getHost(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getHost(); - } - - /** - * Sets the request method. - * - * @param string $method - * @api - * @static - */ - public static function setMethod($method){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setMethod($method); - } - - /** - * Gets the request "intended" method. - * - * If the X-HTTP-Method-Override header is set, and if the method is a POST, - * then it is used to determine the "real" intended HTTP method. - * - * The _method request parameter can also be used to determine the HTTP method, - * but only if enableHttpMethodParameterOverride() has been called. - * - * The method is always an uppercased string. - * - * @return string The request method - * @api - * @see getRealMethod - * @static - */ - public static function getMethod(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getMethod(); - } - - /** - * Gets the "real" request method. - * - * @return string The request method - * @see getMethod - * @static - */ - public static function getRealMethod(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getRealMethod(); - } - - /** - * Gets the mime type associated with the format. - * - * @param string $format The format - * @return string The associated mime type (null if not found) - * @api - * @static - */ - public static function getMimeType($format){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getMimeType($format); - } - - /** - * Gets the format associated with the mime type. - * - * @param string $mimeType The associated mime type - * @return string|null The format (null if not found) - * @api - * @static - */ - public static function getFormat($mimeType){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getFormat($mimeType); - } - - /** - * Associates a format with mime types. - * - * @param string $format The format - * @param string|array $mimeTypes The associated mime types (the preferred one must be the first as it will be used as the content type) - * @api - * @static - */ - public static function setFormat($format, $mimeTypes){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setFormat($format, $mimeTypes); - } - - /** - * Gets the request format. - * - * Here is the process to determine the format: - * - * * format defined by the user (with setRequestFormat()) - * * _format request parameter - * * $default - * - * @param string $default The default format - * @return string The request format - * @api - * @static - */ - public static function getRequestFormat($default = 'html'){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getRequestFormat($default); - } - - /** - * Sets the request format. - * - * @param string $format The request format. - * @api - * @static - */ - public static function setRequestFormat($format){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setRequestFormat($format); - } - - /** - * Gets the format associated with the request. - * - * @return string|null The format (null if no content type is present) - * @api - * @static - */ - public static function getContentType(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getContentType(); - } - - /** - * Sets the default locale. - * - * @param string $locale - * @api - * @static - */ - public static function setDefaultLocale($locale){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setDefaultLocale($locale); - } - - /** - * Get the default locale. - * - * @return string - * @static - */ - public static function getDefaultLocale(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getDefaultLocale(); - } - - /** - * Sets the locale. - * - * @param string $locale - * @api - * @static - */ - public static function setLocale($locale){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setLocale($locale); - } - - /** - * Get the locale. - * - * @return string - * @static - */ - public static function getLocale(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getLocale(); - } - - /** - * Checks if the request method is of specified type. - * - * @param string $method Uppercase request method (GET, POST etc). - * @return bool - * @static - */ - public static function isMethod($method){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isMethod($method); - } - - /** - * Checks whether the method is safe or not. - * - * @return bool - * @api - * @static - */ - public static function isMethodSafe(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isMethodSafe(); - } - - /** - * Returns the request body content. - * - * @param bool $asResource If true, a resource will be returned - * @return string|resource The request body content or a resource to read the body stream. - * @throws \LogicException - * @static - */ - public static function getContent($asResource = false){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getContent($asResource); - } - - /** - * Gets the Etags. - * - * @return array The entity tags - * @static - */ - public static function getETags(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getETags(); - } - - /** - * - * - * @return bool - * @static - */ - public static function isNoCache(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isNoCache(); - } - - /** - * Returns the preferred language. - * - * @param array $locales An array of ordered available locales - * @return string|null The preferred locale - * @api - * @static - */ - public static function getPreferredLanguage($locales = null){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPreferredLanguage($locales); - } - - /** - * Gets a list of languages acceptable by the client browser. - * - * @return array Languages ordered in the user browser preferences - * @api - * @static - */ - public static function getLanguages(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getLanguages(); - } - - /** - * Gets a list of charsets acceptable by the client browser. - * - * @return array List of charsets in preferable order - * @api - * @static - */ - public static function getCharsets(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getCharsets(); - } - - /** - * Gets a list of encodings acceptable by the client browser. - * - * @return array List of encodings in preferable order - * @static - */ - public static function getEncodings(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getEncodings(); - } - - /** - * Gets a list of content types acceptable by the client browser - * - * @return array List of content types in preferable order - * @api - * @static - */ - public static function getAcceptableContentTypes(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getAcceptableContentTypes(); - } - - /** - * Returns true if the request is a XMLHttpRequest. - * - * It works if your JavaScript library set an X-Requested-With HTTP header. - * It is known to work with common JavaScript frameworks: - * - * @link http://en.wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript - * @return bool true if the request is an XMLHttpRequest, false otherwise - * @api - * @static - */ - public static function isXmlHttpRequest(){ - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isXmlHttpRequest(); - } - - } - - - class Response extends \Illuminate\Support\Facades\Response{ - - } - - - class Route extends \Illuminate\Support\Facades\Route{ - - /** - * Register a new GET route with the router. - * - * @param string $uri - * @param \Closure|array|string $action - * @return \Illuminate\Routing\Route - * @static - */ - public static function get($uri, $action){ - return \Illuminate\Routing\Router::get($uri, $action); - } - - /** - * Register a new POST route with the router. - * - * @param string $uri - * @param \Closure|array|string $action - * @return \Illuminate\Routing\Route - * @static - */ - public static function post($uri, $action){ - return \Illuminate\Routing\Router::post($uri, $action); - } - - /** - * Register a new PUT route with the router. - * - * @param string $uri - * @param \Closure|array|string $action - * @return \Illuminate\Routing\Route - * @static - */ - public static function put($uri, $action){ - return \Illuminate\Routing\Router::put($uri, $action); - } - - /** - * Register a new PATCH route with the router. - * - * @param string $uri - * @param \Closure|array|string $action - * @return \Illuminate\Routing\Route - * @static - */ - public static function patch($uri, $action){ - return \Illuminate\Routing\Router::patch($uri, $action); - } - - /** - * Register a new DELETE route with the router. - * - * @param string $uri - * @param \Closure|array|string $action - * @return \Illuminate\Routing\Route - * @static - */ - public static function delete($uri, $action){ - return \Illuminate\Routing\Router::delete($uri, $action); - } - - /** - * Register a new OPTIONS route with the router. - * - * @param string $uri - * @param \Closure|array|string $action - * @return \Illuminate\Routing\Route - * @static - */ - public static function options($uri, $action){ - return \Illuminate\Routing\Router::options($uri, $action); - } - - /** - * Register a new route responding to all verbs. - * - * @param string $uri - * @param \Closure|array|string $action - * @return \Illuminate\Routing\Route - * @static - */ - public static function any($uri, $action){ - return \Illuminate\Routing\Router::any($uri, $action); - } - - /** - * Register a new route with the given verbs. - * - * @param array|string $methods - * @param string $uri - * @param \Closure|array|string $action - * @return \Illuminate\Routing\Route - * @static - */ - public static function match($methods, $uri, $action){ - return \Illuminate\Routing\Router::match($methods, $uri, $action); - } - - /** - * Register an array of controllers with wildcard routing. - * - * @param array $controllers - * @return void - * @static - */ - public static function controllers($controllers){ - \Illuminate\Routing\Router::controllers($controllers); - } - - /** - * Route a controller to a URI with wildcard routing. - * - * @param string $uri - * @param string $controller - * @param array $names - * @return void - * @static - */ - public static function controller($uri, $controller, $names = array()){ - \Illuminate\Routing\Router::controller($uri, $controller, $names); - } - - /** - * Route a resource to a controller. - * - * @param string $name - * @param string $controller - * @param array $options - * @return void - * @static - */ - public static function resource($name, $controller, $options = array()){ - \Illuminate\Routing\Router::resource($name, $controller, $options); - } - - /** - * Get the base resource URI for a given resource. - * - * @param string $resource - * @return string - * @static - */ - public static function getResourceUri($resource){ - return \Illuminate\Routing\Router::getResourceUri($resource); - } - - /** - * Format a resource wildcard for usage. - * - * @param string $value - * @return string - * @static - */ - public static function getResourceWildcard($value){ - return \Illuminate\Routing\Router::getResourceWildcard($value); - } - - /** - * Create a route group with shared attributes. - * - * @param array $attributes - * @param \Closure $callback - * @return void - * @static - */ - public static function group($attributes, $callback){ - \Illuminate\Routing\Router::group($attributes, $callback); - } - - /** - * Merge the given array with the last group stack. - * - * @param array $new - * @return array - * @static - */ - public static function mergeWithLastGroup($new){ - return \Illuminate\Routing\Router::mergeWithLastGroup($new); - } - - /** - * Merge the given group attributes. - * - * @param array $new - * @param array $old - * @return array - * @static - */ - public static function mergeGroup($new, $old){ - return \Illuminate\Routing\Router::mergeGroup($new, $old); - } - - /** - * Dispatch the request to the application. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - * @static - */ - public static function dispatch($request){ - return \Illuminate\Routing\Router::dispatch($request); - } - - /** - * Dispatch the request to a route and return the response. - * - * @param \Illuminate\Http\Request $request - * @return mixed - * @static - */ - public static function dispatchToRoute($request){ - return \Illuminate\Routing\Router::dispatchToRoute($request); - } - - /** - * Register a route matched event listener. - * - * @param callable $callback - * @return void - * @static - */ - public static function matched($callback){ - \Illuminate\Routing\Router::matched($callback); - } - - /** - * Register a new "before" filter with the router. - * - * @param mixed $callback - * @return void - * @static - */ - public static function before($callback){ - \Illuminate\Routing\Router::before($callback); - } - - /** - * Register a new "after" filter with the router. - * - * @param mixed $callback - * @return void - * @static - */ - public static function after($callback){ - \Illuminate\Routing\Router::after($callback); - } - - /** - * Register a new filter with the router. - * - * @param string $name - * @param mixed $callback - * @return void - * @static - */ - public static function filter($name, $callback){ - \Illuminate\Routing\Router::filter($name, $callback); - } - - /** - * Register a pattern-based filter with the router. - * - * @param string $pattern - * @param string $name - * @param array|null $methods - * @static - */ - public static function when($pattern, $name, $methods = null){ - return \Illuminate\Routing\Router::when($pattern, $name, $methods); - } - - /** - * Register a regular expression based filter with the router. - * - * @param string $pattern - * @param string $name - * @param array|null $methods - * @return void - * @static - */ - public static function whenRegex($pattern, $name, $methods = null){ - \Illuminate\Routing\Router::whenRegex($pattern, $name, $methods); - } - - /** - * Register a model binder for a wildcard. - * - * @param string $key - * @param string $class - * @param \Closure $callback - * @return void - * @throws NotFoundHttpException - * @static - */ - public static function model($key, $class, $callback = null){ - \Illuminate\Routing\Router::model($key, $class, $callback); - } - - /** - * Add a new route parameter binder. - * - * @param string $key - * @param callable $binder - * @return void - * @static - */ - public static function bind($key, $binder){ - \Illuminate\Routing\Router::bind($key, $binder); - } - - /** - * Set a global where pattern on all routes - * - * @param string $key - * @param string $pattern - * @return void - * @static - */ - public static function pattern($key, $pattern){ - \Illuminate\Routing\Router::pattern($key, $pattern); - } - - /** - * Call the given route's before filters. - * - * @param \Illuminate\Routing\Route $route - * @param \Illuminate\Http\Request $request - * @return mixed - * @static - */ - public static function callRouteBefore($route, $request){ - return \Illuminate\Routing\Router::callRouteBefore($route, $request); - } - - /** - * Find the patterned filters matching a request. - * - * @param \Illuminate\Http\Request $request - * @return array - * @static - */ - public static function findPatternFilters($request){ - return \Illuminate\Routing\Router::findPatternFilters($request); - } - - /** - * Call the given route's before filters. - * - * @param \Illuminate\Routing\Route $route - * @param \Illuminate\Http\Request $request - * @param \Illuminate\Http\Response $response - * @return mixed - * @static - */ - public static function callRouteAfter($route, $request, $response){ - return \Illuminate\Routing\Router::callRouteAfter($route, $request, $response); - } - - /** - * Call the given route filter. - * - * @param string $filter - * @param array $parameters - * @param \Illuminate\Routing\Route $route - * @param \Illuminate\Http\Request $request - * @param \Illuminate\Http\Response|null $response - * @return mixed - * @static - */ - public static function callRouteFilter($filter, $parameters, $route, $request, $response = null){ - return \Illuminate\Routing\Router::callRouteFilter($filter, $parameters, $route, $request, $response); - } - - /** - * Run a callback with filters disable on the router. - * - * @param callable $callback - * @return void - * @static - */ - public static function withoutFilters($callback){ - \Illuminate\Routing\Router::withoutFilters($callback); - } - - /** - * Enable route filtering on the router. - * - * @return void - * @static - */ - public static function enableFilters(){ - \Illuminate\Routing\Router::enableFilters(); - } - - /** - * Disable route filtering on the router. - * - * @return void - * @static - */ - public static function disableFilters(){ - \Illuminate\Routing\Router::disableFilters(); - } - - /** - * Get a route parameter for the current route. - * - * @param string $key - * @param string $default - * @return mixed - * @static - */ - public static function input($key, $default = null){ - return \Illuminate\Routing\Router::input($key, $default); - } - - /** - * Get the currently dispatched route instance. - * - * @return \Illuminate\Routing\Route - * @static - */ - public static function getCurrentRoute(){ - return \Illuminate\Routing\Router::getCurrentRoute(); - } - - /** - * Get the currently dispatched route instance. - * - * @return \Illuminate\Routing\Route - * @static - */ - public static function current(){ - return \Illuminate\Routing\Router::current(); - } - - /** - * Get the current route name. - * - * @return string|null - * @static - */ - public static function currentRouteName(){ - return \Illuminate\Routing\Router::currentRouteName(); - } - - /** - * Determine if the current route matches a given name. - * - * @param string $name - * @return bool - * @static - */ - public static function currentRouteNamed($name){ - return \Illuminate\Routing\Router::currentRouteNamed($name); - } - - /** - * Get the current route action. - * - * @return string|null - * @static - */ - public static function currentRouteAction(){ - return \Illuminate\Routing\Router::currentRouteAction(); - } - - /** - * Determine if the current route action matches a given action. - * - * @param string $action - * @return bool - * @static - */ - public static function currentRouteUses($action){ - return \Illuminate\Routing\Router::currentRouteUses($action); - } - - /** - * Get the request currently being dispatched. - * - * @return \Illuminate\Http\Request - * @static - */ - public static function getCurrentRequest(){ - return \Illuminate\Routing\Router::getCurrentRequest(); - } - - /** - * Get the underlying route collection. - * - * @return \Illuminate\Routing\RouteCollection - * @static - */ - public static function getRoutes(){ - return \Illuminate\Routing\Router::getRoutes(); - } - - /** - * Get the controller dispatcher instance. - * - * @return \Illuminate\Routing\ControllerDispatcher - * @static - */ - public static function getControllerDispatcher(){ - return \Illuminate\Routing\Router::getControllerDispatcher(); - } - - /** - * Set the controller dispatcher instance. - * - * @param \Illuminate\Routing\ControllerDispatcher $dispatcher - * @return void - * @static - */ - public static function setControllerDispatcher($dispatcher){ - \Illuminate\Routing\Router::setControllerDispatcher($dispatcher); - } - - /** - * Get a controller inspector instance. - * - * @return \Illuminate\Routing\ControllerInspector - * @static - */ - public static function getInspector(){ - return \Illuminate\Routing\Router::getInspector(); - } - - /** - * Get the response for a given request. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @return \Symfony\Component\HttpFoundation\Response - * @static - */ - public static function handle($request, $type = 1, $catch = true){ - return \Illuminate\Routing\Router::handle($request, $type, $catch); - } - - } - - - class Schema extends \Illuminate\Support\Facades\Schema{ - - /** - * Determine if the given table exists. - * - * @param string $table - * @return bool - * @static - */ - public static function hasTable($table){ - return \Illuminate\Database\Schema\MySqlBuilder::hasTable($table); - } - - /** - * Determine if the given table has a given column. - * - * @param string $table - * @param string $column - * @return bool - * @static - */ - public static function hasColumn($table, $column){ - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::hasColumn($table, $column); - } - - /** - * Modify a table on the schema. - * - * @param string $table - * @param \Closure $callback - * @return \Illuminate\Database\Schema\Blueprint - * @static - */ - public static function table($table, $callback){ - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::table($table, $callback); - } - - /** - * Create a new table on the schema. - * - * @param string $table - * @param \Closure $callback - * @return \Illuminate\Database\Schema\Blueprint - * @static - */ - public static function create($table, $callback){ - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::create($table, $callback); - } - - /** - * Drop a table from the schema. - * - * @param string $table - * @return \Illuminate\Database\Schema\Blueprint - * @static - */ - public static function drop($table){ - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::drop($table); - } - - /** - * Drop a table from the schema if it exists. - * - * @param string $table - * @return \Illuminate\Database\Schema\Blueprint - * @static - */ - public static function dropIfExists($table){ - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::dropIfExists($table); - } - - /** - * Rename a table on the schema. - * - * @param string $from - * @param string $to - * @return \Illuminate\Database\Schema\Blueprint - * @static - */ - public static function rename($from, $to){ - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::rename($from, $to); - } - - /** - * Get the database connection instance. - * - * @return \Illuminate\Database\Connection - * @static - */ - public static function getConnection(){ - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::getConnection(); - } - - /** - * Set the database connection instance. - * - * @param \Illuminate\Database\Connection - * @return \Illuminate\Database\Schema\Builder - * @static - */ - public static function setConnection($connection){ - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::setConnection($connection); - } - - /** - * Set the Schema Blueprint resolver callback. - * - * @param \Closure $resolver - * @return void - * @static - */ - public static function blueprintResolver($resolver){ - //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::blueprintResolver($resolver); - } - - } - - - class Seeder extends \Illuminate\Database\Seeder{ - - } - - - class Session extends \Illuminate\Support\Facades\Session{ - - /** - * Get the session configuration. - * - * @return array - * @static - */ - public static function getSessionConfig(){ - return \Illuminate\Session\SessionManager::getSessionConfig(); - } - - /** - * Get the default session driver name. - * - * @return string - * @static - */ - public static function getDefaultDriver(){ - return \Illuminate\Session\SessionManager::getDefaultDriver(); - } - - /** - * Set the default session driver name. - * - * @param string $name - * @return void - * @static - */ - public static function setDefaultDriver($name){ - \Illuminate\Session\SessionManager::setDefaultDriver($name); - } - - /** - * Get a driver instance. - * - * @param string $driver - * @return mixed - * @static - */ - public static function driver($driver = null){ - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Session\SessionManager::driver($driver); - } - - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return \Illuminate\Support\Manager|static - * @static - */ - public static function extend($driver, $callback){ - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Session\SessionManager::extend($driver, $callback); - } - - /** - * Get all of the created "drivers". - * - * @return array - * @static - */ - public static function getDrivers(){ - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Session\SessionManager::getDrivers(); - } - - /** - * Starts the session storage. - * - * @return bool True if session started. - * @throws \RuntimeException If session fails to start. - * @api - * @static - */ - public static function start(){ - return \Illuminate\Session\Store::start(); - } - - /** - * Returns the session ID. - * - * @return string The session ID. - * @api - * @static - */ - public static function getId(){ - return \Illuminate\Session\Store::getId(); - } - - /** - * Sets the session ID - * - * @param string $id - * @api - * @static - */ - public static function setId($id){ - return \Illuminate\Session\Store::setId($id); - } - - /** - * Returns the session name. - * - * @return mixed The session name. - * @api - * @static - */ - public static function getName(){ - return \Illuminate\Session\Store::getName(); - } - - /** - * Sets the session name. - * - * @param string $name - * @api - * @static - */ - public static function setName($name){ - return \Illuminate\Session\Store::setName($name); - } - - /** - * Invalidates the current session. - * - * Clears all session attributes and flashes and regenerates the - * session and deletes the old session from persistence. - * - * @param int $lifetime Sets the cookie lifetime for the session cookie. A null value - * will leave the system settings unchanged, 0 sets the cookie - * to expire with browser session. Time is in seconds, and is - * not a Unix timestamp. - * @return bool True if session invalidated, false if error. - * @api - * @static - */ - public static function invalidate($lifetime = null){ - return \Illuminate\Session\Store::invalidate($lifetime); - } - - /** - * Migrates the current session to a new session id while maintaining all - * session attributes. - * - * @param bool $destroy Whether to delete the old session or leave it to garbage collection. - * @param int $lifetime Sets the cookie lifetime for the session cookie. A null value - * will leave the system settings unchanged, 0 sets the cookie - * to expire with browser session. Time is in seconds, and is - * not a Unix timestamp. - * @return bool True if session migrated, false if error. - * @api - * @static - */ - public static function migrate($destroy = false, $lifetime = null){ - return \Illuminate\Session\Store::migrate($destroy, $lifetime); - } - - /** - * Generate a new session identifier. - * - * @param bool $destroy - * @return bool - * @static - */ - public static function regenerate($destroy = false){ - return \Illuminate\Session\Store::regenerate($destroy); - } - - /** - * Force the session to be saved and closed. - * - * This method is generally not required for real sessions as - * the session will be automatically saved at the end of - * code execution. - * - * @static - */ - public static function save(){ - return \Illuminate\Session\Store::save(); - } - - /** - * Age the flash data for the session. - * - * @return void - * @static - */ - public static function ageFlashData(){ - \Illuminate\Session\Store::ageFlashData(); - } - - /** - * Checks if an attribute is defined. - * - * @param string $name The attribute name - * @return bool true if the attribute is defined, false otherwise - * @api - * @static - */ - public static function has($name){ - return \Illuminate\Session\Store::has($name); - } - - /** - * Returns an attribute. - * - * @param string $name The attribute name - * @param mixed $default The default value if not found. - * @return mixed - * @api - * @static - */ - public static function get($name, $default = null){ - return \Illuminate\Session\Store::get($name, $default); - } - - /** - * Determine if the session contains old input. - * - * @param string $key - * @return bool - * @static - */ - public static function hasOldInput($key = null){ - return \Illuminate\Session\Store::hasOldInput($key); - } - - /** - * Get the requested item from the flashed input array. - * - * @param string $key - * @param mixed $default - * @return mixed - * @static - */ - public static function getOldInput($key = null, $default = null){ - return \Illuminate\Session\Store::getOldInput($key, $default); - } - - /** - * Sets an attribute. - * - * @param string $name - * @param mixed $value - * @api - * @static - */ - public static function set($name, $value){ - return \Illuminate\Session\Store::set($name, $value); - } - - /** - * Put a key / value pair or array of key / value pairs in the session. - * - * @param string|array $key - * @param mixed|null $value - * @return void - * @static - */ - public static function put($key, $value){ - \Illuminate\Session\Store::put($key, $value); - } - - /** - * Push a value onto a session array. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ - public static function push($key, $value){ - \Illuminate\Session\Store::push($key, $value); - } - - /** - * Flash a key / value pair to the session. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ - public static function flash($key, $value){ - \Illuminate\Session\Store::flash($key, $value); - } - - /** - * Flash an input array to the session. - * - * @param array $value - * @return void - * @static - */ - public static function flashInput($value){ - \Illuminate\Session\Store::flashInput($value); - } - - /** - * Reflash all of the session flash data. - * - * @return void - * @static - */ - public static function reflash(){ - \Illuminate\Session\Store::reflash(); - } - - /** - * Reflash a subset of the current flash data. - * - * @param array|mixed $keys - * @return void - * @static - */ - public static function keep($keys = null){ - \Illuminate\Session\Store::keep($keys); - } - - /** - * Returns attributes. - * - * @return array Attributes - * @api - * @static - */ - public static function all(){ - return \Illuminate\Session\Store::all(); - } - - /** - * Sets attributes. - * - * @param array $attributes Attributes - * @static - */ - public static function replace($attributes){ - return \Illuminate\Session\Store::replace($attributes); - } - - /** - * Removes an attribute. - * - * @param string $name - * @return mixed The removed value or null when it does not exist - * @api - * @static - */ - public static function remove($name){ - return \Illuminate\Session\Store::remove($name); - } - - /** - * Remove an item from the session. - * - * @param string $key - * @return void - * @static - */ - public static function forget($key){ - \Illuminate\Session\Store::forget($key); - } - - /** - * Clears all attributes. - * - * @api - * @static - */ - public static function clear(){ - return \Illuminate\Session\Store::clear(); - } - - /** - * Remove all of the items from the session. - * - * @return void - * @static - */ - public static function flush(){ - \Illuminate\Session\Store::flush(); - } - - /** - * Checks if the session was started. - * - * @return bool - * @static - */ - public static function isStarted(){ - return \Illuminate\Session\Store::isStarted(); - } - - /** - * Registers a SessionBagInterface with the session. - * - * @param \Symfony\Component\HttpFoundation\Session\SessionBagInterface $bag - * @static - */ - public static function registerBag($bag){ - return \Illuminate\Session\Store::registerBag($bag); - } - - /** - * Gets a bag instance by name. - * - * @param string $name - * @return \Symfony\Component\HttpFoundation\Session\SessionBagInterface - * @static - */ - public static function getBag($name){ - return \Illuminate\Session\Store::getBag($name); - } - - /** - * Gets session meta. - * - * @return \Symfony\Component\HttpFoundation\Session\MetadataBag - * @static - */ - public static function getMetadataBag(){ - return \Illuminate\Session\Store::getMetadataBag(); - } - - /** - * Get the raw bag data array for a given bag. - * - * @param string $name - * @return array - * @static - */ - public static function getBagData($name){ - return \Illuminate\Session\Store::getBagData($name); - } - - /** - * Get the CSRF token value. - * - * @return string - * @static - */ - public static function token(){ - return \Illuminate\Session\Store::token(); - } - - /** - * Get the CSRF token value. - * - * @return string - * @static - */ - public static function getToken(){ - return \Illuminate\Session\Store::getToken(); - } - - /** - * Regenerate the CSRF token value. - * - * @return void - * @static - */ - public static function regenerateToken(){ - \Illuminate\Session\Store::regenerateToken(); - } - - /** - * Get the underlying session handler implementation. - * - * @return \SessionHandlerInterface - * @static - */ - public static function getHandler(){ - return \Illuminate\Session\Store::getHandler(); - } - - /** - * Determine if the session handler needs a request. - * - * @return bool - * @static - */ - public static function handlerNeedsRequest(){ - return \Illuminate\Session\Store::handlerNeedsRequest(); - } - - /** - * Set the request on the handler instance. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @return void - * @static - */ - public static function setRequestOnHandler($request){ - \Illuminate\Session\Store::setRequestOnHandler($request); - } - - } - - - class Str extends \Illuminate\Support\Str{ - - } - - - class URL extends \Illuminate\Support\Facades\URL{ - - /** - * Get the full URL for the current request. - * - * @return string - * @static - */ - public static function full(){ - return \Illuminate\Routing\UrlGenerator::full(); - } - - /** - * Get the current URL for the request. - * - * @return string - * @static - */ - public static function current(){ - return \Illuminate\Routing\UrlGenerator::current(); - } - - /** - * Get the URL for the previous request. - * - * @return string - * @static - */ - public static function previous(){ - return \Illuminate\Routing\UrlGenerator::previous(); - } - - /** - * Generate a absolute URL to the given path. - * - * @param string $path - * @param mixed $extra - * @param bool $secure - * @return string - * @static - */ - public static function to($path, $extra = array(), $secure = null){ - return \Illuminate\Routing\UrlGenerator::to($path, $extra, $secure); - } - - /** - * Generate a secure, absolute URL to the given path. - * - * @param string $path - * @param array $parameters - * @return string - * @static - */ - public static function secure($path, $parameters = array()){ - return \Illuminate\Routing\UrlGenerator::secure($path, $parameters); - } - - /** - * Generate a URL to an application asset. - * - * @param string $path - * @param bool $secure - * @return string - * @static - */ - public static function asset($path, $secure = null){ - return \Illuminate\Routing\UrlGenerator::asset($path, $secure); - } - - /** - * Generate a URL to a secure asset. - * - * @param string $path - * @return string - * @static - */ - public static function secureAsset($path){ - return \Illuminate\Routing\UrlGenerator::secureAsset($path); - } - - /** - * Get the URL to a named route. - * - * @param string $name - * @param mixed $parameters - * @param bool $absolute - * @param \Illuminate\Routing\Route $route - * @return string - * @throws \InvalidArgumentException - * @static - */ - public static function route($name, $parameters = array(), $absolute = true, $route = null){ - return \Illuminate\Routing\UrlGenerator::route($name, $parameters, $absolute, $route); - } - - /** - * Get the URL to a controller action. - * - * @param string $action - * @param mixed $parameters - * @param bool $absolute - * @return string - * @static - */ - public static function action($action, $parameters = array(), $absolute = true){ - return \Illuminate\Routing\UrlGenerator::action($action, $parameters, $absolute); - } - - /** - * Determine if the given path is a valid URL. - * - * @param string $path - * @return bool - * @static - */ - public static function isValidUrl($path){ - return \Illuminate\Routing\UrlGenerator::isValidUrl($path); - } - - /** - * Get the request instance. - * - * @return \Symfony\Component\HttpFoundation\Request - * @static - */ - public static function getRequest(){ - return \Illuminate\Routing\UrlGenerator::getRequest(); - } - - /** - * Set the current request instance. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @return void - * @static - */ - public static function setRequest($request){ - \Illuminate\Routing\UrlGenerator::setRequest($request); - } - - } - - - class Validator extends \Illuminate\Support\Facades\Validator{ - - /** - * Create a new Validator instance. - * - * @param array $data - * @param array $rules - * @param array $messages - * @return \Illuminate\Validation\Validator - * @static - */ - public static function make($data, $rules, $messages = array(), $customAttributes = array()){ - return \Illuminate\Validation\Factory::make($data, $rules, $messages, $customAttributes); - } - - /** - * Register a custom validator extension. - * - * @param string $rule - * @param \Closure|string $extension - * @param string $message - * @return void - * @static - */ - public static function extend($rule, $extension, $message = null){ - \Illuminate\Validation\Factory::extend($rule, $extension, $message); - } - - /** - * Register a custom implicit validator extension. - * - * @param string $rule - * @param \Closure|string $extension - * @param string $message - * @return void - * @static - */ - public static function extendImplicit($rule, $extension, $message = null){ - \Illuminate\Validation\Factory::extendImplicit($rule, $extension, $message); - } - - /** - * Register a custom implicit validator message replacer. - * - * @param string $rule - * @param \Closure|string $replacer - * @return void - * @static - */ - public static function replacer($rule, $replacer){ - \Illuminate\Validation\Factory::replacer($rule, $replacer); - } - - /** - * Set the Validator instance resolver. - * - * @param \Closure $resolver - * @return void - * @static - */ - public static function resolver($resolver){ - \Illuminate\Validation\Factory::resolver($resolver); - } - - /** - * Get the Translator implementation. - * - * @return \Symfony\Component\Translation\TranslatorInterface - * @static - */ - public static function getTranslator(){ - return \Illuminate\Validation\Factory::getTranslator(); - } - - /** - * Get the Presence Verifier implementation. - * - * @return \Illuminate\Validation\PresenceVerifierInterface - * @static - */ - public static function getPresenceVerifier(){ - return \Illuminate\Validation\Factory::getPresenceVerifier(); - } - - /** - * Set the Presence Verifier implementation. - * - * @param \Illuminate\Validation\PresenceVerifierInterface $presenceVerifier - * @return void - * @static - */ - public static function setPresenceVerifier($presenceVerifier){ - \Illuminate\Validation\Factory::setPresenceVerifier($presenceVerifier); - } - - } - - - class View extends \Illuminate\Support\Facades\View{ - - /** - * Get the evaluated view contents for the given view. - * - * @param string $view - * @param array $data - * @param array $mergeData - * @return \Illuminate\View\View - * @static - */ - public static function make($view, $data = array(), $mergeData = array()){ - return \Illuminate\View\Environment::make($view, $data, $mergeData); - } - - /** - * Get the evaluated view contents for a named view. - * - * @param string $view - * @param mixed $data - * @return \Illuminate\View\View - * @static - */ - public static function of($view, $data = array()){ - return \Illuminate\View\Environment::of($view, $data); - } - - /** - * Register a named view. - * - * @param string $view - * @param string $name - * @return void - * @static - */ - public static function name($view, $name){ - \Illuminate\View\Environment::name($view, $name); - } - - /** - * Determine if a given view exists. - * - * @param string $view - * @return bool - * @static - */ - public static function exists($view){ - return \Illuminate\View\Environment::exists($view); - } - - /** - * Get the rendered contents of a partial from a loop. - * - * @param string $view - * @param array $data - * @param string $iterator - * @param string $empty - * @return string - * @static - */ - public static function renderEach($view, $data, $iterator, $empty = 'raw|'){ - return \Illuminate\View\Environment::renderEach($view, $data, $iterator, $empty); - } - - /** - * Add a piece of shared data to the environment. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ - public static function share($key, $value = null){ - \Illuminate\View\Environment::share($key, $value); - } - - /** - * Register a view creator event. - * - * @param array|string $views - * @param \Closure|string $callback - * @return array - * @static - */ - public static function creator($views, $callback){ - return \Illuminate\View\Environment::creator($views, $callback); - } - - /** - * Register multiple view composers via an array. - * - * @param array $composers - * @return array - * @static - */ - public static function composers($composers){ - return \Illuminate\View\Environment::composers($composers); - } - - /** - * Register a view composer event. - * - * @param array|string $views - * @param \Closure|string $callback - * @return array - * @static - */ - public static function composer($views, $callback, $priority = null){ - return \Illuminate\View\Environment::composer($views, $callback, $priority); - } - - /** - * Call the composer for a given view. - * - * @param \Illuminate\View\View $view - * @return void - * @static - */ - public static function callComposer($view){ - \Illuminate\View\Environment::callComposer($view); - } - - /** - * Call the creator for a given view. - * - * @param \Illuminate\View\View $view - * @return void - * @static - */ - public static function callCreator($view){ - \Illuminate\View\Environment::callCreator($view); - } - - /** - * Start injecting content into a section. - * - * @param string $section - * @param string $content - * @return void - * @static - */ - public static function startSection($section, $content = ''){ - \Illuminate\View\Environment::startSection($section, $content); - } - - /** - * Inject inline content into a section. - * - * @param string $section - * @param string $content - * @return void - * @static - */ - public static function inject($section, $content){ - \Illuminate\View\Environment::inject($section, $content); - } - - /** - * Stop injecting content into a section and return its contents. - * - * @return string - * @static - */ - public static function yieldSection(){ - return \Illuminate\View\Environment::yieldSection(); - } - - /** - * Stop injecting content into a section. - * - * @param bool $overwrite - * @return string - * @static - */ - public static function stopSection($overwrite = false){ - return \Illuminate\View\Environment::stopSection($overwrite); - } - - /** - * Stop injecting content into a section and append it. - * - * @return string - * @static - */ - public static function appendSection(){ - return \Illuminate\View\Environment::appendSection(); - } - - /** - * Get the string contents of a section. - * - * @param string $section - * @param string $default - * @return string - * @static - */ - public static function yieldContent($section, $default = ''){ - return \Illuminate\View\Environment::yieldContent($section, $default); - } - - /** - * Flush all of the section contents. - * - * @return void - * @static - */ - public static function flushSections(){ - \Illuminate\View\Environment::flushSections(); - } - - /** - * Flush all of the section contents if done rendering. - * - * @return void - * @static - */ - public static function flushSectionsIfDoneRendering(){ - \Illuminate\View\Environment::flushSectionsIfDoneRendering(); - } - - /** - * Increment the rendering counter. - * - * @return void - * @static - */ - public static function incrementRender(){ - \Illuminate\View\Environment::incrementRender(); - } - - /** - * Decrement the rendering counter. - * - * @return void - * @static - */ - public static function decrementRender(){ - \Illuminate\View\Environment::decrementRender(); - } - - /** - * Check if there are no active render operations. - * - * @return bool - * @static - */ - public static function doneRendering(){ - return \Illuminate\View\Environment::doneRendering(); - } - - /** - * Add a location to the array of view locations. - * - * @param string $location - * @return void - * @static - */ - public static function addLocation($location){ - \Illuminate\View\Environment::addLocation($location); - } - - /** - * Add a new namespace to the loader. - * - * @param string $namespace - * @param string|array $hints - * @return void - * @static - */ - public static function addNamespace($namespace, $hints){ - \Illuminate\View\Environment::addNamespace($namespace, $hints); - } - - /** - * Prepend a new namespace to the loader. - * - * @param string $namespace - * @param string|array $hints - * @return void - * @static - */ - public static function prependNamespace($namespace, $hints){ - \Illuminate\View\Environment::prependNamespace($namespace, $hints); - } - - /** - * Register a valid view extension and its engine. - * - * @param string $extension - * @param string $engine - * @param \Closure $resolver - * @return void - * @static - */ - public static function addExtension($extension, $engine, $resolver = null){ - \Illuminate\View\Environment::addExtension($extension, $engine, $resolver); - } - - /** - * Get the extension to engine bindings. - * - * @return array - * @static - */ - public static function getExtensions(){ - return \Illuminate\View\Environment::getExtensions(); - } - - /** - * Get the engine resolver instance. - * - * @return \Illuminate\View\Engines\EngineResolver - * @static - */ - public static function getEngineResolver(){ - return \Illuminate\View\Environment::getEngineResolver(); - } - - /** - * Get the view finder instance. - * - * @return \Illuminate\View\ViewFinderInterface - * @static - */ - public static function getFinder(){ - return \Illuminate\View\Environment::getFinder(); - } - - /** - * Set the view finder instance. - * - * @return void - * @static - */ - public static function setFinder($finder){ - \Illuminate\View\Environment::setFinder($finder); - } - - /** - * Get the event dispatcher instance. - * - * @return \Illuminate\Events\Dispatcher - * @static - */ - public static function getDispatcher(){ - return \Illuminate\View\Environment::getDispatcher(); - } - - /** - * Set the event dispatcher instance. - * - * @param \Illuminate\Events\Dispatcher - * @return void - * @static - */ - public static function setDispatcher($events){ - \Illuminate\View\Environment::setDispatcher($events); - } - - /** - * Get the IoC container instance. - * - * @return \Illuminate\Container\Container - * @static - */ - public static function getContainer(){ - return \Illuminate\View\Environment::getContainer(); - } - - /** - * Set the IoC container instance. - * - * @param \Illuminate\Container\Container $container - * @return void - * @static - */ - public static function setContainer($container){ - \Illuminate\View\Environment::setContainer($container); - } - - /** - * Get an item from the shared data. - * - * @param string $key - * @param mixed $default - * @return mixed - * @static - */ - public static function shared($key, $default = null){ - return \Illuminate\View\Environment::shared($key, $default); - } - - /** - * Get all of the shared data for the environment. - * - * @return array - * @static - */ - public static function getShared(){ - return \Illuminate\View\Environment::getShared(); - } - - /** - * Get the entire array of sections. - * - * @return array - * @static - */ - public static function getSections(){ - return \Illuminate\View\Environment::getSections(); - } - - /** - * Get all of the registered named views in environment. - * - * @return array - * @static - */ - public static function getNames(){ - return \Illuminate\View\Environment::getNames(); - } - - } - - - class SSH extends \Illuminate\Support\Facades\SSH{ - - /** - * Get a remote connection instance. - * - * @param string|array|mixed $name - * @return \Illuminate\Remote\Connection - * @static - */ - public static function into($name){ - return \Illuminate\Remote\RemoteManager::into($name); - } - - /** - * Get a remote connection instance. - * - * @param string|array $name - * @return \Illuminate\Remote\Connection - * @static - */ - public static function connection($name = null){ - return \Illuminate\Remote\RemoteManager::connection($name); - } - - /** - * Get a connection group instance by name. - * - * @param string $name - * @return \Illuminate\Remote\Connection - * @static - */ - public static function group($name){ - return \Illuminate\Remote\RemoteManager::group($name); - } - - /** - * Resolve a multiple connection instance. - * - * @param array $names - * @return \Illuminate\Remote\MultiConnection - * @static - */ - public static function multiple($names){ - return \Illuminate\Remote\RemoteManager::multiple($names); - } - - /** - * Resolve a remote connection instance. - * - * @param string $name - * @return \Illuminate\Remote\Connection - * @static - */ - public static function resolve($name){ - return \Illuminate\Remote\RemoteManager::resolve($name); - } - - /** - * Get the default connection name. - * - * @return string - * @static - */ - public static function getDefaultConnection(){ - return \Illuminate\Remote\RemoteManager::getDefaultConnection(); - } - - /** - * Set the default connection name. - * - * @param string $name - * @return void - * @static - */ - public static function setDefaultConnection($name){ - \Illuminate\Remote\RemoteManager::setDefaultConnection($name); - } - - /** - * Define a set of commands as a task. - * - * @param string $task - * @param string|array $commands - * @return void - * @static - */ - public static function define($task, $commands){ - \Illuminate\Remote\Connection::define($task, $commands); - } - - /** - * Run a task against the connection. - * - * @param string $task - * @param \Closure $callback - * @return void - * @static - */ - public static function task($task, $callback = null){ - \Illuminate\Remote\Connection::task($task, $callback); - } - - /** - * Run a set of commands against the connection. - * - * @param string|array $commands - * @param \Closure $callback - * @return void - * @static - */ - public static function run($commands, $callback = null){ - \Illuminate\Remote\Connection::run($commands, $callback); - } - - /** - * Download the contents of a remote file. - * - * @param string $remote - * @param string $local - * @return void - * @static - */ - public static function get($remote, $local){ - \Illuminate\Remote\Connection::get($remote, $local); - } - - /** - * Get the contents of a remote file. - * - * @param string $remote - * @return string - * @static - */ - public static function getString($remote){ - return \Illuminate\Remote\Connection::getString($remote); - } - - /** - * Upload a local file to the server. - * - * @param string $local - * @param string $remote - * @return void - * @static - */ - public static function put($local, $remote){ - \Illuminate\Remote\Connection::put($local, $remote); - } - - /** - * Upload a string to to the given file on the server. - * - * @param string $remote - * @param string $contents - * @return void - * @static - */ - public static function putString($remote, $contents){ - \Illuminate\Remote\Connection::putString($remote, $contents); - } - - /** - * Display the given line using the default output. - * - * @param string $line - * @return void - * @static - */ - public static function display($line){ - \Illuminate\Remote\Connection::display($line); - } - - /** - * Get the exit status of the last command. - * - * @return int|bool - * @static - */ - public static function status(){ - return \Illuminate\Remote\Connection::status(); - } - - /** - * Get the gateway implementation. - * - * @return \Illuminate\Remote\GatewayInterface - * @throws \RuntimeException - * @static - */ - public static function getGateway(){ - return \Illuminate\Remote\Connection::getGateway(); - } - - /** - * Get the output implementation for the connection. - * - * @return \Symfony\Component\Console\Output\OutputInterface - * @static - */ - public static function getOutput(){ - return \Illuminate\Remote\Connection::getOutput(); - } - - /** - * Set the output implementation. - * - * @param \Symfony\Component\Console\Output\OutputInterface $output - * @return void - * @static - */ - public static function setOutput($output){ - \Illuminate\Remote\Connection::setOutput($output); - } - - } - - - class Alert extends \Bootstrapper\Alert{ - - } - - - class Badge extends \Bootstrapper\Badge{ - - } - - - class Breadcrumb extends \Bootstrapper\Breadcrumb{ - - } - - - class Button extends \Bootstrapper\Button{ - - } - - - class ButtonGroup extends \Bootstrapper\ButtonGroup{ - - } - - - class ButtonToolbar extends \Bootstrapper\ButtonToolbar{ - - } - - - class Carousel extends \Bootstrapper\Carousel{ - - } - - - class DropdownButton extends \Bootstrapper\DropdownButton{ - - } - - - class Form extends \Bootstrapper\Form{ - - /** - * Open up a new HTML form. - * - * @param array $options - * @return string - * @static - */ - public static function open($options = array()){ - return \Illuminate\Html\FormBuilder::open($options); - } - - /** - * Create a new model based form builder. - * - * @param mixed $model - * @param array $options - * @return string - * @static - */ - public static function model($model, $options = array()){ - return \Illuminate\Html\FormBuilder::model($model, $options); - } - - /** - * Set the model instance on the form builder. - * - * @param mixed $model - * @return void - * @static - */ - public static function setModel($model){ - \Illuminate\Html\FormBuilder::setModel($model); - } - - /** - * Close the current form. - * - * @return string - * @static - */ - public static function close(){ - return \Illuminate\Html\FormBuilder::close(); - } - - /** - * Generate a hidden field with the current CSRF token. - * - * @return string - * @static - */ - public static function token(){ - return \Illuminate\Html\FormBuilder::token(); - } - - /** - * Create a form label element. - * - * @param string $name - * @param string $value - * @param array $options - * @return string - * @static - */ - public static function label($name, $value = null, $options = array()){ - return \Illuminate\Html\FormBuilder::label($name, $value, $options); - } - - /** - * Create a form input field. - * - * @param string $type - * @param string $name - * @param string $value - * @param array $options - * @return string - * @static - */ - public static function input($type, $name, $value = null, $options = array()){ - return \Illuminate\Html\FormBuilder::input($type, $name, $value, $options); - } - - /** - * Create a text input field. - * - * @param string $name - * @param string $value - * @param array $options - * @return string - * @static - */ - public static function text($name, $value = null, $options = array()){ - return \Illuminate\Html\FormBuilder::text($name, $value, $options); - } - - /** - * Create a password input field. - * - * @param string $name - * @param array $options - * @return string - * @static - */ - public static function password($name, $options = array()){ - return \Illuminate\Html\FormBuilder::password($name, $options); - } - - /** - * Create a hidden input field. - * - * @param string $name - * @param string $value - * @param array $options - * @return string - * @static - */ - public static function hidden($name, $value = null, $options = array()){ - return \Illuminate\Html\FormBuilder::hidden($name, $value, $options); - } - - /** - * Create an e-mail input field. - * - * @param string $name - * @param string $value - * @param array $options - * @return string - * @static - */ - public static function email($name, $value = null, $options = array()){ - return \Illuminate\Html\FormBuilder::email($name, $value, $options); - } - - /** - * Create a url input field. - * - * @param string $name - * @param string $value - * @param array $options - * @return string - * @static - */ - public static function url($name, $value = null, $options = array()){ - return \Illuminate\Html\FormBuilder::url($name, $value, $options); - } - - /** - * Create a file input field. - * - * @param string $name - * @param array $options - * @return string - * @static - */ - public static function file($name, $options = array()){ - return \Illuminate\Html\FormBuilder::file($name, $options); - } - - /** - * Create a textarea input field. - * - * @param string $name - * @param string $value - * @param array $options - * @return string - * @static - */ - public static function textarea($name, $value = null, $options = array()){ - return \Illuminate\Html\FormBuilder::textarea($name, $value, $options); - } - - /** - * Create a select box field. - * - * @param string $name - * @param array $list - * @param string $selected - * @param array $options - * @return string - * @static - */ - public static function select($name, $list = array(), $selected = null, $options = array()){ - return \Illuminate\Html\FormBuilder::select($name, $list, $selected, $options); - } - - /** - * Create a select range field. - * - * @param string $name - * @param string $begin - * @param string $end - * @param string $selected - * @param array $options - * @return string - * @static - */ - public static function selectRange($name, $begin, $end, $selected = null, $options = array()){ - return \Illuminate\Html\FormBuilder::selectRange($name, $begin, $end, $selected, $options); - } - - /** - * Create a select year field. - * - * @param string $name - * @param string $begin - * @param string $end - * @param string $selected - * @param array $options - * @return string - * @static - */ - public static function selectYear(){ - return \Illuminate\Html\FormBuilder::selectYear(); - } - - /** - * Create a select month field. - * - * @param string $name - * @param string $selected - * @param array $options - * @return string - * @static - */ - public static function selectMonth($name, $selected = null, $options = array()){ - return \Illuminate\Html\FormBuilder::selectMonth($name, $selected, $options); - } - - /** - * Get the select option for the given value. - * - * @param string $display - * @param string $value - * @param string $selected - * @return string - * @static - */ - public static function getSelectOption($display, $value, $selected){ - return \Illuminate\Html\FormBuilder::getSelectOption($display, $value, $selected); - } - - /** - * Create a checkbox input field. - * - * @param string $name - * @param mixed $value - * @param bool $checked - * @param array $options - * @return string - * @static - */ - public static function checkbox($name, $value = 1, $checked = null, $options = array()){ - return \Illuminate\Html\FormBuilder::checkbox($name, $value, $checked, $options); - } - - /** - * Create a radio button input field. - * - * @param string $name - * @param mixed $value - * @param bool $checked - * @param array $options - * @return string - * @static - */ - public static function radio($name, $value = null, $checked = null, $options = array()){ - return \Illuminate\Html\FormBuilder::radio($name, $value, $checked, $options); - } - - /** - * Create a HTML reset input element. - * - * @param string $value - * @param array $attributes - * @return string - * @static - */ - public static function reset($value, $attributes = array()){ - return \Illuminate\Html\FormBuilder::reset($value, $attributes); - } - - /** - * Create a HTML image input element. - * - * @param string $url - * @param string $name - * @param array $attributes - * @return string - * @static - */ - public static function image($url, $name = null, $attributes = array()){ - return \Illuminate\Html\FormBuilder::image($url, $name, $attributes); - } - - /** - * Create a submit button element. - * - * @param string $value - * @param array $options - * @return string - * @static - */ - public static function submit($value = null, $options = array()){ - return \Illuminate\Html\FormBuilder::submit($value, $options); - } - - /** - * Create a button element. - * - * @param string $value - * @param array $options - * @return string - * @static - */ - public static function button($value = null, $options = array()){ - return \Illuminate\Html\FormBuilder::button($value, $options); - } - - /** - * Register a custom form macro. - * - * @param string $name - * @param callable $macro - * @return void - * @static - */ - public static function macro($name, $macro){ - \Illuminate\Html\FormBuilder::macro($name, $macro); - } - - /** - * Get the ID attribute for a field name. - * - * @param string $name - * @param array $attributes - * @return string - * @static - */ - public static function getIdAttribute($name, $attributes){ - return \Illuminate\Html\FormBuilder::getIdAttribute($name, $attributes); - } - - /** - * Get the value that should be assigned to the field. - * - * @param string $name - * @param string $value - * @return string - * @static - */ - public static function getValueAttribute($name, $value = null){ - return \Illuminate\Html\FormBuilder::getValueAttribute($name, $value); - } - - /** - * Get a value from the session's old input. - * - * @param string $name - * @return string - * @static - */ - public static function old($name){ - return \Illuminate\Html\FormBuilder::old($name); - } - - /** - * Determine if the old input is empty. - * - * @return bool - * @static - */ - public static function oldInputIsEmpty(){ - return \Illuminate\Html\FormBuilder::oldInputIsEmpty(); - } - - /** - * Get the session store implementation. - * - * @return \Illuminate\Session\Store $session - * @static - */ - public static function getSessionStore(){ - return \Illuminate\Html\FormBuilder::getSessionStore(); - } - - /** - * Set the session store implementation. - * - * @param \Illuminate\Session\Store $session - * @return \Illuminate\Html\FormBuilder - * @static - */ - public static function setSessionStore($session){ - return \Illuminate\Html\FormBuilder::setSessionStore($session); - } - - } - - - class Helpers extends \Bootstrapper\Helpers{ - - } - - - class Icon extends \Bootstrapper\Icon{ - - } - - - class Image extends \Intervention\Image\Facades\Image{ - - /** - * Open a new image resource from image file - * - * @param mixed $source - * @return \Intervention\Image\Image - * @static - */ - public static function make($source){ - return \Intervention\Image\Image::make($source); - } - - /** - * Create a new empty image resource - * - * @param int $width - * @param int $height - * @param mixed $bgcolor - * @return \Intervention\Image\Image - * @static - */ - public static function canvas($width, $height, $bgcolor = null){ - return \Intervention\Image\Image::canvas($width, $height, $bgcolor); - } - - /** - * Create a new image resource with image data from string - * - * @param string $data - * @return \Intervention\Image\Image - * @static - */ - public static function raw($string){ - return \Intervention\Image\Image::raw($string); - } - - /** - * Create new cached image and run callback - * (requires additional package intervention/imagecache) - * - * @param \Closure $callback - * @param integer $lifetime - * @param boolean $returnObj - * @return \Intervention\Image\Image - * @static - */ - public static function cache($callback = null, $lifetime = null, $returnObj = false){ - return \Intervention\Image\Image::cache($callback, $lifetime, $returnObj); - } - - /** - * Open a new image resource from image file - * - * @param string $path - * @return \Intervention\Image\Image - * @static - */ - public static function open($path){ - return \Intervention\Image\Image::open($path); - } - - /** - * Resize current image based on given width/height - * - * Width and height are optional, the not given parameter is calculated - * based on the given. The ratio boolean decides whether the resizing - * should keep the image ratio. You can also pass along a boolean to - * prevent the image from being upsized. - * - * @param integer $width The target width for the image - * @param integer $height The target height for the image - * @param boolean $ratio Determines if the image ratio should be preserved - * @param boolean $upsize Determines whether the image can be upsized - * @return \Intervention\Image\Image - * @static - */ - public static function resize($width = null, $height = null, $ratio = false, $upsize = true){ - return \Intervention\Image\Image::resize($width, $height, $ratio, $upsize); - } - - /** - * Legacy method to support old resizing calls - * - * @param array $dimensions - * @return \Intervention\Image\Image - * @static - */ - public static function legacyResize($dimensions = array()){ - return \Intervention\Image\Image::legacyResize($dimensions); - } - - /** - * Resize image to new width, constraining proportions - * - * @param integer $width - * @return \Intervention\Image\Image - * @static - */ - public static function widen($width){ - return \Intervention\Image\Image::widen($width); - } - - /** - * Resize image to new height, constraining proportions - * - * @param integer $height - * @return \Intervention\Image\Image - * @static - */ - public static function heighten($height){ - return \Intervention\Image\Image::heighten($height); - } - - /** - * Resize image canvas - * - * @param int $width - * @param int $height - * @param string $anchor - * @param boolean $relative - * @param mixed $bgcolor - * @return \Intervention\Image\Image - * @static - */ - public static function resizeCanvas($width, $height, $anchor = null, $relative = false, $bgcolor = null){ - return \Intervention\Image\Image::resizeCanvas($width, $height, $anchor, $relative, $bgcolor); - } - - /** - * Crop the current image - * - * @param integer $width - * @param integer $height - * @param integer $pos_x - * @param integer $pos_y - * @return \Intervention\Image\Image - * @static - */ - public static function crop($width, $height, $pos_x = null, $pos_y = null){ - return \Intervention\Image\Image::crop($width, $height, $pos_x, $pos_y); - } - - /** - * Cut out a detail of the image in given ratio and resize to output size - * - * @param integer $width - * @param integer $height - * @return \Intervention\Image\Image - * @static - */ - public static function grab($width = null, $height = null){ - return \Intervention\Image\Image::grab($width, $height); - } - - /** - * Legacy Method to support older grab calls - * - * @param array $dimensions - * @return \Intervention\Image\Image - * @static - */ - public static function legacyGrab($dimensions = array()){ - return \Intervention\Image\Image::legacyGrab($dimensions); - } - - /** - * Trim away image space in given color - * - * @param string $base Position of the color to trim away - * @param array $away Borders to trim away - * @param int $tolerance Tolerance of color comparison - * @param int $feather Amount of pixels outside (when positive) or inside (when negative) of the strict limit of the matched color - * @return \Intervention\Image\Image - * @static - */ - public static function trim($base = null, $away = null, $tolerance = null, $feather = 0){ - return \Intervention\Image\Image::trim($base, $away, $tolerance, $feather); - } - - /** - * Mirror image horizontally or vertically - * - * @param mixed $mode - * @return \Intervention\Image\Image - * @static - */ - public static function flip($mode = null){ - return \Intervention\Image\Image::flip($mode); - } - - /** - * Insert another image on top of the current image - * - * @param mixed $source - * @param integer $pos_x - * @param integer $pos_y - * @param string $anchor - * @return \Intervention\Image\Image - * @static - */ - public static function insert($source, $pos_x = 0, $pos_y = 0, $anchor = null){ - return \Intervention\Image\Image::insert($source, $pos_x, $pos_y, $anchor); - } - - /** - * Set opacity of current image - * - * @param integer $transparency - * @return \Intervention\Image\Image - * @static - */ - public static function opacity($transparency){ - return \Intervention\Image\Image::opacity($transparency); - } - - /** - * Apply given image as alpha mask on current image - * - * @param mixed $source - * @param boolean $mask_with_alpha - * @return \Intervention\Image\Image - * @static - */ - public static function mask($source, $mask_with_alpha = false){ - return \Intervention\Image\Image::mask($source, $mask_with_alpha); - } - - /** - * Rotate image with given angle - * - * @param float $angle - * @param string $color - * @param int $ignore_transparent - * @return \Intervention\Image\Image - * @static - */ - public static function rotate($angle = 0, $bgcolor = '#000000', $ignore_transparent = 0){ - return \Intervention\Image\Image::rotate($angle, $bgcolor, $ignore_transparent); - } - - /** - * Fill image with given color or image source at position x,y - * - * @param mixed $source - * @param integer $pos_x - * @param integer $pos_y - * @return \Intervention\Image\Image - * @static - */ - public static function fill($source, $pos_x = null, $pos_y = null){ - return \Intervention\Image\Image::fill($source, $pos_x, $pos_y); - } - - /** - * Set single pixel - * - * @param string $color - * @param integer $pos_x - * @param integer $pos_y - * @return \Intervention\Image\Image - * @static - */ - public static function pixel($color, $pos_x = 0, $pos_y = 0){ - return \Intervention\Image\Image::pixel($color, $pos_x, $pos_y); - } - - /** - * Draw rectangle in current image starting at point 1 and ending at point 2 - * - * @param string $color - * @param integer $x1 - * @param integer $y1 - * @param integer $x2 - * @param integer $y2 - * @param boolean $filled - * @return \Intervention\Image\Image - * @static - */ - public static function rectangle($color, $x1 = 0, $y1 = 0, $x2 = 10, $y2 = 10, $filled = true){ - return \Intervention\Image\Image::rectangle($color, $x1, $y1, $x2, $y2, $filled); - } - - /** - * Draw a line in current image starting at point 1 and ending at point 2 - * - * @param string $color - * @param integer $x1 - * @param integer $y1 - * @param integer $x2 - * @param integer $y2 - * @return \Intervention\Image\Image - * @static - */ - public static function line($color, $x1 = 0, $y1 = 0, $x2 = 10, $y2 = 10){ - return \Intervention\Image\Image::line($color, $x1, $y1, $x2, $y2); - } - - /** - * Draw an ellipse centered at given coordinates. - * - * @param string $color - * @param integer $pos_x - * @param integer $pos_y - * @param integer $width - * @param integer $height - * @param boolean $filled - * @return \Intervention\Image\Image - * @static - */ - public static function ellipse($color, $pos_x = 0, $pos_y = 0, $width = 10, $height = 10, $filled = true){ - return \Intervention\Image\Image::ellipse($color, $pos_x, $pos_y, $width, $height, $filled); - } - - /** - * Draw a circle centered at given coordinates - * - * @param string $color - * @param integer $x - * @param integer $y - * @param integer $radius - * @param boolean $filled - * @return \Intervention\Image\Image - * @static - */ - public static function circle($color, $x = 0, $y = 0, $radius = 10, $filled = true){ - return \Intervention\Image\Image::circle($color, $x, $y, $radius, $filled); - } - - /** - * Compatibility method to decide old or new style of text writing - * - * @param string $text - * @param integer $posx - * @param integer $posy - * @param mixed $size_or_callback - * @param string $color - * @param integer $angle - * @param string $fontfile - * @return \Intervention\Image\Image - * @static - */ - public static function text($text, $posx = 0, $posy = 0, $size_or_callback = null, $color = '000000', $angle = 0, $fontfile = null){ - return \Intervention\Image\Image::text($text, $posx, $posy, $size_or_callback, $color, $angle, $fontfile); - } - - /** - * Write text in current image, define details via callback - * - * @param string $text - * @param integer $posx - * @param integer $posy - * @param \Closure $callback - * @return \Intervention\Image\Image - * @static - */ - public static function textCallback($text, $posx = 0, $posy = 0, $callback = null){ - return \Intervention\Image\Image::textCallback($text, $posx, $posy, $callback); - } - - /** - * Legacy method to keep support of old style of text writing - * - * @param string $text - * @param integer $pos_x - * @param integer $pos_y - * @param integer $angle - * @param integer $size - * @param string $color - * @param string $fontfile - * @return \Intervention\Image\Image - * @static - */ - public static function legacyText($text, $pos_x = 0, $pos_y = 0, $size = 16, $color = '000000', $angle = 0, $fontfile = null){ - return \Intervention\Image\Image::legacyText($text, $pos_x, $pos_y, $size, $color, $angle, $fontfile); - } - - /** - * Changes the brightness of the current image - * - * @param int $level [description] - * @return \Intervention\Image\Image - * @static - */ - public static function brightness($level){ - return \Intervention\Image\Image::brightness($level); - } - - /** - * Changes the contrast of the current image - * - * @param int $level - * @return \Intervention\Image\Image - * @static - */ - public static function contrast($level){ - return \Intervention\Image\Image::contrast($level); - } - - /** - * Pixelate current image - * - * @param integer $size - * @param boolean $advanced - * @return \Intervention\Image\Image - * @static - */ - public static function pixelate($size = 10, $advanced = true){ - return \Intervention\Image\Image::pixelate($size, $advanced); - } - - /** - * Turn current image into a greyscale verision - * - * @return \Intervention\Image\Image - * @static - */ - public static function grayscale(){ - return \Intervention\Image\Image::grayscale(); - } - - /** - * Alias of greyscale - * - * @return \Intervention\Image\Image - * @static - */ - public static function greyscale(){ - return \Intervention\Image\Image::greyscale(); - } - - /** - * Invert colors of current image - * - * @return \Intervention\Image\Image - * @static - */ - public static function invert(){ - return \Intervention\Image\Image::invert(); - } - - /** - * Apply colorize filter to current image - * - * @param integer $red - * @param integer $green - * @param integer $blue - * @return \Intervention\Image\Image - * @static - */ - public static function colorize($red, $green, $blue){ - return \Intervention\Image\Image::colorize($red, $green, $blue); - } - - /** - * Apply blur filter on the current image - * - * @param integer $amount - * @return \Intervention\Image\Image - * @static - */ - public static function blur($amount = 1){ - return \Intervention\Image\Image::blur($amount); - } - - /** - * Set a maximum number of colors for the current image - * - * @param integer $count - * @param mixed $matte - * @return \Intervention\Image\Image - * @static - */ - public static function limitColors($count = null, $matte = null){ - return \Intervention\Image\Image::limitColors($count, $matte); - } - - /** - * Determine whether an Image should be interlaced - * - * @param boolean $interlace - * @return \Intervention\Image\Image - * @static - */ - public static function interlace($interlace = true){ - return \Intervention\Image\Image::interlace($interlace); - } - - /** - * Applies gamma correction - * - * @param float $input - * @param float $output - * @return \Intervention\Image\Image - * @static - */ - public static function gamma($input, $output){ - return \Intervention\Image\Image::gamma($input, $output); - } - - /** - * Set current image as original (reset will return to this) - * - * @return void - * @static - */ - public static function backup(){ - \Intervention\Image\Image::backup(); - } - - /** - * Reset to original image resource - * - * @return void - * @static - */ - public static function reset(){ - \Intervention\Image\Image::reset(); - } - - /** - * Encode image in different formats - * - * @param string $format - * @param integer $quality - * @return string - * @static - */ - public static function encode($format = null, $quality = 90){ - return \Intervention\Image\Image::encode($format, $quality); - } - - /** - * Picks and formats color at position - * - * @param int $x - * @param int $y - * @param string $format - * @return mixed - * @static - */ - public static function pickColor($x, $y, $format = null){ - return \Intervention\Image\Image::pickColor($x, $y, $format); - } - - /** - * Allocate color from given string - * - * @param string $value - * @return int - * @static - */ - public static function parseColor($value){ - return \Intervention\Image\Image::parseColor($value); - } - - /** - * Save image in filesystem - * - * @param string $path - * @param integer $quality - * @return \Intervention\Image\Image - * @static - */ - public static function save($path = null, $quality = 90){ - return \Intervention\Image\Image::save($path, $quality); - } - - /** - * Read Exif data from the current image - * - * Note: Windows PHP Users - in order to use this method you will need to - * enable the mbstring and exif extensions within the php.ini file. - * - * @param string $key - * @return mixed - * @static - */ - public static function exif($key = null){ - return \Intervention\Image\Image::exif($key); - } - - /** - * Send direct output with proper header - * - * @param string $type - * @param integer $quality - * @return string - * @static - */ - public static function response($type = null, $quality = 90){ - return \Intervention\Image\Image::response($type, $quality); - } - - /** - * Destroys image resource and frees memory - * - * @return void - * @static - */ - public static function destroy(){ - \Intervention\Image\Image::destroy(); - } - - /** - * Calculates checksum of current image - * - * @return String - * @static - */ - public static function checksum(){ - return \Intervention\Image\Image::checksum(); - } - - } - - - class Label extends \Bootstrapper\Label{ - - } - - - class MediaObject extends \Bootstrapper\MediaObject{ - - } - - - class Navbar extends \Bootstrapper\Navbar{ - - } - - - class Navigation extends \Bootstrapper\Navigation{ - - } - - - class Progress extends \Bootstrapper\Progress{ - - } - - - class Tabbable extends \Bootstrapper\Tabbable{ - - } - - - class Table extends \Bootstrapper\Table{ - - } - - - class Thumbnail extends \Bootstrapper\Thumbnail{ - - } - - - class Typography extends \Bootstrapper\Typography{ - - } - - - class Confide extends \Zizaco\Confide\ConfideFacade{ - - /** - * Returns the Laravel application - * - * @return \Zizaco\Confide\Illuminate\Foundation\Application - * @static - */ - public static function app(){ - return \Zizaco\Confide\Confide::app(); - } - - /** - * Returns an object of the model set in auth config - * - * @return object - * @static - */ - public static function model(){ - return \Zizaco\Confide\Confide::model(); - } - - /** - * Get the currently authenticated user or null. - * - * @return \Zizaco\Confide\Zizaco\Confide\ConfideUser|null - * @static - */ - public static function user(){ - return \Zizaco\Confide\Confide::user(); - } - - /** - * Set the user confirmation to true. - * - * @param string $code - * @return bool - * @static - */ - public static function confirm($code){ - return \Zizaco\Confide\Confide::confirm($code); - } - - /** - * Attempt to log a user into the application with - * password and identity field(s), usually email or username. - * - * @param array $credentials - * @param bool $confirmed_only - * @param mixed $identity_columns - * @return boolean Success - * @static - */ - public static function logAttempt($credentials, $confirmed_only = false, $identity_columns = array()){ - return \Zizaco\Confide\Confide::logAttempt($credentials, $confirmed_only, $identity_columns); - } - - /** - * Checks if the credentials has been throttled by too - * much failed login attempts - * - * @param array $credentials - * @return mixed Value. - * @static - */ - public static function isThrottled($credentials){ - return \Zizaco\Confide\Confide::isThrottled($credentials); - } - - /** - * Send email with information about password reset - * - * @param string $email - * @return bool - * @static - */ - public static function forgotPassword($email){ - return \Zizaco\Confide\Confide::forgotPassword($email); - } - - /** - * Checks to see if the user has a valid token. - * - * @param $token - * @return bool - * @static - */ - public static function isValidToken($token){ - return \Zizaco\Confide\Confide::isValidToken($token); - } - - /** - * Change user password - * - * @return string - * @static - */ - public static function resetPassword($params){ - return \Zizaco\Confide\Confide::resetPassword($params); - } - - /** - * Log the user out of the application. - * - * @return void - * @static - */ - public static function logout(){ - \Zizaco\Confide\Confide::logout(); - } - - /** - * Display the default login view - * - * @deprecated - * @return \Zizaco\Confide\Illuminate\View\View - * @static - */ - public static function makeLoginForm(){ - return \Zizaco\Confide\Confide::makeLoginForm(); - } - - /** - * Display the default signup view - * - * @deprecated - * @return \Zizaco\Confide\Illuminate\View\View - * @static - */ - public static function makeSignupForm(){ - return \Zizaco\Confide\Confide::makeSignupForm(); - } - - /** - * Display the forget password view - * - * @deprecated - * @return \Zizaco\Confide\Illuminate\View\View - * @static - */ - public static function makeForgotPasswordForm(){ - return \Zizaco\Confide\Confide::makeForgotPasswordForm(); - } - - /** - * Display the forget password view - * - * @deprecated - * @return \Zizaco\Confide\Illuminate\View\View - * @static - */ - public static function makeResetPasswordForm($token){ - return \Zizaco\Confide\Confide::makeResetPasswordForm($token); - } - - /** - * Check whether the controller's action exists. - * - * Returns the url if it does. Otherwise false. - * - * @param $controllerAction - * @return string - * @static - */ - public static function checkAction($action, $parameters = array(), $absolute = true){ - return \Zizaco\Confide\Confide::checkAction($action, $parameters, $absolute); - } - - } - - - class Former extends \Former\Facades\Former{ - - /** - * Register a macro with Former - * - * @param string $name The name of the macro - * @param Callable $macro The macro itself - * @return mixed - * @static - */ - public static function macro($name, $macro){ - return \Former\Former::macro($name, $macro); - } - - /** - * Check if a macro exists - * - * @param string $name - * @return boolean - * @static - */ - public static function hasMacro($name){ - return \Former\Former::hasMacro($name); - } - - /** - * Get a registered macro - * - * @param string $name - * @return \Former\Closure - * @static - */ - public static function getMacro($name){ - return \Former\Former::getMacro($name); - } - - /** - * Add values to populate the array - * - * @param mixed $values Can be an Eloquent object or an array - * @static - */ - public static function populate($values){ - return \Former\Former::populate($values); - } - - /** - * Set the value of a particular field - * - * @param string $field The field's name - * @param mixed $value Its new value - * @static - */ - public static function populateField($field, $value){ - return \Former\Former::populateField($field, $value); - } - - /** - * Get the value of a field - * - * @param string $field The field's name - * @param null $fallback - * @return mixed - * @static - */ - public static function getValue($field, $fallback = null){ - return \Former\Former::getValue($field, $fallback); - } - - /** - * Fetch a field value from both the new and old POST array - * - * @param string $name A field name - * @param string $fallback A fallback if nothing was found - * @return string The results - * @static - */ - public static function getPost($name, $fallback = null){ - return \Former\Former::getPost($name, $fallback); - } - - /** - * Set the errors to use for validations - * - * @param \Former\Message $validator The result from a validation - * @return void - * @static - */ - public static function withErrors($validator = null){ - \Former\Former::withErrors($validator); - } - - /** - * Add live validation rules - * - * @param array *$rules An array of Laravel rules - * @return void - * @static - */ - public static function withRules(){ - \Former\Former::withRules(); - } - - /** - * Switch the framework used by Former - * - * @param string $framework The name of the framework to use - * @static - */ - public static function framework($framework = null){ - return \Former\Former::framework($framework); - } - - /** - * Get a new framework instance - * - * @param string $framework - * @return \Former\Framework - * @static - */ - public static function getFrameworkInstance($framework){ - return \Former\Former::getFrameworkInstance($framework); - } - - /** - * Get an option from the config - * - * @param string $option The option - * @param mixed $default Optional fallback - * @return mixed - * @static - */ - public static function getOption($option, $default = null){ - return \Former\Former::getOption($option, $default); - } - - /** - * Set an option on the config - * - * @param string $option - * @param string $value - * @static - */ - public static function setOption($option, $value){ - return \Former\Former::setOption($option, $value); - } - - /** - * Closes a form - * - * @return string A form closing tag - * @static - */ - public static function close(){ - return \Former\Former::close(); - } - - /** - * Get the errors for the current field - * - * @param string $name A field name - * @return string An error message - * @static - */ - public static function getErrors($name = null){ - return \Former\Former::getErrors($name); - } - - /** - * Get a rule from the Rules array - * - * @param string $name The field to fetch - * @return array An array of rules - * @static - */ - public static function getRules($name){ - return \Former\Former::getRules($name); - } - - } - - - class Datatable extends \Chumper\Datatable\Facades\DatatableFacade{ - - /** - * - * - * @param $query - * @return \Chumper\Datatable\QueryEngine - * @static - */ - public static function query($query){ - return \Chumper\Datatable\Datatable::query($query); - } - - /** - * - * - * @param $collection - * @return \Chumper\Datatable\CollectionEngine - * @static - */ - public static function collection($collection){ - return \Chumper\Datatable\Datatable::collection($collection); - } - - /** - * - * - * @return \Chumper\Datatable\Table - * @static - */ - public static function table(){ - return \Chumper\Datatable\Datatable::table(); - } - - /** - * - * - * @return bool True if the plugin should handle this request, false otherwise - * @static - */ - public static function shouldHandle(){ - return \Chumper\Datatable\Datatable::shouldHandle(); - } - - } - - - class Omnipay extends \Omnipay\Omnipay{ - - } - - - class CreditCard extends \Omnipay\Common\CreditCard{ - - } - - - class Countries extends \Webpatser\Countries\CountriesFacade{ - - /** - * Returns one country - * - * @param string $id The country id - * @return array - * @static - */ - public static function getOne($id){ - return \Webpatser\Countries\Countries::getOne($id); - } - - /** - * Returns a list of countries - * - * @param string sort - * @return array - * @static - */ - public static function getList($sort = null){ - return \Webpatser\Countries\Countries::getList($sort); - } - - /** - * Register an observer with the Model. - * - * @param object $class - * @return void - * @static - */ - public static function observe($class){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::observe($class); - } - - /** - * Fill the model with an array of attributes. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model|static - * @throws MassAssignmentException - * @static - */ - public static function fill($attributes){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::fill($attributes); - } - - /** - * Create a new instance of the given model. - * - * @param array $attributes - * @param bool $exists - * @return \Illuminate\Database\Eloquent\Model|static - * @static - */ - public static function newInstance($attributes = array(), $exists = false){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::newInstance($attributes, $exists); - } - - /** - * Create a new model instance that is existing. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model|static - * @static - */ - public static function newFromBuilder($attributes = array()){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::newFromBuilder($attributes); - } - - /** - * Save a new model and return the instance. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model|static - * @static - */ - public static function create($attributes){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::create($attributes); - } - - /** - * Get the first record matching the attributes or create it. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function firstOrCreate($attributes){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::firstOrCreate($attributes); - } - - /** - * Get the first record matching the attributes or instantiate it. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function firstOrNew($attributes){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::firstOrNew($attributes); - } - - /** - * Begin querying the model. - * - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function query(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::query(); - } - - /** - * Begin querying the model on a given connection. - * - * @param string $connection - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function on($connection = null){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::on($connection); - } - - /** - * Get all of the models from the database. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Collection|static[] - * @static - */ - public static function all($columns = array()){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::all($columns); - } - - /** - * Find a model by its primary key. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static - * @static - */ - public static function find($id, $columns = array()){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::find($id, $columns); - } - - /** - * Find a model by its primary key or return new static. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static - * @static - */ - public static function findOrNew($id, $columns = array()){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::findOrNew($id, $columns); - } - - /** - * Find a model by its primary key or throw an exception. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static - * @throws ModelNotFoundException - * @static - */ - public static function findOrFail($id, $columns = array()){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::findOrFail($id, $columns); - } - - /** - * Eager load relations on the model. - * - * @param array|string $relations - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function load($relations){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::load($relations); - } - - /** - * Being querying a model with eager loading. - * - * @param array|string $relations - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function with($relations){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::with($relations); - } - - /** - * Define a one-to-one relationship. - * - * @param string $related - * @param string $foreignKey - * @param string $localKey - * @return \Illuminate\Database\Eloquent\Relations\HasOne - * @static - */ - public static function hasOne($related, $foreignKey = null, $localKey = null){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::hasOne($related, $foreignKey, $localKey); - } - - /** - * Define a polymorphic one-to-one relationship. - * - * @param string $related - * @param string $name - * @param string $type - * @param string $id - * @param string $localKey - * @return \Illuminate\Database\Eloquent\Relations\MorphOne - * @static - */ - public static function morphOne($related, $name, $type = null, $id = null, $localKey = null){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::morphOne($related, $name, $type, $id, $localKey); - } - - /** - * Define an inverse one-to-one or many relationship. - * - * @param string $related - * @param string $foreignKey - * @param string $otherKey - * @param string $relation - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo - * @static - */ - public static function belongsTo($related, $foreignKey = null, $otherKey = null, $relation = null){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::belongsTo($related, $foreignKey, $otherKey, $relation); - } - - /** - * Define a polymorphic, inverse one-to-one or many relationship. - * - * @param string $name - * @param string $type - * @param string $id - * @return \Illuminate\Database\Eloquent\Relations\MorphTo - * @static - */ - public static function morphTo($name = null, $type = null, $id = null){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::morphTo($name, $type, $id); - } - - /** - * Define a one-to-many relationship. - * - * @param string $related - * @param string $foreignKey - * @param string $localKey - * @return \Illuminate\Database\Eloquent\Relations\HasMany - * @static - */ - public static function hasMany($related, $foreignKey = null, $localKey = null){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::hasMany($related, $foreignKey, $localKey); - } - - /** - * Define a has-many-through relationship. - * - * @param string $related - * @param string $through - * @param string|null $firstKey - * @param string|null $secondKey - * @return \Illuminate\Database\Eloquent\Relations\HasManyThrough - * @static - */ - public static function hasManyThrough($related, $through, $firstKey = null, $secondKey = null){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::hasManyThrough($related, $through, $firstKey, $secondKey); - } - - /** - * Define a polymorphic one-to-many relationship. - * - * @param string $related - * @param string $name - * @param string $type - * @param string $id - * @param string $localKey - * @return \Illuminate\Database\Eloquent\Relations\MorphMany - * @static - */ - public static function morphMany($related, $name, $type = null, $id = null, $localKey = null){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::morphMany($related, $name, $type, $id, $localKey); - } - - /** - * Define a many-to-many relationship. - * - * @param string $related - * @param string $table - * @param string $foreignKey - * @param string $otherKey - * @param string $relation - * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany - * @static - */ - public static function belongsToMany($related, $table = null, $foreignKey = null, $otherKey = null, $relation = null){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::belongsToMany($related, $table, $foreignKey, $otherKey, $relation); - } - - /** - * Define a polymorphic many-to-many relationship. - * - * @param string $related - * @param string $name - * @param string $table - * @param string $foreignKey - * @param string $otherKey - * @param bool $inverse - * @return \Illuminate\Database\Eloquent\Relations\MorphToMany - * @static - */ - public static function morphToMany($related, $name, $table = null, $foreignKey = null, $otherKey = null, $inverse = false){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::morphToMany($related, $name, $table, $foreignKey, $otherKey, $inverse); - } - - /** - * Define a polymorphic, inverse many-to-many relationship. - * - * @param string $related - * @param string $name - * @param string $table - * @param string $foreignKey - * @param string $otherKey - * @return \Illuminate\Database\Eloquent\Relations\MorphToMany - * @static - */ - public static function morphedByMany($related, $name, $table = null, $foreignKey = null, $otherKey = null){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::morphedByMany($related, $name, $table, $foreignKey, $otherKey); - } - - /** - * Get the joining table name for a many-to-many relation. - * - * @param string $related - * @return string - * @static - */ - public static function joiningTable($related){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::joiningTable($related); - } - - /** - * Destroy the models for the given IDs. - * - * @param array|int $ids - * @return int - * @static - */ - public static function destroy($ids){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::destroy($ids); - } - - /** - * Delete the model from the database. - * - * @return bool|null - * @static - */ - public static function delete(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::delete(); - } - - /** - * Force a hard delete on a soft deleted model. - * - * @return void - * @static - */ - public static function forceDelete(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::forceDelete(); - } - - /** - * Restore a soft-deleted model instance. - * - * @return bool|null - * @static - */ - public static function restore(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::restore(); - } - - /** - * Register a saving model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - * @static - */ - public static function saving($callback){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::saving($callback); - } - - /** - * Register a saved model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - * @static - */ - public static function saved($callback){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::saved($callback); - } - - /** - * Register an updating model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - * @static - */ - public static function updating($callback){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::updating($callback); - } - - /** - * Register an updated model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - * @static - */ - public static function updated($callback){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::updated($callback); - } - - /** - * Register a creating model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - * @static - */ - public static function creating($callback){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::creating($callback); - } - - /** - * Register a created model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - * @static - */ - public static function created($callback){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::created($callback); - } - - /** - * Register a deleting model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - * @static - */ - public static function deleting($callback){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::deleting($callback); - } - - /** - * Register a deleted model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - * @static - */ - public static function deleted($callback){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::deleted($callback); - } - - /** - * Register a restoring model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - * @static - */ - public static function restoring($callback){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::restoring($callback); - } - - /** - * Register a restored model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - * @static - */ - public static function restored($callback){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::restored($callback); - } - - /** - * Remove all of the event listeners for the model. - * - * @return void - * @static - */ - public static function flushEventListeners(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::flushEventListeners(); - } - - /** - * Get the observable event names. - * - * @return array - * @static - */ - public static function getObservableEvents(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getObservableEvents(); - } - - /** - * Update the model in the database. - * - * @param array $attributes - * @return mixed - * @static - */ - public static function update($attributes = array()){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::update($attributes); - } - - /** - * Save the model and all of its relationships. - * - * @return bool - * @static - */ - public static function push(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::push(); - } - - /** - * Save the model to the database. - * - * @param array $options - * @return bool - * @static - */ - public static function save($options = array()){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::save($options); - } - - /** - * Touch the owning relations of the model. - * - * @return void - * @static - */ - public static function touchOwners(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::touchOwners(); - } - - /** - * Determine if the model touches a given relation. - * - * @param string $relation - * @return bool - * @static - */ - public static function touches($relation){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::touches($relation); - } - - /** - * Update the model's update timestamp. - * - * @return bool - * @static - */ - public static function touch(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::touch(); - } - - /** - * Set the value of the "created at" attribute. - * - * @param mixed $value - * @return void - * @static - */ - public static function setCreatedAt($value){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::setCreatedAt($value); - } - - /** - * Set the value of the "updated at" attribute. - * - * @param mixed $value - * @return void - * @static - */ - public static function setUpdatedAt($value){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::setUpdatedAt($value); - } - - /** - * Get the name of the "created at" column. - * - * @return string - * @static - */ - public static function getCreatedAtColumn(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getCreatedAtColumn(); - } - - /** - * Get the name of the "updated at" column. - * - * @return string - * @static - */ - public static function getUpdatedAtColumn(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getUpdatedAtColumn(); - } - - /** - * Get the name of the "deleted at" column. - * - * @return string - * @static - */ - public static function getDeletedAtColumn(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getDeletedAtColumn(); - } - - /** - * Get the fully qualified "deleted at" column. - * - * @return string - * @static - */ - public static function getQualifiedDeletedAtColumn(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getQualifiedDeletedAtColumn(); - } - - /** - * Get a fresh timestamp for the model. - * - * @return \Carbon\Carbon - * @static - */ - public static function freshTimestamp(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::freshTimestamp(); - } - - /** - * Get a fresh timestamp for the model. - * - * @return string - * @static - */ - public static function freshTimestampString(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::freshTimestampString(); - } - - /** - * Get a new query builder for the model's table. - * - * @param bool $excludeDeleted - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function newQuery($excludeDeleted = true){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::newQuery($excludeDeleted); - } - - /** - * Get a new query builder that includes soft deletes. - * - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function newQueryWithDeleted(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::newQueryWithDeleted(); - } - - /** - * Create a new Eloquent query builder for the model. - * - * @param \Illuminate\Database\Query\Builder $query - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function newEloquentBuilder($query){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::newEloquentBuilder($query); - } - - /** - * Determine if the model instance has been soft-deleted. - * - * @return bool - * @static - */ - public static function trashed(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::trashed(); - } - - /** - * Get a new query builder that includes soft deletes. - * - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function withTrashed(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::withTrashed(); - } - - /** - * Get a new query builder that only includes soft deletes. - * - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function onlyTrashed(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::onlyTrashed(); - } - - /** - * Create a new Eloquent Collection instance. - * - * @param array $models - * @return \Illuminate\Database\Eloquent\Collection - * @static - */ - public static function newCollection($models = array()){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::newCollection($models); - } - - /** - * Create a new pivot model instance. - * - * @param \Illuminate\Database\Eloquent\Model $parent - * @param array $attributes - * @param string $table - * @param bool $exists - * @return \Illuminate\Database\Eloquent\Relations\Pivot - * @static - */ - public static function newPivot($parent, $attributes, $table, $exists){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::newPivot($parent, $attributes, $table, $exists); - } - - /** - * Get the table associated with the model. - * - * @return string - * @static - */ - public static function getTable(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getTable(); - } - - /** - * Set the table associated with the model. - * - * @param string $table - * @return void - * @static - */ - public static function setTable($table){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::setTable($table); - } - - /** - * Get the value of the model's primary key. - * - * @return mixed - * @static - */ - public static function getKey(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getKey(); - } - - /** - * Get the primary key for the model. - * - * @return string - * @static - */ - public static function getKeyName(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getKeyName(); - } - - /** - * Get the table qualified key name. - * - * @return string - * @static - */ - public static function getQualifiedKeyName(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getQualifiedKeyName(); - } - - /** - * Determine if the model uses timestamps. - * - * @return bool - * @static - */ - public static function usesTimestamps(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::usesTimestamps(); - } - - /** - * Determine if the model instance uses soft deletes. - * - * @return bool - * @static - */ - public static function isSoftDeleting(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::isSoftDeleting(); - } - - /** - * Set the soft deleting property on the model. - * - * @param bool $enabled - * @return void - * @static - */ - public static function setSoftDeleting($enabled){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::setSoftDeleting($enabled); - } - - /** - * Get the number of models to return per page. - * - * @return int - * @static - */ - public static function getPerPage(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getPerPage(); - } - - /** - * Set the number of models ot return per page. - * - * @param int $perPage - * @return void - * @static - */ - public static function setPerPage($perPage){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::setPerPage($perPage); - } - - /** - * Get the default foreign key name for the model. - * - * @return string - * @static - */ - public static function getForeignKey(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getForeignKey(); - } - - /** - * Get the hidden attributes for the model. - * - * @return array - * @static - */ - public static function getHidden(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getHidden(); - } - - /** - * Set the hidden attributes for the model. - * - * @param array $hidden - * @return void - * @static - */ - public static function setHidden($hidden){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::setHidden($hidden); - } - - /** - * Set the visible attributes for the model. - * - * @param array $visible - * @return void - * @static - */ - public static function setVisible($visible){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::setVisible($visible); - } - - /** - * Set the accessors to append to model arrays. - * - * @param array $appends - * @return void - * @static - */ - public static function setAppends($appends){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::setAppends($appends); - } - - /** - * Get the fillable attributes for the model. - * - * @return array - * @static - */ - public static function getFillable(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getFillable(); - } - - /** - * Set the fillable attributes for the model. - * - * @param array $fillable - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function fillable($fillable){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::fillable($fillable); - } - - /** - * Set the guarded attributes for the model. - * - * @param array $guarded - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function guard($guarded){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::guard($guarded); - } - - /** - * Disable all mass assignable restrictions. - * - * @return void - * @static - */ - public static function unguard(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::unguard(); - } - - /** - * Enable the mass assignment restrictions. - * - * @return void - * @static - */ - public static function reguard(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::reguard(); - } - - /** - * Set "unguard" to a given state. - * - * @param bool $state - * @return void - * @static - */ - public static function setUnguardState($state){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::setUnguardState($state); - } - - /** - * Determine if the given attribute may be mass assigned. - * - * @param string $key - * @return bool - * @static - */ - public static function isFillable($key){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::isFillable($key); - } - - /** - * Determine if the given key is guarded. - * - * @param string $key - * @return bool - * @static - */ - public static function isGuarded($key){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::isGuarded($key); - } - - /** - * Determine if the model is totally guarded. - * - * @return bool - * @static - */ - public static function totallyGuarded(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::totallyGuarded(); - } - - /** - * Get the relationships that are touched on save. - * - * @return array - * @static - */ - public static function getTouchedRelations(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getTouchedRelations(); - } - - /** - * Set the relationships that are touched on save. - * - * @param array $touches - * @return void - * @static - */ - public static function setTouchedRelations($touches){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::setTouchedRelations($touches); - } - - /** - * Get the value indicating whether the IDs are incrementing. - * - * @return bool - * @static - */ - public static function getIncrementing(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getIncrementing(); - } - - /** - * Set whether IDs are incrementing. - * - * @param bool $value - * @return void - * @static - */ - public static function setIncrementing($value){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::setIncrementing($value); - } - - /** - * Convert the model instance to JSON. - * - * @param int $options - * @return string - * @static - */ - public static function toJson($options = 0){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::toJson($options); - } - - /** - * Convert the model instance to an array. - * - * @return array - * @static - */ - public static function toArray(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::toArray(); - } - - /** - * Convert the model's attributes to an array. - * - * @return array - * @static - */ - public static function attributesToArray(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::attributesToArray(); - } - - /** - * Get the model's relationships in array form. - * - * @return array - * @static - */ - public static function relationsToArray(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::relationsToArray(); - } - - /** - * Get an attribute from the model. - * - * @param string $key - * @return mixed - * @static - */ - public static function getAttribute($key){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getAttribute($key); - } - - /** - * Determine if a get mutator exists for an attribute. - * - * @param string $key - * @return bool - * @static - */ - public static function hasGetMutator($key){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::hasGetMutator($key); - } - - /** - * Set a given attribute on the model. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ - public static function setAttribute($key, $value){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::setAttribute($key, $value); - } - - /** - * Determine if a set mutator exists for an attribute. - * - * @param string $key - * @return bool - * @static - */ - public static function hasSetMutator($key){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::hasSetMutator($key); - } - - /** - * Get the attributes that should be converted to dates. - * - * @return array - * @static - */ - public static function getDates(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getDates(); - } - - /** - * Convert a DateTime to a storable string. - * - * @param \DateTime|int $value - * @return string - * @static - */ - public static function fromDateTime($value){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::fromDateTime($value); - } - - /** - * Clone the model into a new, non-existing instance. - * - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function replicate(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::replicate(); - } - - /** - * Get all of the current attributes on the model. - * - * @return array - * @static - */ - public static function getAttributes(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getAttributes(); - } - - /** - * Set the array of model attributes. No checking is done. - * - * @param array $attributes - * @param bool $sync - * @return void - * @static - */ - public static function setRawAttributes($attributes, $sync = false){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::setRawAttributes($attributes, $sync); - } - - /** - * Get the model's original attribute values. - * - * @param string $key - * @param mixed $default - * @return array - * @static - */ - public static function getOriginal($key = null, $default = null){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getOriginal($key, $default); - } - - /** - * Sync the original attributes with the current. - * - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function syncOriginal(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::syncOriginal(); - } - - /** - * Determine if a given attribute is dirty. - * - * @param string $attribute - * @return bool - * @static - */ - public static function isDirty($attribute){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::isDirty($attribute); - } - - /** - * Get the attributes that have been changed since last sync. - * - * @return array - * @static - */ - public static function getDirty(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getDirty(); - } - - /** - * Get all the loaded relations for the instance. - * - * @return array - * @static - */ - public static function getRelations(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getRelations(); - } - - /** - * Get a specified relationship. - * - * @param string $relation - * @return mixed - * @static - */ - public static function getRelation($relation){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getRelation($relation); - } - - /** - * Set the specific relationship in the model. - * - * @param string $relation - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function setRelation($relation, $value){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::setRelation($relation, $value); - } - - /** - * Set the entire relations array on the model. - * - * @param array $relations - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function setRelations($relations){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::setRelations($relations); - } - - /** - * Get the database connection for the model. - * - * @return \Illuminate\Database\Connection - * @static - */ - public static function getConnection(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getConnection(); - } - - /** - * Get the current connection name for the model. - * - * @return string - * @static - */ - public static function getConnectionName(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getConnectionName(); - } - - /** - * Set the connection associated with the model. - * - * @param string $name - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function setConnection($name){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::setConnection($name); - } - - /** - * Resolve a connection instance. - * - * @param string $connection - * @return \Illuminate\Database\Connection - * @static - */ - public static function resolveConnection($connection = null){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::resolveConnection($connection); - } - - /** - * Get the connection resolver instance. - * - * @return \Illuminate\Database\ConnectionResolverInterface - * @static - */ - public static function getConnectionResolver(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getConnectionResolver(); - } - - /** - * Set the connection resolver instance. - * - * @param \Illuminate\Database\ConnectionResolverInterface $resolver - * @return void - * @static - */ - public static function setConnectionResolver($resolver){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::setConnectionResolver($resolver); - } - - /** - * Get the event dispatcher instance. - * - * @return \Illuminate\Events\Dispatcher - * @static - */ - public static function getEventDispatcher(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getEventDispatcher(); - } - - /** - * Set the event dispatcher instance. - * - * @param \Illuminate\Events\Dispatcher $dispatcher - * @return void - * @static - */ - public static function setEventDispatcher($dispatcher){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::setEventDispatcher($dispatcher); - } - - /** - * Unset the event dispatcher for models. - * - * @return void - * @static - */ - public static function unsetEventDispatcher(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::unsetEventDispatcher(); - } - - /** - * Get the mutated attributes for a given instance. - * - * @return array - * @static - */ - public static function getMutatedAttributes(){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::getMutatedAttributes(); - } - - /** - * Determine if the given attribute exists. - * - * @param mixed $offset - * @return bool - * @static - */ - public static function offsetExists($offset){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::offsetExists($offset); - } - - /** - * Get the value for a given offset. - * - * @param mixed $offset - * @return mixed - * @static - */ - public static function offsetGet($offset){ - //Method inherited from \Illuminate\Database\Eloquent\Model - return \Webpatser\Countries\Countries::offsetGet($offset); - } - - /** - * Set the value for a given offset. - * - * @param mixed $offset - * @param mixed $value - * @return void - * @static - */ - public static function offsetSet($offset, $value){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::offsetSet($offset, $value); - } - - /** - * Unset the value for a given offset. - * - * @param mixed $offset - * @return void - * @static - */ - public static function offsetUnset($offset){ - //Method inherited from \Illuminate\Database\Eloquent\Model - \Webpatser\Countries\Countries::offsetUnset($offset); - } - - } - - - class Carbon extends \Carbon\Carbon{ - - } - - -} - diff --git a/_ide_helper_models.php b/_ide_helper_models.php deleted file mode 100644 index 2c7606d3c901..000000000000 --- a/_ide_helper_models.php +++ /dev/null @@ -1,1239 +0,0 @@ - - */ - - -namespace { -/** - * Client - * - * @property integer $id - * @property integer $user_id - * @property integer $account_id - * @property integer $currency_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property string $name - * @property string $address1 - * @property string $address2 - * @property string $city - * @property string $state - * @property string $postal_code - * @property integer $country_id - * @property string $work_phone - * @property string $private_notes - * @property float $balance - * @property float $paid_to_date - * @property string $last_login - * @property string $website - * @property integer $industry_id - * @property integer $size_id - * @property boolean $is_deleted - * @property integer $payment_terms - * @property integer $public_id - * @property string $custom_value1 - * @property string $custom_value2 - * @property string $vat_number - * @property-read \Account $account - * @property-read \Illuminate\Database\Eloquent\Collection|\Invoice[] $invoices - * @property-read \Illuminate\Database\Eloquent\Collection|\Payment[] $payments - * @property-read \Illuminate\Database\Eloquent\Collection|\Contact[] $contacts - * @property-read \Illuminate\Database\Eloquent\Collection|\Project[] $projects - * @property-read \Country $country - * @property-read \Currency $currency - * @property-read \Size $size - * @property-read \Industry $industry - * @method static \Illuminate\Database\Query\Builder|\Client whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereCurrencyId($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereName($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereAddress1($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereAddress2($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereCity($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereState($value) - * @method static \Illuminate\Database\Query\Builder|\Client wherePostalCode($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereCountryId($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereWorkPhone($value) - * @method static \Illuminate\Database\Query\Builder|\Client wherePrivateNotes($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereBalance($value) - * @method static \Illuminate\Database\Query\Builder|\Client wherePaidToDate($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereLastLogin($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereWebsite($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereIndustryId($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereSizeId($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereIsDeleted($value) - * @method static \Illuminate\Database\Query\Builder|\Client wherePaymentTerms($value) - * @method static \Illuminate\Database\Query\Builder|\Client wherePublicId($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereCustomValue1($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereCustomValue2($value) - * @method static \Illuminate\Database\Query\Builder|\Client whereVatNumber($value) - * @method static \EntityModel scope($publicId = false, $accountId = false) - */ - class Client {} -} - -namespace { -/** - * User - * - * @property integer $id - * @property integer $account_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property string $first_name - * @property string $last_name - * @property string $phone - * @property string $username - * @property string $email - * @property string $password - * @property string $confirmation_code - * @property boolean $registered - * @property boolean $confirmed - * @property integer $theme_id - * @property boolean $notify_sent - * @property boolean $notify_viewed - * @property boolean $notify_paid - * @property integer $public_id - * @property boolean $force_pdfjs - * @property string $remember_token - * @property integer $news_feed_id - * @property-read \Account $account - * @property-read \Theme $theme - * @method static \Illuminate\Database\Query\Builder|\User whereId($value) - * @method static \Illuminate\Database\Query\Builder|\User whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\User whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\User whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\User whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\User whereFirstName($value) - * @method static \Illuminate\Database\Query\Builder|\User whereLastName($value) - * @method static \Illuminate\Database\Query\Builder|\User wherePhone($value) - * @method static \Illuminate\Database\Query\Builder|\User whereUsername($value) - * @method static \Illuminate\Database\Query\Builder|\User whereEmail($value) - * @method static \Illuminate\Database\Query\Builder|\User wherePassword($value) - * @method static \Illuminate\Database\Query\Builder|\User whereConfirmationCode($value) - * @method static \Illuminate\Database\Query\Builder|\User whereRegistered($value) - * @method static \Illuminate\Database\Query\Builder|\User whereConfirmed($value) - * @method static \Illuminate\Database\Query\Builder|\User whereThemeId($value) - * @method static \Illuminate\Database\Query\Builder|\User whereNotifySent($value) - * @method static \Illuminate\Database\Query\Builder|\User whereNotifyViewed($value) - * @method static \Illuminate\Database\Query\Builder|\User whereNotifyPaid($value) - * @method static \Illuminate\Database\Query\Builder|\User wherePublicId($value) - * @method static \Illuminate\Database\Query\Builder|\User whereForcePdfjs($value) - * @method static \Illuminate\Database\Query\Builder|\User whereRememberToken($value) - * @method static \Illuminate\Database\Query\Builder|\User whereNewsFeedId($value) - */ - class User {} -} - -namespace { -/** - * Size - * - * @property integer $id - * @property string $name - * @method static \Illuminate\Database\Query\Builder|\Size whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Size whereName($value) - */ - class Size {} -} - -namespace { -/** - * Country - * - * @property integer $id - * @property string $capital - * @property string $citizenship - * @property string $country_code - * @property string $currency - * @property string $currency_code - * @property string $currency_sub_unit - * @property string $full_name - * @property string $iso_3166_2 - * @property string $iso_3166_3 - * @property string $name - * @property string $region_code - * @property string $sub_region_code - * @property boolean $eea - * @method static \Illuminate\Database\Query\Builder|\Country whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Country whereCapital($value) - * @method static \Illuminate\Database\Query\Builder|\Country whereCitizenship($value) - * @method static \Illuminate\Database\Query\Builder|\Country whereCountryCode($value) - * @method static \Illuminate\Database\Query\Builder|\Country whereCurrency($value) - * @method static \Illuminate\Database\Query\Builder|\Country whereCurrencyCode($value) - * @method static \Illuminate\Database\Query\Builder|\Country whereCurrencySubUnit($value) - * @method static \Illuminate\Database\Query\Builder|\Country whereFullName($value) - * @method static \Illuminate\Database\Query\Builder|\Country whereIso31662($value) - * @method static \Illuminate\Database\Query\Builder|\Country whereIso31663($value) - * @method static \Illuminate\Database\Query\Builder|\Country whereName($value) - * @method static \Illuminate\Database\Query\Builder|\Country whereRegionCode($value) - * @method static \Illuminate\Database\Query\Builder|\Country whereSubRegionCode($value) - * @method static \Illuminate\Database\Query\Builder|\Country whereEea($value) - */ - class Country {} -} - -namespace { -/** - * Language - * - * @property integer $id - * @property string $name - * @property string $locale - * @method static \Illuminate\Database\Query\Builder|\Language whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Language whereName($value) - * @method static \Illuminate\Database\Query\Builder|\Language whereLocale($value) - */ - class Language {} -} - -namespace { -/** - * Contact - * - * @property integer $id - * @property integer $account_id - * @property integer $user_id - * @property integer $client_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property boolean $is_primary - * @property boolean $send_invoice - * @property string $first_name - * @property string $last_name - * @property string $email - * @property string $phone - * @property string $last_login - * @property integer $public_id - * @property-read \Client $client - * @method static \Illuminate\Database\Query\Builder|\Contact whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Contact whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\Contact whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\Contact whereClientId($value) - * @method static \Illuminate\Database\Query\Builder|\Contact whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Contact whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Contact whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Contact whereIsPrimary($value) - * @method static \Illuminate\Database\Query\Builder|\Contact whereSendInvoice($value) - * @method static \Illuminate\Database\Query\Builder|\Contact whereFirstName($value) - * @method static \Illuminate\Database\Query\Builder|\Contact whereLastName($value) - * @method static \Illuminate\Database\Query\Builder|\Contact whereEmail($value) - * @method static \Illuminate\Database\Query\Builder|\Contact wherePhone($value) - * @method static \Illuminate\Database\Query\Builder|\Contact whereLastLogin($value) - * @method static \Illuminate\Database\Query\Builder|\Contact wherePublicId($value) - * @method static \EntityModel scope($publicId = false, $accountId = false) - */ - class Contact {} -} - -namespace { -/** - * PaymentLibrary - * - * @property integer $id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property string $name - * @property boolean $visible - * @property-read \Illuminate\Database\Eloquent\Collection|\Gateway[] $gateways - * @method static \Illuminate\Database\Query\Builder|\PaymentLibrary whereId($value) - * @method static \Illuminate\Database\Query\Builder|\PaymentLibrary whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\PaymentLibrary whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\PaymentLibrary whereName($value) - * @method static \Illuminate\Database\Query\Builder|\PaymentLibrary whereVisible($value) - */ - class PaymentLibrary {} -} - -namespace { -/** - * Frequency - * - * @property integer $id - * @property string $name - * @method static \Illuminate\Database\Query\Builder|\Frequency whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Frequency whereName($value) - */ - class Frequency {} -} - -namespace { -/** - * InvoiceItem - * - * @property integer $id - * @property integer $account_id - * @property integer $user_id - * @property integer $invoice_id - * @property integer $product_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property string $product_key - * @property string $notes - * @property float $cost - * @property float $qty - * @property string $tax_name - * @property float $tax_rate - * @property integer $public_id - * @property-read \Invoice $invoice - * @property-read \Product $product - * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereId($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereInvoiceId($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereProductId($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereProductKey($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereNotes($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereCost($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereQty($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereTaxName($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereTaxRate($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceItem wherePublicId($value) - * @method static \EntityModel scope($publicId = false, $accountId = false) - */ - class InvoiceItem {} -} - -namespace { -/** - * AccountGateway - * - * @property integer $id - * @property integer $account_id - * @property integer $user_id - * @property integer $gateway_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property string $config - * @property integer $public_id - * @property integer $accepted_credit_cards - * @property-read \Gateway $gateway - * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereId($value) - * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereGatewayId($value) - * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereConfig($value) - * @method static \Illuminate\Database\Query\Builder|\AccountGateway wherePublicId($value) - * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereAcceptedCreditCards($value) - * @method static \EntityModel scope($publicId = false, $accountId = false) - */ - class AccountGateway {} -} - -namespace { -/** - * Theme - * - * @property integer $id - * @property string $name - * @method static \Illuminate\Database\Query\Builder|\Theme whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Theme whereName($value) - */ - class Theme {} -} - -namespace { -/** - * Payment - * - * @property integer $id - * @property integer $invoice_id - * @property integer $account_id - * @property integer $client_id - * @property integer $contact_id - * @property integer $invitation_id - * @property integer $user_id - * @property integer $account_gateway_id - * @property integer $payment_type_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property boolean $is_deleted - * @property float $amount - * @property string $payment_date - * @property string $transaction_reference - * @property string $payer_id - * @property integer $public_id - * @property-read \Invoice $invoice - * @property-read \Invitation $invitation - * @property-read \Client $client - * @property-read \Account $account - * @property-read \Contact $contact - * @method static \Illuminate\Database\Query\Builder|\Payment whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Payment whereInvoiceId($value) - * @method static \Illuminate\Database\Query\Builder|\Payment whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\Payment whereClientId($value) - * @method static \Illuminate\Database\Query\Builder|\Payment whereContactId($value) - * @method static \Illuminate\Database\Query\Builder|\Payment whereInvitationId($value) - * @method static \Illuminate\Database\Query\Builder|\Payment whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\Payment whereAccountGatewayId($value) - * @method static \Illuminate\Database\Query\Builder|\Payment wherePaymentTypeId($value) - * @method static \Illuminate\Database\Query\Builder|\Payment whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Payment whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Payment whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Payment whereIsDeleted($value) - * @method static \Illuminate\Database\Query\Builder|\Payment whereAmount($value) - * @method static \Illuminate\Database\Query\Builder|\Payment wherePaymentDate($value) - * @method static \Illuminate\Database\Query\Builder|\Payment whereTransactionReference($value) - * @method static \Illuminate\Database\Query\Builder|\Payment wherePayerId($value) - * @method static \Illuminate\Database\Query\Builder|\Payment wherePublicId($value) - * @method static \EntityModel scope($publicId = false, $accountId = false) - */ - class Payment {} -} - -namespace { -/** - * Invoice - * - * @property integer $id - * @property integer $client_id - * @property integer $user_id - * @property integer $account_id - * @property integer $invoice_status_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property string $invoice_number - * @property float $discount - * @property string $po_number - * @property string $invoice_date - * @property string $due_date - * @property string $terms - * @property string $public_notes - * @property boolean $is_deleted - * @property boolean $is_recurring - * @property integer $frequency_id - * @property string $start_date - * @property string $end_date - * @property string $last_sent_date - * @property integer $recurring_invoice_id - * @property string $tax_name - * @property float $tax_rate - * @property float $amount - * @property float $balance - * @property integer $public_id - * @property integer $invoice_design_id - * @property boolean $is_quote - * @property integer $quote_id - * @property integer $quote_invoice_id - * @property float $custom_value1 - * @property float $custom_value2 - * @property boolean $custom_taxes1 - * @property boolean $custom_taxes2 - * @property-read \Account $account - * @property-read \User $user - * @property-read \Client $client - * @property-read \Illuminate\Database\Eloquent\Collection|\InvoiceItem[] $invoice_items - * @property-read \InvoiceStatus $invoice_status - * @property-read \InvoiceDesign $invoice_design - * @property-read \Illuminate\Database\Eloquent\Collection|\Invitation[] $invitations - * @method static \Illuminate\Database\Query\Builder|\Invoice whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereClientId($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereInvoiceStatusId($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereInvoiceNumber($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereDiscount($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice wherePoNumber($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereInvoiceDate($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereDueDate($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereTerms($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice wherePublicNotes($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereIsDeleted($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereIsRecurring($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereFrequencyId($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereStartDate($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereEndDate($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereLastSentDate($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereRecurringInvoiceId($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereTaxName($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereTaxRate($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereAmount($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereBalance($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice wherePublicId($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereInvoiceDesignId($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereIsQuote($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereQuoteId($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereQuoteInvoiceId($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereCustomValue1($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereCustomValue2($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereCustomTaxes1($value) - * @method static \Illuminate\Database\Query\Builder|\Invoice whereCustomTaxes2($value) - * @method static \EntityModel scope($publicId = false, $accountId = false) - */ - class Invoice {} -} - -namespace { -/** - * Subscription - * - * @property integer $id - * @property integer $account_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property integer $event_id - * @property string $target_url - * @method static \Illuminate\Database\Query\Builder|\Subscription whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Subscription whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\Subscription whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Subscription whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Subscription whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Subscription whereEventId($value) - * @method static \Illuminate\Database\Query\Builder|\Subscription whereTargetUrl($value) - */ - class Subscription {} -} - -namespace { -/** - * InvoiceStatus - * - * @property integer $id - * @property string $name - * @method static \Illuminate\Database\Query\Builder|\InvoiceStatus whereId($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceStatus whereName($value) - */ - class InvoiceStatus {} -} - -namespace { -/** - * Industry - * - * @property integer $id - * @property string $name - * @method static \Illuminate\Database\Query\Builder|\Industry whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Industry whereName($value) - */ - class Industry {} -} - -namespace { -/** - * Activity - * - * @property integer $id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property integer $account_id - * @property integer $client_id - * @property integer $user_id - * @property integer $contact_id - * @property integer $payment_id - * @property integer $invoice_id - * @property integer $credit_id - * @property integer $invitation_id - * @property string $message - * @property string $json_backup - * @property integer $activity_type_id - * @property float $adjustment - * @property float $balance - * @property-read \Account $account - * @method static \Illuminate\Database\Query\Builder|\Activity whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Activity whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Activity whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Activity whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\Activity whereClientId($value) - * @method static \Illuminate\Database\Query\Builder|\Activity whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\Activity whereContactId($value) - * @method static \Illuminate\Database\Query\Builder|\Activity wherePaymentId($value) - * @method static \Illuminate\Database\Query\Builder|\Activity whereInvoiceId($value) - * @method static \Illuminate\Database\Query\Builder|\Activity whereCreditId($value) - * @method static \Illuminate\Database\Query\Builder|\Activity whereInvitationId($value) - * @method static \Illuminate\Database\Query\Builder|\Activity whereMessage($value) - * @method static \Illuminate\Database\Query\Builder|\Activity whereJsonBackup($value) - * @method static \Illuminate\Database\Query\Builder|\Activity whereActivityTypeId($value) - * @method static \Illuminate\Database\Query\Builder|\Activity whereAdjustment($value) - * @method static \Illuminate\Database\Query\Builder|\Activity whereBalance($value) - * @method static \Activity scope() - */ - class Activity {} -} - -namespace { -/** - * Timesheet - * - * @property integer $id - * @property integer $user_id - * @property integer $account_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property string $start_date - * @property string $end_date - * @property float $discount - * @property float $hours - * @property integer $public_id - * @property-read \Account $account - * @property-read \User $user - * @property-read \Illuminate\Database\Eloquent\Collection|\TimeSheetEvent[] $timesheet_events - * @method static \Illuminate\Database\Query\Builder|\Timesheet whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Timesheet whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\Timesheet whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\Timesheet whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Timesheet whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Timesheet whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Timesheet whereStartDate($value) - * @method static \Illuminate\Database\Query\Builder|\Timesheet whereEndDate($value) - * @method static \Illuminate\Database\Query\Builder|\Timesheet whereDiscount($value) - * @method static \Illuminate\Database\Query\Builder|\Timesheet whereHours($value) - * @method static \Illuminate\Database\Query\Builder|\Timesheet wherePublicId($value) - */ - class Timesheet {} -} - -namespace { -/** - * Credit - * - * @property integer $id - * @property integer $account_id - * @property integer $client_id - * @property integer $user_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property boolean $is_deleted - * @property float $amount - * @property float $balance - * @property string $credit_date - * @property string $credit_number - * @property string $private_notes - * @property integer $public_id - * @property-read \Invoice $invoice - * @property-read \Client $client - * @method static \Illuminate\Database\Query\Builder|\Credit whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Credit whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\Credit whereClientId($value) - * @method static \Illuminate\Database\Query\Builder|\Credit whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\Credit whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Credit whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Credit whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Credit whereIsDeleted($value) - * @method static \Illuminate\Database\Query\Builder|\Credit whereAmount($value) - * @method static \Illuminate\Database\Query\Builder|\Credit whereBalance($value) - * @method static \Illuminate\Database\Query\Builder|\Credit whereCreditDate($value) - * @method static \Illuminate\Database\Query\Builder|\Credit whereCreditNumber($value) - * @method static \Illuminate\Database\Query\Builder|\Credit wherePrivateNotes($value) - * @method static \Illuminate\Database\Query\Builder|\Credit wherePublicId($value) - * @method static \EntityModel scope($publicId = false, $accountId = false) - */ - class Credit {} -} - -namespace { -/** - * Product - * - * @property integer $id - * @property integer $account_id - * @property integer $user_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property string $product_key - * @property string $notes - * @property float $cost - * @property float $qty - * @property integer $public_id - * @method static \Illuminate\Database\Query\Builder|\Product whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Product whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\Product whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\Product whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Product whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Product whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Product whereProductKey($value) - * @method static \Illuminate\Database\Query\Builder|\Product whereNotes($value) - * @method static \Illuminate\Database\Query\Builder|\Product whereCost($value) - * @method static \Illuminate\Database\Query\Builder|\Product whereQty($value) - * @method static \Illuminate\Database\Query\Builder|\Product wherePublicId($value) - * @method static \EntityModel scope($publicId = false, $accountId = false) - */ - class Product {} -} - -namespace { -/** - * PaymentTerm - * - * @property integer $id - * @property integer $num_days - * @property string $name - * @method static \Illuminate\Database\Query\Builder|\PaymentTerm whereId($value) - * @method static \Illuminate\Database\Query\Builder|\PaymentTerm whereNumDays($value) - * @method static \Illuminate\Database\Query\Builder|\PaymentTerm whereName($value) - */ - class PaymentTerm {} -} - -namespace { -/** - * EntityModel - * - * @method static \EntityModel scope($publicId = false, $accountId = false) - */ - class EntityModel {} -} - -namespace { -/** - * Timezone - * - * @property integer $id - * @property string $name - * @property string $location - * @method static \Illuminate\Database\Query\Builder|\Timezone whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Timezone whereName($value) - * @method static \Illuminate\Database\Query\Builder|\Timezone whereLocation($value) - */ - class Timezone {} -} - -namespace { -/** - * ProjectCode - * - * @property integer $id - * @property integer $user_id - * @property integer $account_id - * @property integer $project_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property string $name - * @property string $description - * @property-read \Account $account - * @property-read \User $user - * @property-read \Project $project - * @property-read \Illuminate\Database\Eloquent\Collection|\TimesheetEvent[] $events - * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereId($value) - * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereProjectId($value) - * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereName($value) - * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereDescription($value) - */ - class ProjectCode {} -} - -namespace { -/** - * Invitation - * - * @property integer $id - * @property integer $account_id - * @property integer $user_id - * @property integer $contact_id - * @property integer $invoice_id - * @property string $invitation_key - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property string $transaction_reference - * @property string $sent_date - * @property string $viewed_date - * @property integer $public_id - * @property-read \Invoice $invoice - * @property-read \Contact $contact - * @property-read \User $user - * @method static \Illuminate\Database\Query\Builder|\Invitation whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Invitation whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\Invitation whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\Invitation whereContactId($value) - * @method static \Illuminate\Database\Query\Builder|\Invitation whereInvoiceId($value) - * @method static \Illuminate\Database\Query\Builder|\Invitation whereInvitationKey($value) - * @method static \Illuminate\Database\Query\Builder|\Invitation whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Invitation whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Invitation whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Invitation whereTransactionReference($value) - * @method static \Illuminate\Database\Query\Builder|\Invitation whereSentDate($value) - * @method static \Illuminate\Database\Query\Builder|\Invitation whereViewedDate($value) - * @method static \Illuminate\Database\Query\Builder|\Invitation wherePublicId($value) - * @method static \EntityModel scope($publicId = false, $accountId = false) - */ - class Invitation {} -} - -namespace { -/** - * Currency - * - * @property integer $id - * @property string $name - * @property string $symbol - * @property string $precision - * @property string $thousand_separator - * @property string $decimal_separator - * @property string $code - * @method static \Illuminate\Database\Query\Builder|\Currency whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Currency whereName($value) - * @method static \Illuminate\Database\Query\Builder|\Currency whereSymbol($value) - * @method static \Illuminate\Database\Query\Builder|\Currency wherePrecision($value) - * @method static \Illuminate\Database\Query\Builder|\Currency whereThousandSeparator($value) - * @method static \Illuminate\Database\Query\Builder|\Currency whereDecimalSeparator($value) - * @method static \Illuminate\Database\Query\Builder|\Currency whereCode($value) - */ - class Currency {} -} - -namespace { -/** - * InvoiceDesign - * - * @property integer $id - * @property string $name - * @property string $javascript - * @method static \Illuminate\Database\Query\Builder|\InvoiceDesign whereId($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceDesign whereName($value) - * @method static \Illuminate\Database\Query\Builder|\InvoiceDesign whereJavascript($value) - */ - class InvoiceDesign {} -} - -namespace { -/** - * DatetimeFormat - * - * @property integer $id - * @property string $format - * @property string $label - * @method static \Illuminate\Database\Query\Builder|\DatetimeFormat whereId($value) - * @method static \Illuminate\Database\Query\Builder|\DatetimeFormat whereFormat($value) - * @method static \Illuminate\Database\Query\Builder|\DatetimeFormat whereLabel($value) - */ - class DatetimeFormat {} -} - -namespace { -/** - * Affiliate - * - * @property integer $id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property string $name - * @property string $affiliate_key - * @property string $payment_title - * @property string $payment_subtitle - * @method static \Illuminate\Database\Query\Builder|\Affiliate whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Affiliate whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Affiliate whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Affiliate whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Affiliate whereName($value) - * @method static \Illuminate\Database\Query\Builder|\Affiliate whereAffiliateKey($value) - * @method static \Illuminate\Database\Query\Builder|\Affiliate wherePaymentTitle($value) - * @method static \Illuminate\Database\Query\Builder|\Affiliate wherePaymentSubtitle($value) - */ - class Affiliate {} -} - -namespace { -/** - * TaxRate - * - * @property integer $id - * @property integer $account_id - * @property integer $user_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property string $name - * @property float $rate - * @property integer $public_id - * @method static \Illuminate\Database\Query\Builder|\TaxRate whereId($value) - * @method static \Illuminate\Database\Query\Builder|\TaxRate whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\TaxRate whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\TaxRate whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\TaxRate whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\TaxRate whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\TaxRate whereName($value) - * @method static \Illuminate\Database\Query\Builder|\TaxRate whereRate($value) - * @method static \Illuminate\Database\Query\Builder|\TaxRate wherePublicId($value) - * @method static \EntityModel scope($publicId = false, $accountId = false) - */ - class TaxRate {} -} - -namespace { -/** - * Gateway - * - * @property integer $id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property string $name - * @property string $provider - * @property boolean $visible - * @property integer $payment_library_id - * @property integer $sort_order - * @property boolean $recommended - * @property string $site_url - * @property-read \PaymentLibrary $paymentlibrary - * @method static \Illuminate\Database\Query\Builder|\Gateway whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Gateway whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Gateway whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Gateway whereName($value) - * @method static \Illuminate\Database\Query\Builder|\Gateway whereProvider($value) - * @method static \Illuminate\Database\Query\Builder|\Gateway whereVisible($value) - * @method static \Illuminate\Database\Query\Builder|\Gateway wherePaymentLibraryId($value) - * @method static \Illuminate\Database\Query\Builder|\Gateway whereSortOrder($value) - * @method static \Illuminate\Database\Query\Builder|\Gateway whereRecommended($value) - * @method static \Illuminate\Database\Query\Builder|\Gateway whereSiteUrl($value) - */ - class Gateway {} -} - -namespace { -/** - * PaymentType - * - * @property integer $id - * @property string $name - * @method static \Illuminate\Database\Query\Builder|\PaymentType whereId($value) - * @method static \Illuminate\Database\Query\Builder|\PaymentType whereName($value) - */ - class PaymentType {} -} - -namespace { -/** - * License - * - * @property integer $id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property integer $affiliate_id - * @property string $first_name - * @property string $last_name - * @property string $email - * @property string $license_key - * @property boolean $is_claimed - * @property string $transaction_reference - * @method static \Illuminate\Database\Query\Builder|\License whereId($value) - * @method static \Illuminate\Database\Query\Builder|\License whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\License whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\License whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\License whereAffiliateId($value) - * @method static \Illuminate\Database\Query\Builder|\License whereFirstName($value) - * @method static \Illuminate\Database\Query\Builder|\License whereLastName($value) - * @method static \Illuminate\Database\Query\Builder|\License whereEmail($value) - * @method static \Illuminate\Database\Query\Builder|\License whereLicenseKey($value) - * @method static \Illuminate\Database\Query\Builder|\License whereIsClaimed($value) - * @method static \Illuminate\Database\Query\Builder|\License whereTransactionReference($value) - */ - class License {} -} - -namespace { -/** - * DateFormat - * - * @property integer $id - * @property string $format - * @property string $picker_format - * @property string $label - * @method static \Illuminate\Database\Query\Builder|\DateFormat whereId($value) - * @method static \Illuminate\Database\Query\Builder|\DateFormat whereFormat($value) - * @method static \Illuminate\Database\Query\Builder|\DateFormat wherePickerFormat($value) - * @method static \Illuminate\Database\Query\Builder|\DateFormat whereLabel($value) - */ - class DateFormat {} -} - -namespace { -/** - * TimesheetEvent - * - * @property integer $id - * @property integer $user_id - * @property integer $account_id - * @property integer $timesheet_event_source_id - * @property integer $timesheet_id - * @property integer $project_id - * @property integer $project_code_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property string $uid - * @property string $summary - * @property string $description - * @property string $location - * @property string $owner - * @property string $start_date - * @property string $end_date - * @property float $hours - * @property float $discount - * @property boolean $manualedit - * @property string $org_code - * @property string $org_created_at - * @property string $org_updated_at - * @property string $org_deleted_at - * @property string $org_start_date_timezone - * @property string $org_end_date_timezone - * @property string $org_data - * @property string $import_error - * @property string $import_warning - * @property string $updated_data - * @property string $updated_data_at - * @property-read \Account $account - * @property-read \User $user - * @property-read \TimesheetEventSource $source - * @property-read \Timesheet $timesheet - * @property-read \Project $project - * @property-read \ProjectCode $project_code - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereId($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereTimesheetEventSourceId($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereTimesheetId($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereProjectId($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereProjectCodeId($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereUid($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereSummary($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereDescription($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereLocation($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOwner($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereStartDate($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereEndDate($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereHours($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereDiscount($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereManualedit($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOrgCode($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOrgCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOrgUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOrgDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOrgStartDateTimezone($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOrgEndDateTimezone($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOrgData($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereImportError($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereImportWarning($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereUpdatedData($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereUpdatedDataAt($value) - */ - class TimesheetEvent {} -} - -namespace { -/** - * Project - * - * @property integer $id - * @property integer $user_id - * @property integer $account_id - * @property integer $client_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property string $name - * @property string $description - * @property-read \Account $account - * @property-read \User $user - * @property-read \Client $client - * @property-read \Illuminate\Database\Eloquent\Collection|\ProjectCode[] $codes - * @method static \Illuminate\Database\Query\Builder|\Project whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Project whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\Project whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\Project whereClientId($value) - * @method static \Illuminate\Database\Query\Builder|\Project whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Project whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Project whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Project whereName($value) - * @method static \Illuminate\Database\Query\Builder|\Project whereDescription($value) - */ - class Project {} -} - -namespace { -/** - * Account - * - * @property integer $id - * @property integer $timezone_id - * @property integer $date_format_id - * @property integer $datetime_format_id - * @property integer $currency_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property string $name - * @property string $ip - * @property string $account_key - * @property string $last_login - * @property string $address1 - * @property string $address2 - * @property string $city - * @property string $state - * @property string $postal_code - * @property integer $country_id - * @property string $invoice_terms - * @property string $email_footer - * @property integer $industry_id - * @property integer $size_id - * @property boolean $invoice_taxes - * @property boolean $invoice_item_taxes - * @property integer $invoice_design_id - * @property string $work_phone - * @property string $work_email - * @property integer $language_id - * @property string $pro_plan_paid - * @property string $custom_label1 - * @property string $custom_value1 - * @property string $custom_label2 - * @property string $custom_value2 - * @property string $custom_client_label1 - * @property string $custom_client_label2 - * @property boolean $fill_products - * @property boolean $update_products - * @property string $primary_color - * @property string $secondary_color - * @property boolean $hide_quantity - * @property boolean $hide_paid_to_date - * @property string $custom_invoice_label1 - * @property string $custom_invoice_label2 - * @property boolean $custom_invoice_taxes1 - * @property boolean $custom_invoice_taxes2 - * @property string $vat_number - * @property string $invoice_design - * @property string $invoice_number_prefix - * @property integer $invoice_number_counter - * @property string $quote_number_prefix - * @property integer $quote_number_counter - * @property boolean $share_counter - * @property-read \Illuminate\Database\Eloquent\Collection|\User[] $users - * @property-read \Illuminate\Database\Eloquent\Collection|\Client[] $clients - * @property-read \Illuminate\Database\Eloquent\Collection|\Invoice[] $invoices - * @property-read \Illuminate\Database\Eloquent\Collection|\AccountGateway[] $account_gateways - * @property-read \Illuminate\Database\Eloquent\Collection|\TaxRate[] $tax_rates - * @property-read \Country $country - * @property-read \Timezone $timezone - * @property-read \Language $language - * @property-read \DateFormat $date_format - * @property-read \DatetimeFormat $datetime_format - * @property-read \Size $size - * @property-read \Industry $industry - * @method static \Illuminate\Database\Query\Builder|\Account whereId($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereTimezoneId($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereDateFormatId($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereDatetimeFormatId($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereCurrencyId($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereName($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereIp($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereAccountKey($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereLastLogin($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereAddress1($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereAddress2($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereCity($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereState($value) - * @method static \Illuminate\Database\Query\Builder|\Account wherePostalCode($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereCountryId($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereInvoiceTerms($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereEmailFooter($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereIndustryId($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereSizeId($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereInvoiceTaxes($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereInvoiceItemTaxes($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereInvoiceDesignId($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereWorkPhone($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereWorkEmail($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereLanguageId($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereProPlanPaid($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereCustomLabel1($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereCustomValue1($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereCustomLabel2($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereCustomValue2($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereCustomClientLabel1($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereCustomClientLabel2($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereFillProducts($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereUpdateProducts($value) - * @method static \Illuminate\Database\Query\Builder|\Account wherePrimaryColor($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereSecondaryColor($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereHideQuantity($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereHidePaidToDate($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereCustomInvoiceLabel1($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereCustomInvoiceLabel2($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereCustomInvoiceTaxes1($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereCustomInvoiceTaxes2($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereVatNumber($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereInvoiceDesign($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereInvoiceNumberPrefix($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereInvoiceNumberCounter($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereQuoteNumberPrefix($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereQuoteNumberCounter($value) - * @method static \Illuminate\Database\Query\Builder|\Account whereShareCounter($value) - */ - class Account {} -} - -namespace { -/** - * TimesheetEventSource - * - * @property integer $id - * @property integer $user_id - * @property integer $account_id - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Carbon\Carbon $deleted_at - * @property string $owner - * @property string $name - * @property string $url - * @property string $type - * @property string $from_date - * @property string $to_date - * @property-read \Account $account - * @property-read \User $user - * @property-read \Illuminate\Database\Eloquent\Collection|\TimesheetEvent[] $events - * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereId($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereUserId($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereAccountId($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereCreatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereUpdatedAt($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereDeletedAt($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereOwner($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereName($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereUrl($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereType($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereFromDate($value) - * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereToDate($value) - */ - class TimesheetEventSource {} -} - diff --git a/app/Commands/Command.php b/app/Commands/Command.php new file mode 100644 index 000000000000..018bc2192435 --- /dev/null +++ b/app/Commands/Command.php @@ -0,0 +1,7 @@ +comment(PHP_EOL.Inspiring::quote().PHP_EOL); + } + +} diff --git a/app/commands/ResetData.php b/app/Console/Commands/ResetData.php similarity index 92% rename from app/commands/ResetData.php rename to app/Console/Commands/ResetData.php index 39150407ea93..a02760034726 100644 --- a/app/commands/ResetData.php +++ b/app/Console/Commands/ResetData.php @@ -1,4 +1,4 @@ -command('inspire') + // ->hourly(); + } + +} diff --git a/app/Events/Event.php b/app/Events/Event.php new file mode 100644 index 000000000000..d59f7690f83c --- /dev/null +++ b/app/Events/Event.php @@ -0,0 +1,7 @@ +payment = $payment; + } + +} diff --git a/app/Events/InvoiceSent.php b/app/Events/InvoiceSent.php new file mode 100644 index 000000000000..cbe08d0528f3 --- /dev/null +++ b/app/Events/InvoiceSent.php @@ -0,0 +1,23 @@ +invoice = $invoice; + } + +} diff --git a/app/Events/InvoiceViewed.php b/app/Events/InvoiceViewed.php new file mode 100644 index 000000000000..8d9f129e764a --- /dev/null +++ b/app/Events/InvoiceViewed.php @@ -0,0 +1,23 @@ +invoice = $invoice; + } + +} diff --git a/app/Events/UserLoggedIn.php b/app/Events/UserLoggedIn.php new file mode 100644 index 000000000000..1f4af5e86a9a --- /dev/null +++ b/app/Events/UserLoggedIn.php @@ -0,0 +1,21 @@ +with('sign_up', Input::get('sign_up')); } @@ -103,6 +129,7 @@ class AccountController extends \BaseController public function showSection($section = ACCOUNT_DETAILS, $subSection = false) { if ($section == ACCOUNT_DETAILS) { + /* Update Remember Function $data = [ 'account' => Account::with('users')->findOrFail(Auth::user()->account_id), 'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), @@ -115,6 +142,19 @@ class AccountController extends \BaseController 'languages' => Language::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), 'showUser' => Auth::user()->id === Auth::user()->account->users()->first()->id, ]; + */ + $data = [ + 'account' => Account::with('users')->findOrFail(Auth::user()->account_id), + 'countries' => Country::orderBy('name')->get(), + 'sizes' => Size::orderBy('id')->get(), + 'industries' => Industry::orderBy('name')->get(), + 'timezones' => Timezone::orderBy('location')->get(), + 'dateFormats' => DateFormat::get(), + 'datetimeFormats' => DatetimeFormat::get(), + 'currencies' => Currency::orderBy('name')->get(), + 'languages' => Language::orderBy('name')->get(), + 'showUser' => Auth::user()->id === Auth::user()->account->users()->first()->id, + ]; return View::make('accounts.details', $data); } elseif ($section == ACCOUNT_PAYMENTS) { @@ -170,8 +210,9 @@ class AccountController extends \BaseController $invoice->invoice_items = [$invoiceItem]; $data['invoice'] = $invoice; - $data['invoiceDesigns'] = InvoiceDesign::remember(DEFAULT_QUERY_CACHE, 'invoice_designs_cache_'.Auth::user()->maxInvoiceDesignId()) - ->where('id', '<=', Auth::user()->maxInvoiceDesignId())->orderBy('id')->get(); + //$data['invoiceDesigns'] = InvoiceDesign::remember(DEFAULT_QUERY_CACHE, 'invoice_designs_cache_'.Auth::user()->maxInvoiceDesignId()) + // ->where('id', '<=', Auth::user()->maxInvoiceDesignId())->orderBy('id')->get(); + $data['invoiceDesigns'] = InvoiceDesign::where('id', '<=', Auth::user()->maxInvoiceDesignId())->orderBy('id')->get(); } else if ($subSection == ACCOUNT_EMAIL_TEMPLATES) { $data['invoiceEmail'] = $account->getEmailTemplate(ENTITY_INVOICE); $data['quoteEmail'] = $account->getEmailTemplate(ENTITY_QUOTE); @@ -263,7 +304,7 @@ class AccountController extends \BaseController $account->invoice_number_counter = Input::get('invoice_number_counter'); $account->quote_number_prefix = Input::get('quote_number_prefix'); $account->share_counter = Input::get('share_counter') ? true : false; - + $account->pdf_email_attachment = Input::get('pdf_email_attachment') ? true : false; if (!$account->share_counter) { @@ -426,7 +467,7 @@ class AccountController extends \BaseController $name = $file->getRealPath(); - require_once app_path().'/includes/parsecsv.lib.php'; + require_once app_path().'/Includes/parsecsv.lib.php'; $csv = new parseCSV(); $csv->heading = false; $csv->auto($name); @@ -591,19 +632,18 @@ class AccountController extends \BaseController $image = Image::make($path); $mimeType = $file->getMimeType(); - - if ($image->width == 200 && $mimeType == 'image/jpeg') { + + if ($image->width() == 200 && $mimeType == 'image/jpeg') { $file->move('logo/', $account->account_key . '.jpg'); } else { - $image->resize(200, 120, true, false); - Image::canvas($image->width, $image->height, '#FFFFFF')->insert($image)->save($account->getLogoPath()); + $image->resize(200, 120, function ($constraint) { + $constraint->aspectRatio(); + }); + Image::canvas($image->width(), $image->height(), '#FFFFFF')->insert($image)->save($account->getLogoPath()); } - - //$image = Image::make($path)->resize(200, 120, true, false); - //Image::canvas($image->width, $image->height, '#FFFFFF')->insert($image)->save($account->getLogoPath()); } - Event::fire('user.refresh'); + Event::fire(new UserSettingsChanged()); Session::flash('message', trans('texts.updated_settings')); return Redirect::to('company/details'); @@ -651,9 +691,8 @@ class AccountController extends \BaseController $user->email = trim(strtolower(Input::get('new_email'))); $user->username = $user->email; $user->password = trim(Input::get('new_password')); - $user->password_confirmation = trim(Input::get('new_password')); $user->registered = true; - $user->amend(); + $user->save(); if (Utils::isNinja()) { $this->userMailer->sendConfirmation($user); @@ -710,7 +749,7 @@ class AccountController extends \BaseController $account = Auth::user()->account; $account->forceDelete(); - Confide::logout(); + Auth::logout(); return Redirect::to('/')->with('clearGuestKey', true); } diff --git a/app/controllers/AccountGatewayController.php b/app/Http/Controllers/AccountGatewayController.php old mode 100755 new mode 100644 similarity index 94% rename from app/controllers/AccountGatewayController.php rename to app/Http/Controllers/AccountGatewayController.php index e6f646e4e70a..1634ca5f6004 --- a/app/controllers/AccountGatewayController.php +++ b/app/Http/Controllers/AccountGatewayController.php @@ -1,24 +1,30 @@ -join('gateways', 'gateways.id', '=', 'account_gateways.gateway_id') ->where('account_gateways.deleted_at', '=', null) - ->where('account_gateways.account_id', '=', \Auth::user()->account_id) + ->where('account_gateways.account_id', '=', Auth::user()->account_id) ->select('account_gateways.public_id', 'gateways.name', 'account_gateways.deleted_at'); return Datatable::query($query) @@ -95,8 +101,9 @@ class AccountGatewayController extends BaseController $selectedCards = $accountGateway ? $accountGateway->accepted_credit_cards : 0; $account = Auth::user()->account; - $recommendedGateways = Gateway::remember(DEFAULT_QUERY_CACHE) - ->where('recommended', '=', '1') + // $recommendedGateways = Gateway::remember(DEFAULT_QUERY_CACHE) + // ->where('recommended', '=', '1') + $recommendedGateways = Gateway::where('recommended', '=', '1') ->orderBy('sort_order') ->get(); $recommendedGatewayArray = array(); diff --git a/app/controllers/ActivityController.php b/app/Http/Controllers/ActivityController.php old mode 100755 new mode 100644 similarity index 89% rename from app/controllers/ActivityController.php rename to app/Http/Controllers/ActivityController.php index ba8797bb1d00..95883aa68d28 --- a/app/controllers/ActivityController.php +++ b/app/Http/Controllers/ActivityController.php @@ -1,6 +1,11 @@ - $database['type']]; - unset($database['type']); $mail = Input::get('mail'); $email = $mail['username']; @@ -58,43 +67,44 @@ class AppController extends BaseController } elseif (!$valid) { return Redirect::to('/setup')->withInput(); } + + // == ENV Settings (Production) == // + $config = "APP_ENV=development\n". + "APP_DEBUG=true\n". + "APP_KEY={$app['key']}\n\n". + "DB_TYPE={$dbType}\n". + "DB_HOST={$database['type']['host']}\n". + "DB_DATABASE={$database['type']['database']}\n". + "DB_USERNAME={$database['type']['username']}\n". + "DB_PASSWORD={$database['type']['password']}\n\n". + "MAIL_DRIVER={$mail['driver']}\n". + "MAIL_PORT={$mail['port']}\n". + "MAIL_ENCRYPTION={$mail['encryption']}\n". + "MAIL_HOST={$mail['host']}\n". + "MAIL_USERNAME={$mail['username']}\n". + "MAIL_FROM_NAME={$mail['from']['name']}\n". + "MAIL_PASSWORD={$mail['password']}\n"; - $content = " $app, 'database' => $database, 'mail' => $mail] as $key => $config) { - $content = 'accountRepo->create(); + // == DB Migrate & Seed == // + // Artisan::call('migrate:rollback', array('--force' => true)); // Debug Purposes + Artisan::call('migrate', array('--force' => true)); + Artisan::call('db:seed', array('--force' => true)); + + $firstName = trim(Input::get('first_name')); + $lastName = trim(Input::get('last_name')); + $email = trim(strtolower(Input::get('email'))); + $password = trim(Input::get('password')); + $account = $this->accountRepo->create($firstName, $lastName, $email, $password); $user = $account->users()->first(); - $user->first_name = trim(Input::get('first_name')); - $user->last_name = trim(Input::get('last_name')); - $user->email = trim(strtolower(Input::get('email'))); - $user->username = $user->email; - $user->password = trim(Input::get('password')); - $user->password_confirmation = trim(Input::get('password')); - $user->registered = true; - $user->amend(); - //Auth::login($user, true); - $this->accountRepo->registerUser($user); - return Redirect::to('/invoices/create'); + return Redirect::to('/login'); } private function testDatabase($database) @@ -102,7 +112,7 @@ class AppController extends BaseController $dbType = $database['default']; Config::set('database.default', $dbType); - + foreach ($database['connections'][$dbType] as $key => $val) { Config::set("database.connections.{$dbType}.{$key}", $val); } @@ -145,8 +155,8 @@ class AppController extends BaseController { if (!Utils::isNinja() && !Utils::isDatabaseSetup()) { try { - Artisan::call('migrate'); - Artisan::call('db:seed'); + Artisan::call('migrate', array('--force' => true)); + Artisan::call('db:seed', array('--force' => true)); } catch (Exception $e) { Response::make($e->getMessage(), 500); } @@ -159,7 +169,7 @@ class AppController extends BaseController { if (!Utils::isNinja()) { try { - Artisan::call('migrate'); + Artisan::call('migrate', array('--force' => true)); Cache::flush(); } catch (Exception $e) { Response::make($e->getMessage(), 500); diff --git a/app/Http/Controllers/Auth/AuthController.php b/app/Http/Controllers/Auth/AuthController.php new file mode 100644 index 000000000000..f3e051d6f79f --- /dev/null +++ b/app/Http/Controllers/Auth/AuthController.php @@ -0,0 +1,57 @@ +auth = $auth; + $this->registrar = $registrar; + + $this->middleware('guest', ['except' => 'getLogout']); + } + + public function postLoginWrapper(Request $request) + { + $response = self::postLogin($request); + + if (Auth::check()) { + Event::fire(new UserLoggedIn()); + } + + return $response; + } + +} diff --git a/app/Http/Controllers/Auth/PasswordController.php b/app/Http/Controllers/Auth/PasswordController.php new file mode 100644 index 000000000000..3741a8157983 --- /dev/null +++ b/app/Http/Controllers/Auth/PasswordController.php @@ -0,0 +1,40 @@ +auth = $auth; + $this->passwords = $passwords; + + $this->middleware('guest'); + } + +} diff --git a/app/controllers/BaseController.php b/app/Http/Controllers/BaseController.php old mode 100755 new mode 100644 similarity index 91% rename from app/controllers/BaseController.php rename to app/Http/Controllers/BaseController.php index 11891536c641..0cc63c7c5a1a --- a/app/controllers/BaseController.php +++ b/app/Http/Controllers/BaseController.php @@ -1,4 +1,4 @@ -getDisplayName(), ENTITY_CLIENT); $actionLinks = [ - [trans('texts.create_invoice'), URL::to('invoices/create/'.$client->public_id)], - [trans('texts.enter_payment'), URL::to('payments/create/'.$client->public_id)], - [trans('texts.enter_credit'), URL::to('credits/create/'.$client->public_id)], - ]; + ['label' => trans('texts.create_invoice'), 'url' => URL::to('invoices/create/'.$client->public_id)], + ['label' => trans('texts.enter_payment'), 'url' => URL::to('payments/create/'.$client->public_id)], + ['label' => trans('texts.enter_credit'), 'url' => URL::to('credits/create/'.$client->public_id)], + ]; if (Utils::isPro()) { - array_unshift($actionLinks, [trans('texts.create_quote'), URL::to('quotes/create/'.$client->public_id)]); + array_unshift($actionLinks, ['label' => trans('texts.create_quote'), 'url' => URL::to('quotes/create/'.$client->public_id)]); } $data = array( @@ -158,6 +178,7 @@ class ClientController extends \BaseController private static function getViewModel() { + /* Remember function no longer works return [ 'sizes' => Size::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(), 'paymentTerms' => PaymentTerm::remember(DEFAULT_QUERY_CACHE)->orderBy('num_days')->get(['name', 'num_days']), @@ -167,6 +188,16 @@ class ClientController extends \BaseController 'customLabel1' => Auth::user()->account->custom_client_label1, 'customLabel2' => Auth::user()->account->custom_client_label2, ]; + */ + return [ + 'sizes' => Size::orderBy('id')->get(), + 'paymentTerms' => PaymentTerm::orderBy('num_days')->get(['name', 'num_days']), + 'industries' => Industry::orderBy('name')->get(), + 'currencies' => Currency::orderBy('name')->get(), + 'countries' => Country::orderBy('name')->get(), + 'customLabel1' => Auth::user()->account->custom_client_label1, + 'customLabel2' => Auth::user()->account->custom_client_label2, + ]; } /** diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php new file mode 100644 index 000000000000..27b3f45272fd --- /dev/null +++ b/app/Http/Controllers/Controller.php @@ -0,0 +1,11 @@ +account_id != $invoice->account_id)) { Activity::viewInvoice($invitation); - Event::fire('invoice.viewed', $invoice); + Event::fire(new InvoiceViewed($invoice)); } Session::set($invitationKey, true); @@ -294,6 +321,7 @@ class InvoiceController extends \BaseController } } + /* return [ 'account' => Auth::user()->account, 'products' => Product::scope()->orderBy('id')->get(array('product_key', 'notes', 'cost', 'qty')), @@ -317,6 +345,31 @@ class InvoiceController extends \BaseController ), 'recurringHelp' => $recurringHelp ]; + */ + + return [ + 'account' => Auth::user()->account, + 'products' => Product::scope()->orderBy('id')->get(array('product_key', 'notes', 'cost', 'qty')), + 'countries' => Country::orderBy('name')->get(), + 'clients' => Client::scope()->with('contacts', 'country')->orderBy('name')->get(), + 'taxRates' => TaxRate::scope()->orderBy('name')->get(), + 'currencies' => Cache::get('currencies'), + 'sizes' => Size::orderBy('id')->get(), + 'paymentTerms' => PaymentTerm::orderBy('num_days')->get(['name', 'num_days']), + 'industries' => Industry::orderBy('name')->get(), + 'invoiceDesigns' => InvoiceDesign::where('id', '<=', Auth::user()->maxInvoiceDesignId())->orderBy('id')->get(), + 'frequencies' => array( + 1 => 'Weekly', + 2 => 'Two weeks', + 3 => 'Four weeks', + 4 => 'Monthly', + 5 => 'Three months', + 6 => 'Six months', + 7 => 'Annually', + ), + 'recurringHelp' => $recurringHelp + ]; + } /** @@ -396,11 +449,13 @@ class InvoiceController extends \BaseController $url = URL::to('clients/'.$client->public_id); Utils::trackViewed($client->getDisplayName(), ENTITY_CLIENT, $url); } - + + /* + This causes an error message. Commenting out. will return later. if (!empty(Input::get('pdfupload')) && strpos(Input::get('pdfupload'), 'data:application/pdf;base64,') === 0) { $this->storePDF(Input::get('pdfupload'), $invoice->id); } - + */ if ($action == 'clone') { return $this->cloneInvoice($publicId); } elseif ($action == 'convert') { diff --git a/app/controllers/PaymentApiController.php b/app/Http/Controllers/PaymentApiController.php similarity index 89% rename from app/controllers/PaymentApiController.php rename to app/Http/Controllers/PaymentApiController.php index 46db0d353d2b..daaaebd56d0f 100644 --- a/app/controllers/PaymentApiController.php +++ b/app/Http/Controllers/PaymentApiController.php @@ -1,6 +1,7 @@ - 'POST', 'url' => "payments", 'title' => trans('texts.new_payment'), - //'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), - 'paymentTypes' => PaymentType::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(), + //'paymentTypes' => PaymentType::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(), + 'paymentTypes' => PaymentType::orderBy('id')->get(), 'clients' => Client::scope()->with('contacts')->orderBy('name')->get(), ); return View::make('payments.edit', $data); @@ -154,8 +172,8 @@ class PaymentController extends \BaseController 'method' => 'PUT', 'url' => 'payments/'.$publicId, 'title' => trans('texts.edit_payment'), - //'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), - 'paymentTypes' => PaymentType::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(), + //'paymentTypes' => PaymentType::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(), + 'paymentTypes' => PaymentType::orderBy('id')->get(), 'clients' => Client::scope()->with('contacts')->orderBy('name')->get(), ); return View::make('payments.edit', $data); @@ -350,7 +368,8 @@ class PaymentController extends \BaseController 'paymentLibrary' => $paymentLibrary, 'gateway' => $gateway, 'acceptedCreditCardTypes' => $acceptedCreditCardTypes, - 'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), + //'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), + 'countries' => Country::orderBy('name')->get(), 'currencyId' => $client->currency_id, 'account' => $client->account ]; @@ -399,7 +418,8 @@ class PaymentController extends \BaseController 'paymentLibrary' => $paymentLibrary, 'gateway' => $gateway, 'acceptedCreditCardTypes' => $acceptedCreditCardTypes, - 'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), + //'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), + 'countries' => Country::orderBy('name')->get(), 'currencyId' => 1, 'paymentTitle' => $affiliate->payment_title, 'paymentSubtitle' => $affiliate->payment_subtitle, @@ -658,7 +678,7 @@ class PaymentController extends \BaseController $payment->save(); - Event::fire('invoice.paid', $payment); + Event::fire(new InvoicePaid($payment)); return $payment; } diff --git a/app/controllers/ProductController.php b/app/Http/Controllers/ProductController.php similarity index 95% rename from app/controllers/ProductController.php rename to app/Http/Controllers/ProductController.php index 5be7ab1339fa..b35939ae1b5a 100644 --- a/app/controllers/ProductController.php +++ b/app/Http/Controllers/ProductController.php @@ -1,6 +1,13 @@ - ENTITY_QUOTE, 'account' => Auth::user()->account, @@ -138,6 +155,22 @@ class QuoteController extends \BaseController ->where('id', '<=', Auth::user()->maxInvoiceDesignId())->orderBy('id')->get(), 'invoiceLabels' => Auth::user()->account->getInvoiceLabels() ]; +*/ + // TODO: Add Remember Cache + return [ + 'entityType' => ENTITY_QUOTE, + 'account' => Auth::user()->account, + 'products' => Product::scope()->orderBy('id')->get(array('product_key', 'notes', 'cost', 'qty')), + 'countries' => Country::orderBy('name')->get(), + 'clients' => Client::scope()->with('contacts', 'country')->orderBy('name')->get(), + 'taxRates' => TaxRate::scope()->orderBy('name')->get(), + 'currencies' => Currency::orderBy('name')->get(), + 'sizes' => Size::orderBy('id')->get(), + 'paymentTerms' => PaymentTerm::orderBy('num_days')->get(['name', 'num_days']), + 'industries' => Industry::orderBy('name')->get(), + 'invoiceDesigns' => InvoiceDesign::where('id', '<=', Auth::user()->maxInvoiceDesignId())->orderBy('id')->get(), + 'invoiceLabels' => Auth::user()->account->getInvoiceLabels() + ]; } public function bulk() diff --git a/app/controllers/ReportController.php b/app/Http/Controllers/ReportController.php old mode 100755 new mode 100644 similarity index 95% rename from app/controllers/ReportController.php rename to app/Http/Controllers/ReportController.php index 9000b8165444..bfbeba8cc6ab --- a/app/controllers/ReportController.php +++ b/app/Http/Controllers/ReportController.php @@ -1,6 +1,17 @@ -force_pdfjs = true; $user->save(); - Session::flash('message', trans('texts.confide.updated_settings')); + Session::flash('message', trans('texts.security.updated_settings')); return Redirect::to('/dashboard'); } @@ -221,7 +227,7 @@ class UserController extends BaseController $user->email = trim(Input::get('email')); $user->registered = true; $user->password = str_random(RANDOM_KEY_LENGTH); - $user->password_confirmation = $user->password; + $user->confirmation_code = str_random(RANDOM_KEY_LENGTH); $user->public_id = $lastUser->public_id + 1; } @@ -251,81 +257,6 @@ class UserController extends BaseController return Redirect::to('company/advanced_settings/user_management'); } - /** - * Displays the login form - * - */ - public function login() - { - if (Confide::user()) { - Event::fire('user.login'); - Session::reflash(); - - return Redirect::to('/dashboard'); - - /* - $invoice = Invoice::scope()->orderBy('id', 'desc')->first(); - - if ($invoice) - { - return Redirect::to('/invoices/' . $invoice->public_id); - } - else - { - return Redirect::to('/dashboard'); - } - */ - } else { - return View::make(Config::get('confide::login_form')); - } - } - - /** - * Attempt to do login - * - */ - public function do_login() - { - $input = array( - 'email' => Input::get('login_email'), // May be the username too - 'username' => Input::get('login_email'), // so we have to pass both - 'password' => Input::get('login_password'), - 'remember' => true, - ); - - // If you wish to only allow login from confirmed users, call logAttempt - // with the second parameter as true. - // logAttempt will check if the 'email' perhaps is the username. - // Get the value from the config file instead of changing the controller - if (Input::get('login_email') && Confide::logAttempt($input, false)) { - Event::fire('user.login'); - // Redirect the user to the URL they were trying to access before - // caught by the authentication filter IE Redirect::guest('user/login'). - // Otherwise fallback to '/' - // Fix pull #145 - return Redirect::intended('/dashboard'); // change it to '/admin', '/dashboard' or something - } else { - //$user = new User; - - // Check if there was too many login attempts - if (Confide::isThrottled($input)) { - $err_msg = trans('texts.confide.too_many_attempts'); - } - /* - elseif( $user->checkUserExists( $input ) and ! $user->isConfirmed( $input ) ) - { - $err_msg = Lang::get('confide::confide.alerts.not_confirmed'); - } - */ - else { - $err_msg = trans('texts.confide.wrong_credentials'); - } - - return Redirect::action('UserController@login') - ->withInput(Input::except('login_password')) - ->with('error', $err_msg); - } - } /** * Attempt to confirm account with code @@ -334,10 +265,12 @@ class UserController extends BaseController */ public function confirm($code) { - if (Confide::confirm($code)) { - $notice_msg = trans('texts.confide.confirmation'); + $user = User::where('confirmation_code', '=', $code)->get()->first(); + + if ($user) { + $notice_msg = trans('texts.security.confirmation'); - $user = User::where('confirmation_code', '=', $code)->get()->first(); + $user->confirmed = true; $user->confirmation_code = ''; $user->save(); @@ -352,109 +285,13 @@ class UserController extends BaseController return Redirect::to($invitation->getLink()); } else { - return Redirect::action('UserController@login')->with('message', $notice_msg); + return Redirect::to(Auth::check() ? '/dashboard' : '/login')->with('message', $notice_msg); } } } else { - $error_msg = trans('texts.confide.wrong_confirmation'); + $error_msg = trans('texts.security.wrong_confirmation'); - return Redirect::action('UserController@login')->with('error', $error_msg); - } - } - - /** - * Displays the forgot password form - * - */ - public function forgot_password() - { - return View::make(Config::get('confide::forgot_password_form')); - } - - /** - * Attempt to send change password link to the given email - * - */ - public function do_forgot_password() - { - Confide::forgotPassword(Input::get('email')); - - $notice_msg = trans('texts.confide.password_forgot'); - - return Redirect::action('UserController@login') - ->with('notice', $notice_msg); - - /* - if( Confide::forgotPassword( Input::get( 'email' ) ) ) - { - $notice_msg = Lang::get('confide::confide.alerts.password_forgot'); - return Redirect::action('UserController@login') - ->with( 'notice', $notice_msg ); - } - else - { - $error_msg = Lang::get('confide::confide.alerts.wrong_password_forgot'); - return Redirect::action('UserController@forgot_password') - ->withInput() - ->with( 'error', $error_msg ); - } - */ - } - - /** - * Shows the change password form with the given token - * - */ - public function reset_password($token = false) - { - return View::make(Config::get('confide::reset_password_form')) - ->with('token', $token); - } - - /** - * Attempt change password of the user - * - */ - public function do_reset_password() - { - if (Auth::check()) { - $rules = [ - 'password' => 'required|between:4,11|confirmed', - 'password_confirmation' => 'between:4,11', - ]; - $validator = Validator::make(Input::all(), $rules); - - if ($validator->fails()) { - return Redirect::to('user/reset')->withInput()->withErrors($validator); - } - - $user = Auth::user(); - $user->password = Input::get('password'); - $user->save(); - - Session::flash('message', trans('texts.confide.password_reset')); - - return Redirect::to('/dashboard'); - } else { - $input = array( - 'token' => Input::get('token'), - 'password' => Input::get('password'), - 'password_confirmation' => Input::get('password_confirmation'), - ); - - // By passing an array with the token, password and confirmation - if (Confide::resetPassword($input)) { - $notice_msg = trans('texts.confide.password_reset'); - - return Redirect::action('UserController@login') - ->with('notice', $notice_msg); - } else { - $error_msg = trans('texts.confide.wrong_password_reset'); - - return Redirect::action('UserController@reset_password', array('token' => $input['token'])) - ->withInput() - ->with('error', $error_msg); - } + return Redirect::to('/login')->with('error', $error_msg); } } @@ -474,7 +311,7 @@ class UserController extends BaseController Session::forget('news_feed_id'); Session::forget('news_feed_message'); - Confide::logout(); + Auth::logout(); return Redirect::to('/')->with('clearGuestKey', true); } diff --git a/app/Http/Controllers/old/HomeController.php b/app/Http/Controllers/old/HomeController.php new file mode 100644 index 000000000000..2050070ab5ef --- /dev/null +++ b/app/Http/Controllers/old/HomeController.php @@ -0,0 +1,36 @@ +middleware('auth'); + } + + /** + * Show the application dashboard to the user. + * + * @return Response + */ + public function index() + { + return view('home'); + } + +} diff --git a/app/Http/Controllers/old/WelcomeController.php b/app/Http/Controllers/old/WelcomeController.php new file mode 100644 index 000000000000..c7da91c94522 --- /dev/null +++ b/app/Http/Controllers/old/WelcomeController.php @@ -0,0 +1,36 @@ +middleware('guest'); + } + + /** + * Show the application welcome screen to the user. + * + * @return Response + */ + public function index() + { + return view('welcome'); + } + +} diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php new file mode 100644 index 000000000000..509dbf1cce9b --- /dev/null +++ b/app/Http/Kernel.php @@ -0,0 +1,34 @@ + 'App\Http\Middleware\Authenticate', + 'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth', + 'guest' => 'App\Http\Middleware\RedirectIfAuthenticated', + 'api' => 'App\Http\Middleware\ApiCheck', + ]; + +} diff --git a/app/Http/Middleware/ApiCheck.php b/app/Http/Middleware/ApiCheck.php new file mode 100644 index 000000000000..24753a0fc7a8 --- /dev/null +++ b/app/Http/Middleware/ApiCheck.php @@ -0,0 +1,75 @@ +first(['id', 'user_id']); + + if ($token) { + Auth::loginUsingId($token->user_id); + Session::set('token_id', $token->id); + } else { + sleep(3); + return Response::make('Invalid token', 403, $headers); + } + + if (!Utils::isNinja()) { + return null; + } + + if (!Utils::isPro()) { + return Response::make('API requires pro plan', 403, $headers); + } else { + $accountId = Auth::user()->account->id; + + // http://stackoverflow.com/questions/1375501/how-do-i-throttle-my-sites-api-users + $hour = 60 * 60; + $hour_limit = 100; # users are limited to 100 requests/hour + $hour_throttle = Cache::get("hour_throttle:{$accountId}", null); + $last_api_request = Cache::get("last_api_request:{$accountId}", 0); + $last_api_diff = time() - $last_api_request; + + if (is_null($hour_throttle)) { + $new_hour_throttle = 0; + } else { + $new_hour_throttle = $hour_throttle - $last_api_diff; + $new_hour_throttle = $new_hour_throttle < 0 ? 0 : $new_hour_throttle; + $new_hour_throttle += $hour / $hour_limit; + $hour_hits_remaining = floor(( $hour - $new_hour_throttle ) * $hour_limit / $hour); + $hour_hits_remaining = $hour_hits_remaining >= 0 ? $hour_hits_remaining : 0; + } + + if ($new_hour_throttle > $hour) { + $wait = ceil($new_hour_throttle - $hour); + sleep(1); + return Response::make("Please wait {$wait} second(s)", 403, $headers); + } + + Cache::put("hour_throttle:{$accountId}", $new_hour_throttle, 10); + Cache::put("last_api_request:{$accountId}", time(), 10); + } + + + return $next($request); + } + +} \ No newline at end of file diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php new file mode 100644 index 000000000000..1780b299f005 --- /dev/null +++ b/app/Http/Middleware/Authenticate.php @@ -0,0 +1,50 @@ +auth = $auth; + } + + /** + * Handle an incoming request. + * + * @param \Illuminate\Http\Request $request + * @param \Closure $next + * @return mixed + */ + public function handle($request, Closure $next) + { + if ($this->auth->guest()) + { + if ($request->ajax()) + { + return response('Unauthorized.', 401); + } + else + { + return redirect()->guest('/login'); + } + } + + return $next($request); + } + +} diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php new file mode 100644 index 000000000000..e6e3a4ebefd7 --- /dev/null +++ b/app/Http/Middleware/RedirectIfAuthenticated.php @@ -0,0 +1,44 @@ +auth = $auth; + } + + /** + * Handle an incoming request. + * + * @param \Illuminate\Http\Request $request + * @param \Closure $next + * @return mixed + */ + public function handle($request, Closure $next) + { + if ($this->auth->check()) + { + return new RedirectResponse(url('/dashboard')); + } + + return $next($request); + } + +} diff --git a/app/Http/Middleware/StartupCheck.php b/app/Http/Middleware/StartupCheck.php new file mode 100644 index 000000000000..fb0c7df3154f --- /dev/null +++ b/app/Http/Middleware/StartupCheck.php @@ -0,0 +1,159 @@ +get()); + } + + + // check the application is up to date and for any news feed messages + if (Auth::check()) + { + $count = Session::get(SESSION_COUNTER, 0); + Session::put(SESSION_COUNTER, ++$count); + + if (!Utils::startsWith($_SERVER['REQUEST_URI'], '/news_feed') && !Session::has('news_feed_id')) { + $data = false; + if (Utils::isNinja()) { + $data = Utils::getNewsFeedResponse(); + } else { + $file = @file_get_contents(NINJA_APP_URL . '/news_feed/' . Utils::getUserType() . '/' . NINJA_VERSION); + $data = @json_decode($file); + } + if ($data) { + if ($data->version != NINJA_VERSION) { + $params = [ + 'user_version' => NINJA_VERSION, + 'latest_version'=> $data->version, + 'releases_link' => link_to(RELEASES_URL, 'Invoice Ninja', ['target' => '_blank']) + ]; + Session::put('news_feed_id', NEW_VERSION_AVAILABLE); + Session::put('news_feed_message', trans('texts.new_version_available', $params)); + } else { + Session::put('news_feed_id', $data->id); + if ($data->message && $data->id > Auth::user()->news_feed_id) { + Session::put('news_feed_message', $data->message); + } + } + } else { + Session::put('news_feed_id', true); + } + } + } + + + // Check if we're requesting to change the account's language + if (Input::has('lang')) + { + $locale = Input::get('lang'); + App::setLocale($locale); + Session::set(SESSION_LOCALE, $locale); + + if (Auth::check()) + { + if ($language = Language::whereLocale($locale)->first()) + { + $account = Auth::user()->account; + $account->language_id = $language->id; + $account->save(); + } + } + } + else if (Auth::check()) + { + $locale = Session::get(SESSION_LOCALE, DEFAULT_LOCALE); + App::setLocale($locale); + } + + // Make sure the account/user localization settings are in the session + if (Auth::check() && !Session::has(SESSION_TIMEZONE)) + { + Event::fire(new UserSettingsChanged()); + } + + // Check if the user is claiming a license (ie, additional invoices, white label, etc.) + $claimingLicense = Utils::startsWith($_SERVER['REQUEST_URI'], '/claim_license'); + if (!$claimingLicense && Input::has('license_key') && Input::has('product_id')) + { + $licenseKey = Input::get('license_key'); + $productId = Input::get('product_id'); + + $data = trim(file_get_contents((Utils::isNinjaDev() ? 'http://ninja.dev' : NINJA_APP_URL) . "/claim_license?license_key={$licenseKey}&product_id={$productId}")); + + if ($productId == PRODUCT_INVOICE_DESIGNS) + { + if ($data = json_decode($data)) + { + foreach ($data as $item) + { + $design = new InvoiceDesign(); + $design->id = $item->id; + $design->name = $item->name; + $design->javascript = $item->javascript; + $design->save(); + } + + if (!Utils::isNinjaProd()) { + Cache::forget('invoice_designs_cache_' . Auth::user()->maxInvoiceDesignId()); + } + + Session::flash('message', trans('texts.bought_designs')); + } + } + else if ($productId == PRODUCT_WHITE_LABEL) + { + if ($data == 'valid') + { + $account = Auth::user()->account; + $account->pro_plan_paid = NINJA_DATE; + $account->save(); + + Session::flash('message', trans('texts.bought_white_label')); + } + } + } + + return $next($request); + } + +} diff --git a/app/Http/Middleware/VerifyCsrfToken.php b/app/Http/Middleware/VerifyCsrfToken.php new file mode 100644 index 000000000000..750a39b1876a --- /dev/null +++ b/app/Http/Middleware/VerifyCsrfToken.php @@ -0,0 +1,20 @@ + 'Auth\AuthController', + 'password' => 'Auth\PasswordController', +]); +*/ + +get('/signup', array('as' => 'signup', 'uses' => 'Auth\AuthController@getRegister')); +post('/signup', array('as' => 'signup', 'uses' => 'Auth\AuthController@postRegister')); +get('/login', array('as' => 'login', 'uses' => 'Auth\AuthController@getLogin')); +post('/login', array('as' => 'login', 'uses' => 'Auth\AuthController@postLoginWrapper')); +get('/logout', array('as' => 'logout', 'uses' => 'Auth\AuthController@getLogout')); +get('/forgot', array('as' => 'forgot', 'uses' => 'Auth\PasswordController@getEmail')); +post('/forgot', array('as' => 'forgot', 'uses' => 'Auth\PasswordController@postEmail')); +get('/password/reset', array('as' => 'forgot', 'uses' => 'Auth\PasswordController@getReset')); +post('/password/reset', array('as' => 'forgot', 'uses' => 'Auth\PasswordController@postReset')); +get('user/confirm/{code}', 'UserController@confirm'); + +/* // Confide routes Route::get('login', 'UserController@login'); Route::post('login', 'UserController@do_login'); -Route::get('user/confirm/{code}', 'UserController@confirm'); Route::get('forgot_password', 'UserController@forgot_password'); Route::post('forgot_password', 'UserController@do_forgot_password'); Route::get('user/reset/{token?}', 'UserController@reset_password'); Route::post('user/reset', 'UserController@do_reset_password'); Route::get('logout', 'UserController@logout'); +*/ -if (Utils::isNinja()) { +if (\App\Libraries\Utils::isNinja()) { Route::post('/signup/register', 'AccountController@doRegister'); Route::get('/news_feed/{user_type}/{version}/', 'HomeController@newsFeed'); Route::get('/demo', 'AccountController@demo'); } -Route::group(array('before' => 'auth'), function() { +Route::group(['middleware' => 'auth'], function() { Route::get('dashboard', 'DashboardController@index'); Route::get('view_archive/{entity_type}/{visible}', 'AccountController@setTrashVisible'); Route::get('hide_message', 'HomeController@hideMessage'); @@ -151,7 +171,7 @@ Route::group(array('before' => 'auth'), function() { }); // Route group for API -Route::group(array('prefix' => 'api/v1', 'before' => ['api.access']), function() +Route::group(['middleware' => 'api', 'prefix' => 'api/v1'], function() { Route::resource('ping', 'ClientApiController@ping'); Route::resource('clients', 'ClientApiController'); diff --git a/app/includes/parsecsv.lib.php b/app/Includes/parsecsv.lib.php old mode 100755 new mode 100644 similarity index 100% rename from app/includes/parsecsv.lib.php rename to app/Includes/parsecsv.lib.php diff --git a/app/libraries/Utils.php b/app/Libraries/Utils.php old mode 100755 new mode 100644 similarity index 95% rename from app/libraries/Utils.php rename to app/Libraries/Utils.php index 99d5a7052e7c..33d799e4acb7 --- a/app/libraries/Utils.php +++ b/app/Libraries/Utils.php @@ -1,4 +1,20 @@ -find($currencyId); - - if (!$currency) { - $currency = Currency::remember(DEFAULT_QUERY_CACHE)->find(1); + $currency = Currency::find($currencyId); + + if(!$currency){ + $currency = Currency::find(1); } + Cache::add('currency', $currency, DEFAULT_QUERY_CACHE); + return $currency->symbol.number_format($value, $currency->precision, $currency->decimal_separator, $currency->thousand_separator); } @@ -291,8 +309,8 @@ class Utils return; } - $timezone = Session::get(SESSION_TIMEZONE); - $format = Session::get(SESSION_DATE_FORMAT); + $timezone = Session::get(SESSION_TIMEZONE, DEFAULT_TIMEZONE); + $format = Session::get(SESSION_DATE_FORMAT, DEFAULT_DATE_FORMAT); $dateTime = DateTime::createFromFormat($format, $date, new DateTimeZone($timezone)); @@ -305,8 +323,8 @@ class Utils return ''; } - $timezone = Session::get(SESSION_TIMEZONE); - $format = Session::get(SESSION_DATE_FORMAT); + $timezone = Session::get(SESSION_TIMEZONE, DEFAULT_TIMEZONE); + $format = Session::get(SESSION_DATE_FORMAT, DEFAULT_DATE_FORMAT); $dateTime = DateTime::createFromFormat('Y-m-d', $date, new DateTimeZone($timezone)); @@ -315,8 +333,9 @@ class Utils public static function today($formatResult = true) { - $timezone = Session::get(SESSION_TIMEZONE); - $format = Session::get(SESSION_DATE_FORMAT); + $timezone = Session::get(SESSION_TIMEZONE, DEFAULT_TIMEZONE); + $format = Session::get(SESSION_DATE_FORMAT, DEFAULT_DATE_FORMAT); + $date = date_create(null, new DateTimeZone($timezone)); if ($formatResult) { diff --git a/app/libraries/entity.php b/app/Libraries/entity.php old mode 100755 new mode 100644 similarity index 100% rename from app/libraries/entity.php rename to app/Libraries/entity.php diff --git a/app/libraries/timesheet_utils.php b/app/Libraries/timesheet_utils.php similarity index 100% rename from app/libraries/timesheet_utils.php rename to app/Libraries/timesheet_utils.php diff --git a/app/Listeners/HandleInvoicePaid.php b/app/Listeners/HandleInvoicePaid.php new file mode 100644 index 000000000000..159b001abad4 --- /dev/null +++ b/app/Listeners/HandleInvoicePaid.php @@ -0,0 +1,46 @@ +userMailer = $userMailer; + $this->contactMailer = $contactMailer; + } + + /** + * Handle the event. + * + * @param InvoicePaid $event + * @return void + */ + public function handle(InvoicePaid $event) + { + $this->contactMailer->sendPaymentConfirmation($payment); + $invoice = $payment->invoice; + + foreach ($invoice->account->users as $user) + { + if ($user->{'notify_paid'}) + { + $this->userMailer->sendNotification($user, $invoice, 'paid', $payment); + } + } + } + +} diff --git a/app/Listeners/HandleInvoiceSent.php b/app/Listeners/HandleInvoiceSent.php new file mode 100644 index 000000000000..119936e9500d --- /dev/null +++ b/app/Listeners/HandleInvoiceSent.php @@ -0,0 +1,42 @@ +userMailer = $userMailer; + } + + /** + * Handle the event. + * + * @param InvoiceSent $event + * @return void + */ + public function handle(InvoiceSent $event) + { + $invoice = $event->invoice; + + foreach ($invoice->account->users as $user) + { + if ($user->{'notify_sent'}) + { + $this->userMailer->sendNotification($user, $invoice, 'sent'); + } + } + } + +} diff --git a/app/Listeners/HandleInvoiceViewed.php b/app/Listeners/HandleInvoiceViewed.php new file mode 100644 index 000000000000..3a3f6e323756 --- /dev/null +++ b/app/Listeners/HandleInvoiceViewed.php @@ -0,0 +1,42 @@ +userMailer = $userMailer; + } + + /** + * Handle the event. + * + * @param InvoiceViewed $event + * @return void + */ + public function handle(InvoiceViewed $event) + { + $invoice = $event->invoice; + + foreach ($invoice->account->users as $user) + { + if ($user->{'notify_viewed'}) + { + $this->userMailer->sendNotification($user, $invoice, 'viewed', $payment); + } + } + } + +} diff --git a/app/Listeners/HandleUserLoggedIn.php b/app/Listeners/HandleUserLoggedIn.php new file mode 100644 index 000000000000..f1f4e36eff1d --- /dev/null +++ b/app/Listeners/HandleUserLoggedIn.php @@ -0,0 +1,37 @@ +account; + $account->last_login = Carbon::now()->toDateTimeString(); + $account->save(); + + $account->loadLocalizationSettings(); + } + +} diff --git a/app/Listeners/HandleUserSettingsChanged.php b/app/Listeners/HandleUserSettingsChanged.php new file mode 100644 index 000000000000..e01a010c9dd1 --- /dev/null +++ b/app/Listeners/HandleUserSettingsChanged.php @@ -0,0 +1,34 @@ +account; + $account->loadLocalizationSettings(); + } + +} diff --git a/app/models/Account.php b/app/Models/Account.php old mode 100755 new mode 100644 similarity index 91% rename from app/models/Account.php rename to app/Models/Account.php index e611f9ddefb6..a47dc417710c --- a/app/models/Account.php +++ b/app/Models/Account.php @@ -1,72 +1,79 @@ -hasMany('User'); + return $this->hasMany('App\Models\User'); } public function clients() { - return $this->hasMany('Client'); + return $this->hasMany('App\Models\Client'); } public function invoices() { - return $this->hasMany('Invoice'); + return $this->hasMany('App\Models\Invoice'); } public function account_gateways() { - return $this->hasMany('AccountGateway'); + return $this->hasMany('App\Models\AccountGateway'); } public function tax_rates() { - return $this->hasMany('TaxRate'); + return $this->hasMany('App\Models\TaxRate'); } public function country() { - return $this->belongsTo('Country'); + return $this->belongsTo('App\Models\Country'); } public function timezone() { - return $this->belongsTo('Timezone'); + return $this->belongsTo('App\Models\Timezone'); } public function language() { - return $this->belongsTo('Language'); + return $this->belongsTo('App\Models\Language'); } public function date_format() { - return $this->belongsTo('DateFormat'); + return $this->belongsTo('App\Models\DateFormat'); } public function datetime_format() { - return $this->belongsTo('DatetimeFormat'); - } - - public function currency() - { - return $this->belongsTo('Currency'); + return $this->belongsTo('App\Models\DatetimeFormat'); } public function size() { - return $this->belongsTo('Size'); + return $this->belongsTo('App\Models\Size'); + } + + public function currency() + { + return $this->belongsTo('App\Models\Currency'); } public function industry() { - return $this->belongsTo('Industry'); + return $this->belongsTo('App\Models\Industry'); } public function isGatewayConfigured($gatewayId = 0) diff --git a/app/models/AccountGateway.php b/app/Models/AccountGateway.php old mode 100755 new mode 100644 similarity index 75% rename from app/models/AccountGateway.php rename to app/Models/AccountGateway.php index 002bc830795e..c7f008fb67f8 --- a/app/models/AccountGateway.php +++ b/app/Models/AccountGateway.php @@ -1,10 +1,15 @@ -belongsTo('Gateway'); + return $this->belongsTo('App\Models\Gateway'); } public function getCreditcardTypes() diff --git a/app/Models/AccountGatewayToken.php b/app/Models/AccountGatewayToken.php new file mode 100644 index 000000000000..7726df1301f0 --- /dev/null +++ b/app/Models/AccountGatewayToken.php @@ -0,0 +1,10 @@ +belongsTo('App\Models\Account'); + } +} diff --git a/app/models/Activity.php b/app/Models/Activity.php old mode 100755 new mode 100644 similarity index 98% rename from app/models/Activity.php rename to app/Models/Activity.php index 625e98ed36b9..25c38f5d21cc --- a/app/models/Activity.php +++ b/app/Models/Activity.php @@ -1,9 +1,15 @@ -belongsTo('Account'); + return $this->belongsTo('App\Models\Account'); } public function user() { - return $this->belongsTo('User'); + return $this->belongsTo('App\Models\User'); } private static function getBlank($entity = false) diff --git a/app/models/Affiliate.php b/app/Models/Affiliate.php similarity index 78% rename from app/models/Affiliate.php rename to app/Models/Affiliate.php index 3efccbd1ada0..f88b96c3fc1e 100644 --- a/app/models/Affiliate.php +++ b/app/Models/Affiliate.php @@ -1,4 +1,4 @@ -belongsTo('Account'); + return $this->belongsTo('App\Models\Account'); } public function invoices() { - return $this->hasMany('Invoice'); + return $this->hasMany('App\Models\Invoice'); } public function payments() { - return $this->hasMany('Payment'); + return $this->hasMany('App\Models\Payment'); } public function contacts() { - return $this->hasMany('Contact'); + return $this->hasMany('App\Models\Contact'); } public function projects() { - return $this->hasMany('Project'); + return $this->hasMany('App\Models\Project'); } public function country() { - return $this->belongsTo('Country'); + return $this->belongsTo('App\Models\Country'); } public function currency() { - return $this->belongsTo('Currency'); + return $this->belongsTo('App\Models\Currency'); } public function size() { - return $this->belongsTo('Size'); + return $this->belongsTo('App\Models\Size'); } public function industry() { - return $this->belongsTo('Industry'); + return $this->belongsTo('App\Models\Industry'); } public function getTotalCredit() @@ -87,111 +94,6 @@ class Client extends EntityModel return ENTITY_CLIENT; } - public function getAddress() - { - $str = ''; - - if ($this->address1) { - $str .= $this->address1.'
'; - } - if ($this->address2) { - $str .= $this->address2.'
'; - } - if ($this->city) { - $str .= $this->city.', '; - } - if ($this->state) { - $str .= $this->state.' '; - } - if ($this->postal_code) { - $str .= $this->postal_code; - } - if ($this->country) { - $str .= '
'.$this->country->name; - } - - if ($str) { - $str = '

'.$str.'

'; - } - - return $str; - } - - public function getPhone() - { - $str = ''; - - if ($this->work_phone) { - $str .= ''.Utils::formatPhoneNumber($this->work_phone); - } - - return $str; - } - - public function getIdNumber() - { - $str = ''; - - if ($this->id_number) { - $str .= ''.trans('texts.id_number').': '.$this->id_number; - } - - return $str; - } - - public function getVatNumber() - { - $str = ''; - - if ($this->vat_number) { - $str .= ''.trans('texts.vat_number').': '.$this->vat_number; - } - - return $str; - } - - public function getNotes() - { - $str = ''; - - if ($this->private_notes) { - $str .= ''.$this->private_notes.''; - } - - return $str; - } - - public function getIndustry() - { - $str = ''; - - if ($this->client_industry) { - $str .= $this->client_industry->name.' '; - } - - if ($this->client_size) { - $str .= $this->client_size->name; - } - - return $str; - } - - public function getCustomFields() - { - $str = ''; - $account = $this->account; - - if ($account->custom_client_label1 && $this->custom_value1) { - $str .= "{$account->custom_client_label1}: {$this->custom_value1}
"; - } - - if ($account->custom_client_label2 && $this->custom_value2) { - $str .= "{$account->custom_client_label2}: {$this->custom_value2}
"; - } - - return $str; - } - public function getWebsite() { if (!$this->website) { @@ -263,6 +165,7 @@ Client::deleting(function ($client) { Activity::archiveClient($client); }); -Client::restoring(function ($client) { +/*Client::restoring(function ($client) { Activity::restoreClient($client); }); +*/ \ No newline at end of file diff --git a/app/models/Contact.php b/app/Models/Contact.php old mode 100755 new mode 100644 similarity index 61% rename from app/models/Contact.php rename to app/Models/Contact.php index ca29ce31b9f5..b789d2f3708a --- a/app/models/Contact.php +++ b/app/Models/Contact.php @@ -1,7 +1,14 @@ -belongsTo('Client'); + return $this->belongsTo('App\Models\Client'); } public function getPersonType() @@ -48,27 +55,4 @@ class Contact extends EntityModel return ''; } } - - public function getDetails() - { - $str = ''; - - if ($this->first_name || $this->last_name) { - $str .= ''.$this->first_name.' '.$this->last_name.'
'; - } - - if ($this->email) { - $str .= ''.HTML::mailto($this->email, $this->email).'
'; - } - - if ($this->phone) { - $str .= ''.Utils::formatPhoneNumber($this->phone); - } - - if ($str) { - $str = '

'.$str.'

'; - } - - return $str; - } } diff --git a/app/Models/Country.php b/app/Models/Country.php new file mode 100644 index 000000000000..d5143e656258 --- /dev/null +++ b/app/Models/Country.php @@ -0,0 +1,10 @@ +belongsTo('Invoice')->withTrashed(); + return $this->belongsTo('App\Models\Invoice')->withTrashed(); } public function client() { - return $this->belongsTo('Client')->withTrashed(); + return $this->belongsTo('App\Models\Client')->withTrashed(); } public function getName() diff --git a/app/models/Currency.php b/app/Models/Currency.php old mode 100755 new mode 100644 similarity index 61% rename from app/models/Currency.php rename to app/Models/Currency.php index 943816064607..4a2cbc21f835 --- a/app/models/Currency.php +++ b/app/Models/Currency.php @@ -1,7 +1,8 @@ -belongsTo('PaymentLibrary', 'payment_library_id'); + return $this->belongsTo('\App\Models\PaymentLibrary', 'payment_library_id'); } public function getLogoUrl() diff --git a/app/models/Industry.php b/app/Models/Industry.php old mode 100755 new mode 100644 similarity index 61% rename from app/models/Industry.php rename to app/Models/Industry.php index 4c931a520d8f..569bb14ddc47 --- a/app/models/Industry.php +++ b/app/Models/Industry.php @@ -1,7 +1,8 @@ -belongsTo('App\Models\Invoice'); + } + + public function contact() + { + return $this->belongsTo('App\Models\Contact')->withTrashed(); + } + + public function user() + { + return $this->belongsTo('App\Models\User')->withTrashed(); + } + + public function account() + { + return $this->belongsTo('App\Models\Account'); + } + + public function getLink() + { + return SITE_URL.'/view/'.$this->invitation_key; + } +} diff --git a/app/models/Invoice.php b/app/Models/Invoice.php old mode 100755 new mode 100644 similarity index 89% rename from app/models/Invoice.php rename to app/Models/Invoice.php index 8aca78ea0c5e..294a4eef1ba3 --- a/app/models/Invoice.php +++ b/app/Models/Invoice.php @@ -1,40 +1,45 @@ -belongsTo('Account'); + return $this->belongsTo('App\Models\Account'); } public function user() { - return $this->belongsTo('User'); + return $this->belongsTo('App\Models\User'); } public function client() { - return $this->belongsTo('Client')->withTrashed(); + return $this->belongsTo('App\Models\Client')->withTrashed(); } public function invoice_items() { - return $this->hasMany('InvoiceItem')->orderBy('id'); + return $this->hasMany('App\Models\InvoiceItem')->orderBy('id'); } public function invoice_status() { - return $this->belongsTo('InvoiceStatus'); + return $this->belongsTo('App\Models\InvoiceStatus'); } public function invoice_design() { - return $this->belongsTo('InvoiceDesign'); + return $this->belongsTo('App\Models\InvoiceDesign'); } public function invitations() { - return $this->hasMany('Invitation')->orderBy('invitations.contact_id'); + return $this->hasMany('App\Models\Invitation')->orderBy('invitations.contact_id'); } public function getName() @@ -231,6 +236,8 @@ Invoice::deleting(function ($invoice) { Activity::archiveInvoice($invoice); }); -Invoice::restoring(function ($invoice) { +// TODO: Fix for L5 +/*Invoice::restoring(function ($invoice) { Activity::restoreInvoice($invoice); }); +*/ \ No newline at end of file diff --git a/app/models/InvoiceDesign.php b/app/Models/InvoiceDesign.php similarity index 63% rename from app/models/InvoiceDesign.php rename to app/Models/InvoiceDesign.php index 6dfd823dae02..db2992674701 100644 --- a/app/models/InvoiceDesign.php +++ b/app/Models/InvoiceDesign.php @@ -1,7 +1,8 @@ -belongsTo('App\Models\Invoice'); + } + + public function product() + { + return $this->belongsTo('App\Models\Product'); + } +} diff --git a/app/models/InvoiceStatus.php b/app/Models/InvoiceStatus.php old mode 100755 new mode 100644 similarity index 63% rename from app/models/InvoiceStatus.php rename to app/Models/InvoiceStatus.php index faca90e50bcf..36164d26c6c0 --- a/app/models/InvoiceStatus.php +++ b/app/Models/InvoiceStatus.php @@ -1,7 +1,8 @@ -belongsTo('Invoice')->withTrashed(); + return $this->belongsTo('App\Models\Invoice')->withTrashed(); } public function invitation() { - return $this->belongsTo('Invitation'); + return $this->belongsTo('App\Models\Invitation'); } public function client() { - return $this->belongsTo('Client')->withTrashed(); + return $this->belongsTo('App\Models\Client')->withTrashed(); } public function account() { - return $this->belongsTo('Account'); + return $this->belongsTo('App\Models\Account'); } public function contact() { - return $this->belongsTo('Contact'); + return $this->belongsTo('App\Models\Contact'); } public function getAmount() diff --git a/app/models/PaymentLibrary.php b/app/Models/PaymentLibrary.php similarity index 57% rename from app/models/PaymentLibrary.php rename to app/Models/PaymentLibrary.php index c6eff7009159..3f0f5c860d86 100644 --- a/app/models/PaymentLibrary.php +++ b/app/Models/PaymentLibrary.php @@ -1,4 +1,6 @@ -hasMany('Gateway', 'payment_library_id'); + return $this->hasMany('App\Models\Gateway', 'payment_library_id'); } } diff --git a/app/models/PaymentTerm.php b/app/Models/PaymentTerm.php old mode 100755 new mode 100644 similarity index 62% rename from app/models/PaymentTerm.php rename to app/Models/PaymentTerm.php index 15669d6535d3..de8cced5db72 --- a/app/models/PaymentTerm.php +++ b/app/Models/PaymentTerm.php @@ -1,7 +1,8 @@ -where('product_key', '=', $key)->first(); diff --git a/app/models/Project.php b/app/Models/Project.php similarity index 75% rename from app/models/Project.php rename to app/Models/Project.php index 6a2042e87ab9..2dad20d29436 100644 --- a/app/models/Project.php +++ b/app/Models/Project.php @@ -1,4 +1,7 @@ -belongsTo('Account'); + return $this->belongsTo('App\Models\Account'); } public function user() { - return $this->belongsTo('User'); + return $this->belongsTo('App\Models\User'); } public function client() { - return $this->belongsTo('Client'); + return $this->belongsTo('App\Models\Client'); } public function codes() { - return $this->hasMany('ProjectCode'); + return $this->hasMany('App\Models\ProjectCode'); } public static function createNew($parent = false) diff --git a/app/models/ProjectCode.php b/app/Models/ProjectCode.php similarity index 67% rename from app/models/ProjectCode.php rename to app/Models/ProjectCode.php index 3f3f344a5e0b..5849c5f23d89 100644 --- a/app/models/ProjectCode.php +++ b/app/Models/ProjectCode.php @@ -1,28 +1,34 @@ -belongsTo('Account'); + return $this->belongsTo('App\Models\Account'); } public function user() { - return $this->belongsTo('User'); + return $this->belongsTo('App\Models\User'); } public function project() { - return $this->belongsTo('Project'); + return $this->belongsTo('App\Models\Project'); } public function events() { - return $this->hasMany('TimesheetEvent'); + return $this->hasMany('App\Models\TimesheetEvent'); } public static function createNew($parent = false) diff --git a/app/models/Size.php b/app/Models/Size.php old mode 100755 new mode 100644 similarity index 60% rename from app/models/Size.php rename to app/Models/Size.php index a598c7732d01..76a9dc91a975 --- a/app/models/Size.php +++ b/app/Models/Size.php @@ -1,7 +1,8 @@ -belongsTo('App\Models\Account'); + } + + public function user() + { + return $this->belongsTo('App\Models\User'); + } + + public function timesheet_events() + { + return $this->hasMany('App\Models\TimeSheetEvent'); + } +} diff --git a/app/models/TimesheetEvent.php b/app/Models/TimesheetEvent.php similarity index 87% rename from app/models/TimesheetEvent.php rename to app/Models/TimesheetEvent.php index 448ac40c9b5a..7fc981198000 100644 --- a/app/models/TimesheetEvent.php +++ b/app/Models/TimesheetEvent.php @@ -1,9 +1,15 @@ -belongsTo('Account'); + return $this->belongsTo('App\Models\Account'); } public function user() { - return $this->belongsTo('User'); + return $this->belongsTo('App\Models\User'); } public function source() { - return $this->belongsTo('TimesheetEventSource'); + return $this->belongsTo('App\Models\TimesheetEventSource'); } public function timesheet() { - return $this->belongsTo('Timesheet'); + return $this->belongsTo('App\Models\Timesheet'); } public function project() { - return $this->belongsTo('Project'); + return $this->belongsTo('App\Models\Project'); } public function project_code() { - return $this->belongsTo('ProjectCode'); + return $this->belongsTo('App\Models\ProjectCode'); } /** diff --git a/app/models/TimesheetEventSource.php b/app/Models/TimesheetEventSource.php similarity index 69% rename from app/models/TimesheetEventSource.php rename to app/Models/TimesheetEventSource.php index fcca52c61f79..9ae36be0c156 100644 --- a/app/models/TimesheetEventSource.php +++ b/app/Models/TimesheetEventSource.php @@ -1,23 +1,29 @@ -belongsTo('Account'); + return $this->belongsTo('App\Models\Account'); } public function user() { - return $this->belongsTo('User'); + return $this->belongsTo('App\Models\User'); } public function events() { - return $this->hasMany('TimesheetEvent'); + return $this->hasMany('App\Models\TimesheetEvent'); } public static function createNew($parent = false) diff --git a/app/models/Timezone.php b/app/Models/Timezone.php old mode 100755 new mode 100644 similarity index 61% rename from app/models/Timezone.php rename to app/Models/Timezone.php index 09b91108a4b4..5c00fd12da61 --- a/app/models/Timezone.php +++ b/app/Models/Timezone.php @@ -1,7 +1,8 @@ - 'required|unique:users', - 'password' => 'required|between:6,32|confirmed', - 'password_confirmation' => 'between:6,32', - */ - ); - - protected $updateRules = array( - /* - 'email' => 'required|unique:users', - 'username' => 'required|unique:users', - */ - ); + use Authenticatable, CanResetPassword; /** * The database table used by the model. @@ -30,14 +21,31 @@ class User extends ConfideUser implements UserInterface, RemindableInterface */ protected $table = 'users'; + /** + * The attributes that are mass assignable. + * + * @var array + */ + protected $fillable = ['name', 'email', 'password']; + + /** + * The attributes excluded from the model's JSON form. + * + * @var array + */ + protected $hidden = ['password', 'remember_token']; + + use SoftDeletes; + protected $dates = ['deleted_at']; + public function account() { - return $this->belongsTo('Account'); + return $this->belongsTo('App\Models\Account'); } public function theme() { - return $this->belongsTo('Theme'); + return $this->belongsTo('App\Models\Theme'); } public function getPersonType() @@ -167,4 +175,9 @@ class User extends ConfideUser implements UserInterface, RemindableInterface { return 'remember_token'; } + + // public function confirm(){} + // public function forgotPassword(){} + // public function isValid(){} + } diff --git a/app/ninja/mailers/ContactMailer.php b/app/Ninja/Mailers/ContactMailer.php old mode 100755 new mode 100644 similarity index 95% rename from app/ninja/mailers/ContactMailer.php rename to app/Ninja/Mailers/ContactMailer.php index fe91c8e4b848..98acdc810ead --- a/app/ninja/mailers/ContactMailer.php +++ b/app/Ninja/Mailers/ContactMailer.php @@ -1,11 +1,12 @@ -save(); } - \Event::fire('invoice.sent', $invoice); + Event::fire(new InvoiceSent($invoice)); } public function sendPaymentConfirmation(Payment $payment) diff --git a/app/ninja/mailers/Mailer.php b/app/Ninja/Mailers/Mailer.php old mode 100755 new mode 100644 similarity index 96% rename from app/ninja/mailers/Mailer.php rename to app/Ninja/Mailers/Mailer.php index 9a7788ff2c3f..a11ff7c97801 --- a/app/ninja/mailers/Mailer.php +++ b/app/Ninja/Mailers/Mailer.php @@ -1,8 +1,8 @@ -ip = Request::getClientIp(); @@ -31,14 +32,25 @@ class AccountRepository $account->save(); - $random = str_random(RANDOM_KEY_LENGTH); - $user = new User(); - $user->password = $random; - $user->password_confirmation = $random; - $user->username = $random; + if (!$firstName && !$lastName && !$email && !$password) { + $user->password = str_random(RANDOM_KEY_LENGTH); + //$user->email = $user->username = str_random(RANDOM_KEY_LENGTH); + } else { + $user->first_name = $firstName; + $user->last_name = $lastName; + $user->email = $user->username = $email; + $user->password = bcrypt($password); + } + $user->confirmed = !Utils::isNinja(); - $account->users()->save($user, []); + $user->registered = !Utils::isNinja(); + + if (!$user->confirmed) { + $user->confirmation_code = str_random(RANDOM_KEY_LENGTH); + } + + $account->users()->save($user); return $account; } diff --git a/app/ninja/repositories/ClientRepository.php b/app/Ninja/Repositories/ClientRepository.php old mode 100755 new mode 100644 similarity index 97% rename from app/ninja/repositories/ClientRepository.php rename to app/Ninja/Repositories/ClientRepository.php index f1308b84c609..d4569bea4b47 --- a/app/ninja/repositories/ClientRepository.php +++ b/app/Ninja/Repositories/ClientRepository.php @@ -1,7 +1,8 @@ -save(); if (!$publicId || $publicId == "-1") { - \Activity::createClient($client, $notify); + Activity::createClient($client, $notify); } return $client; diff --git a/app/ninja/repositories/CreditRepository.php b/app/Ninja/Repositories/CreditRepository.php old mode 100755 new mode 100644 similarity index 96% rename from app/ninja/repositories/CreditRepository.php rename to app/Ninja/Repositories/CreditRepository.php index 3bbdae5c8e10..700467620294 --- a/app/ninja/repositories/CreditRepository.php +++ b/app/Ninja/Repositories/CreditRepository.php @@ -1,7 +1,7 @@ -app->bind( + 'Illuminate\Contracts\Auth\Registrar', + 'App\Services\Registrar' + ); + } + +} diff --git a/app/Providers/BusServiceProvider.php b/app/Providers/BusServiceProvider.php new file mode 100644 index 000000000000..f0d9be6fe2bd --- /dev/null +++ b/app/Providers/BusServiceProvider.php @@ -0,0 +1,34 @@ +mapUsing(function($command) + { + return Dispatcher::simpleMapping( + $command, 'App\Commands', 'App\Handlers\Commands' + ); + }); + } + + /** + * Register any application services. + * + * @return void + */ + public function register() + { + // + } + +} diff --git a/app/Providers/ConfigServiceProvider.php b/app/Providers/ConfigServiceProvider.php new file mode 100644 index 000000000000..739564c6eff6 --- /dev/null +++ b/app/Providers/ConfigServiceProvider.php @@ -0,0 +1,21 @@ + [ + 'App\Listeners\HandleUserLoggedIn', + ], + 'App\Events\UserSettingsChanged' => [ + 'App\Listeners\HandleUserSettingsChanged', + ], + 'App\Events\InvoiceSent' => [ + 'App\Listeners\HandleInvoiceSent', + ], + 'App\Events\InvoiceViewed' => [ + 'App\Listeners\HandleInvoiceViewed', + ], + 'App\Events\InvoicePaid' => [ + 'App\Listeners\HandleInvoicePaid', + ], + ]; + + /** + * Register any other events for your application. + * + * @param \Illuminate\Contracts\Events\Dispatcher $events + * @return void + */ + public function boot(DispatcherContract $events) + { + parent::boot($events); + + // + } + +} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php new file mode 100644 index 000000000000..506179d6d4e3 --- /dev/null +++ b/app/Providers/RouteServiceProvider.php @@ -0,0 +1,46 @@ +group(['namespace' => $this->namespace], function($router) + { + require app_path('Http/routes.php'); + }); + } + +} diff --git a/app/Services/Registrar.php b/app/Services/Registrar.php new file mode 100644 index 000000000000..cf19d6f4b70e --- /dev/null +++ b/app/Services/Registrar.php @@ -0,0 +1,39 @@ + 'required|max:255', + 'email' => 'required|email|max:255|unique:users', + 'password' => 'required|confirmed|min:6', + ]); + } + + /** + * Create a new user instance after a valid registration. + * + * @param array $data + * @return User + */ + public function create(array $data) + { + return User::create([ + 'name' => $data['name'], + 'email' => $data['email'], + 'password' => bcrypt($data['password']), + ]); + } + +} diff --git a/app/config/cache.php b/app/config/cache.php deleted file mode 100755 index ce89842399e8..000000000000 --- a/app/config/cache.php +++ /dev/null @@ -1,89 +0,0 @@ - 'file', - - /* - |-------------------------------------------------------------------------- - | File Cache Location - |-------------------------------------------------------------------------- - | - | When using the "file" cache driver, we need a location where the cache - | files may be stored. A sensible default has been specified, but you - | are free to change it to any other place on disk that you desire. - | - */ - - 'path' => storage_path().'/cache', - - /* - |-------------------------------------------------------------------------- - | Database Cache Connection - |-------------------------------------------------------------------------- - | - | When using the "database" cache driver you may specify the connection - | that should be used to store the cached items. When this option is - | null the default database connection will be utilized for cache. - | - */ - - 'connection' => null, - - /* - |-------------------------------------------------------------------------- - | Database Cache Table - |-------------------------------------------------------------------------- - | - | When using the "database" cache driver we need to know the table that - | should be used to store the cached items. A default table name has - | been provided but you're free to change it however you deem fit. - | - */ - - 'table' => 'cache', - - /* - |-------------------------------------------------------------------------- - | Memcached Servers - |-------------------------------------------------------------------------- - | - | Now you may specify an array of your Memcached servers that should be - | used when utilizing the Memcached cache driver. All of the servers - | should contain a value for "host", "port", and "weight" options. - | - */ - - 'memcached' => array( - - array('host' => '127.0.0.1', 'port' => 11211, 'weight' => 100), - - ), - - /* - |-------------------------------------------------------------------------- - | Cache Key Prefix - |-------------------------------------------------------------------------- - | - | When utilizing a RAM based store such as APC or Memcached, there might - | be other applications utilizing the same cache. So, we'll specify a - | value to get prefixed to all our keys so we can avoid collisions. - | - */ - - 'prefix' => 'laravel', - -); diff --git a/app/config/compile.php b/app/config/compile.php deleted file mode 100755 index 54d7185bfbb0..000000000000 --- a/app/config/compile.php +++ /dev/null @@ -1,18 +0,0 @@ - array( - - 'mysql' => array( - 'driver' => 'mysql', - 'host' => getenv('DEVELOPMENT_DB_HOST'), - 'database' => getenv('DEVELOPMENT_DB_NAME'), - 'username' => getenv('DEVELOPMENT_DB_USERNAME'), - 'password' => getenv('DEVELOPMENT_DB_PASSWORD'), - 'charset' => 'utf8', - 'collation' => 'utf8_unicode_ci', - 'prefix' => '', - ), - ), -); diff --git a/app/config/gae-production/app.php b/app/config/gae-production/app.php deleted file mode 100755 index bb7ab27c4c0b..000000000000 --- a/app/config/gae-production/app.php +++ /dev/null @@ -1,9 +0,0 @@ - true, - - 'manifest' => 'gs://invoice-ninja/meta', - -); \ No newline at end of file diff --git a/app/config/gae-production/cache.php b/app/config/gae-production/cache.php deleted file mode 100755 index 9476804df76c..000000000000 --- a/app/config/gae-production/cache.php +++ /dev/null @@ -1,7 +0,0 @@ - 'memcached', - -); \ No newline at end of file diff --git a/app/config/gae-production/database.php b/app/config/gae-production/database.php deleted file mode 100755 index ef8d2d58cc30..000000000000 --- a/app/config/gae-production/database.php +++ /dev/null @@ -1,19 +0,0 @@ - array( - - 'mysql' => array( - 'driver' => 'mysql', - 'unix_socket' => getenv('PRODUCTION_CLOUD_SQL_INSTANCE'), - 'host' => '', - 'database' => getenv('PRODUCTION_DB_NAME'), - 'username' => getenv('PRODUCTION_DB_USERNAME'), - 'password' => getenv('PRODUCTION_DB_PASSWORD'), - 'charset' => 'utf8', - 'collation' => 'utf8_unicode_ci', - 'prefix' => '', - ), - ), -); diff --git a/app/config/gae-production/session.php b/app/config/gae-production/session.php deleted file mode 100755 index 9476804df76c..000000000000 --- a/app/config/gae-production/session.php +++ /dev/null @@ -1,7 +0,0 @@ - 'memcached', - -); \ No newline at end of file diff --git a/app/config/remote.php b/app/config/remote.php deleted file mode 100755 index ea960e03a5c0..000000000000 --- a/app/config/remote.php +++ /dev/null @@ -1,59 +0,0 @@ - 'production', - - /* - |-------------------------------------------------------------------------- - | Remote Server Connections - |-------------------------------------------------------------------------- - | - | These are the servers that will be accessible via the SSH task runner - | facilities of Laravel. This feature radically simplifies executing - | tasks on your servers, such as deploying out these applications. - | - */ - - 'connections' => array( - - 'production' => array( - 'host' => '', - 'username' => '', - 'password' => '', - 'key' => '', - 'keyphrase' => '', - 'root' => '/var/www', - ), - - ), - - /* - |-------------------------------------------------------------------------- - | Remote Server Groups - |-------------------------------------------------------------------------- - | - | Here you may list connections under a single group name, which allows - | you to easily access all of the servers at once using a short name - | that is extremely easy to remember, such as "web" or "database". - | - */ - - 'groups' => array( - - 'web' => array('production') - - ), - -); \ No newline at end of file diff --git a/app/config/testing/cache.php b/app/config/testing/cache.php deleted file mode 100755 index 16d3ae2fa5b2..000000000000 --- a/app/config/testing/cache.php +++ /dev/null @@ -1,20 +0,0 @@ - 'array', - -); \ No newline at end of file diff --git a/app/config/testing/session.php b/app/config/testing/session.php deleted file mode 100755 index a18c1b9fe54a..000000000000 --- a/app/config/testing/session.php +++ /dev/null @@ -1,21 +0,0 @@ - 'array', - -); \ No newline at end of file diff --git a/app/config/workbench.php b/app/config/workbench.php deleted file mode 100755 index 56bee5265864..000000000000 --- a/app/config/workbench.php +++ /dev/null @@ -1,31 +0,0 @@ - '', - - /* - |-------------------------------------------------------------------------- - | Workbench Author E-Mail Address - |-------------------------------------------------------------------------- - | - | Like the option above, your e-mail address is used when generating new - | workbench packages. The e-mail is placed in your composer.json file - | automatically after the package is created by the workbench tool. - | - */ - - 'email' => '', - -); \ No newline at end of file diff --git a/app/database/production.sqlite b/app/database/production.sqlite deleted file mode 100755 index 4380c89b7fb1..000000000000 Binary files a/app/database/production.sqlite and /dev/null differ diff --git a/app/filters.php b/app/filters.php deleted file mode 100755 index 7aa8d6cbd11f..000000000000 --- a/app/filters.php +++ /dev/null @@ -1,273 +0,0 @@ -version != NINJA_VERSION) { - $params = [ - 'user_version' => NINJA_VERSION, - 'latest_version'=> $data->version, - 'releases_link' => link_to(RELEASES_URL, 'Invoice Ninja', ['target' => '_blank']) - ]; - Session::put('news_feed_id', NEW_VERSION_AVAILABLE); - Session::put('news_feed_message', trans('texts.new_version_available', $params)); - } else { - Session::put('news_feed_id', $data->id); - if ($data->message && $data->id > Auth::user()->news_feed_id) { - Session::put('news_feed_message', $data->message); - } - } - } else { - Session::put('news_feed_id', true); - } - } - } - - // Check if we're requesting to change the account's language - if (Input::has('lang')) - { - $locale = Input::get('lang'); - App::setLocale($locale); - Session::set(SESSION_LOCALE, $locale); - - if (Auth::check()) - { - if ($language = Language::whereLocale($locale)->first()) - { - $account = Auth::user()->account; - $account->language_id = $language->id; - $account->save(); - } - } - } - else if (Auth::check()) - { - $locale = Session::get(SESSION_LOCALE, DEFAULT_LOCALE); - App::setLocale($locale); - } - - // Make sure the account/user localization settings are in the session - if (Auth::check() && !Session::has(SESSION_TIMEZONE)) - { - Event::fire('user.refresh'); - } - - // Check if the user is claiming a license (ie, additional invoices, white label, etc.) - $claimingLicense = Utils::startsWith($_SERVER['REQUEST_URI'], '/claim_license'); - if (!$claimingLicense && Input::has('license_key') && Input::has('product_id')) - { - $licenseKey = Input::get('license_key'); - $productId = Input::get('product_id'); - - $data = trim(file_get_contents((Utils::isNinjaDev() ? 'http://ninja.dev' : NINJA_APP_URL) . "/claim_license?license_key={$licenseKey}&product_id={$productId}")); - - if ($productId == PRODUCT_INVOICE_DESIGNS) - { - if ($data = json_decode($data)) - { - foreach ($data as $item) - { - $design = new InvoiceDesign(); - $design->id = $item->id; - $design->name = $item->name; - $design->javascript = $item->javascript; - $design->save(); - } - - if (!Utils::isNinjaProd()) { - Cache::forget('invoice_designs_cache_' . Auth::user()->maxInvoiceDesignId()); - } - - Session::flash('message', trans('texts.bought_designs')); - } - } - else if ($productId == PRODUCT_WHITE_LABEL) - { - if ($data == 'valid') - { - $account = Auth::user()->account; - $account->pro_plan_paid = NINJA_DATE; - $account->save(); - - Session::flash('message', trans('texts.bought_white_label')); - } - } - } -}); - - -App::after(function($request, $response) -{ - // -}); - -/* -|-------------------------------------------------------------------------- -| Authentication Filters -|-------------------------------------------------------------------------- -| -| The following filters are used to verify that the user of the current -| session is logged into this application. The "basic" filter easily -| integrates HTTP Basic authentication for quick, simple checking. -| -*/ - -Route::filter('auth', function() -{ - if (Auth::guest()) - { - if (Utils::isNinja() || Account::count() == 0) - { - return Redirect::guest('/'); - } - else - { - return Redirect::guest('/login'); - } - } -}); - - -Route::filter('auth.basic', function() -{ - return Auth::basic(); -}); - -Route::filter('api.access', function() -{ - $headers = Utils::getApiHeaders(); - - // check for a valid token - $token = AccountToken::where('token', '=', Request::header('X-Ninja-Token'))->first(['id', 'user_id']); - - if ($token) { - Auth::loginUsingId($token->user_id); - Session::set('token_id', $token->id); - } else { - sleep(3); - return Response::make('Invalid token', 403, $headers); - } - - if (!Utils::isNinja()) { - return null; - } - - if (!Utils::isPro()) { - return Response::make('API requires pro plan', 403, $headers); - } else { - $accountId = Auth::user()->account->id; - - // http://stackoverflow.com/questions/1375501/how-do-i-throttle-my-sites-api-users - $hour = 60 * 60; - $hour_limit = 100; # users are limited to 100 requests/hour - $hour_throttle = Cache::get("hour_throttle:{$accountId}", null); - $last_api_request = Cache::get("last_api_request:{$accountId}", 0); - $last_api_diff = time() - $last_api_request; - - if (is_null($hour_throttle)) { - $new_hour_throttle = 0; - } else { - $new_hour_throttle = $hour_throttle - $last_api_diff; - $new_hour_throttle = $new_hour_throttle < 0 ? 0 : $new_hour_throttle; - $new_hour_throttle += $hour / $hour_limit; - $hour_hits_remaining = floor(( $hour - $new_hour_throttle ) * $hour_limit / $hour); - $hour_hits_remaining = $hour_hits_remaining >= 0 ? $hour_hits_remaining : 0; - } - - if ($new_hour_throttle > $hour) { - $wait = ceil($new_hour_throttle - $hour); - sleep(1); - return Response::make("Please wait {$wait} second(s)", 403, $headers); - } - - Cache::put("hour_throttle:{$accountId}", $new_hour_throttle, 10); - Cache::put("last_api_request:{$accountId}", time(), 10); - } - - return null; -}); - - - -/* -|-------------------------------------------------------------------------- -| Guest Filter -|-------------------------------------------------------------------------- -| -| The "guest" filter is the counterpart of the authentication filters as -| it simply checks that the current user is not logged in. A redirect -| response will be issued if they are, which you may freely change. -| -*/ - -Route::filter('guest', function() -{ - if (Auth::check()) return Redirect::to('/'); -}); - -/* -|-------------------------------------------------------------------------- -| CSRF Protection Filter -|-------------------------------------------------------------------------- -| -| The CSRF filter is responsible for protecting your application against -| cross-site request forgery attacks. If this special token in a user -| session does not match the one given in this request, we'll bail. -| -*/ - -Route::filter('csrf', function() -{ - if ($_SERVER['REQUEST_URI'] != '/signup/register') - { - $token = Request::ajax() ? Request::header('X-CSRF-Token') : Input::get('_token'); - - if (Session::token() != $token) - { - Session::flash('warning', trans('texts.session_expired')); - - return Redirect::to('/'); - //throw new Illuminate\Session\TokenMismatchException; - } - } -}); \ No newline at end of file diff --git a/app/handlers/UserEventHandler.php b/app/handlers/UserEventHandler.php deleted file mode 100755 index 19ee6f5de936..000000000000 --- a/app/handlers/UserEventHandler.php +++ /dev/null @@ -1,30 +0,0 @@ -listen('user.signup', 'UserEventHandler@onSignup'); - $events->listen('user.login', 'UserEventHandler@onLogin'); - - $events->listen('user.refresh', 'UserEventHandler@onRefresh'); - } - - public function onSignup() - { - } - - public function onLogin() - { - $account = Auth::user()->account; - $account->last_login = Carbon::now()->toDateTimeString(); - $account->save(); - - Event::fire('user.refresh'); - } - - public function onRefresh() - { - Auth::user()->account->loadLocalizationSettings(); - } -} diff --git a/app/models/AccountGatewayToken.php b/app/models/AccountGatewayToken.php deleted file mode 100644 index ae63d6c2d2cd..000000000000 --- a/app/models/AccountGatewayToken.php +++ /dev/null @@ -1,7 +0,0 @@ -belongsTo('Account'); - } -} diff --git a/app/models/Country.php b/app/models/Country.php deleted file mode 100755 index 05364b4e3529..000000000000 --- a/app/models/Country.php +++ /dev/null @@ -1,9 +0,0 @@ -belongsTo('Invoice'); - } - - public function contact() - { - return $this->belongsTo('Contact')->withTrashed(); - } - - public function user() - { - return $this->belongsTo('User')->withTrashed(); - } - - public function account() - { - return $this->belongsTo('Account'); - } - - public function getLink() - { - return SITE_URL.'/view/'.$this->invitation_key; - } -} diff --git a/app/models/InvoiceItem.php b/app/models/InvoiceItem.php deleted file mode 100755 index 36f8b5694097..000000000000 --- a/app/models/InvoiceItem.php +++ /dev/null @@ -1,14 +0,0 @@ -belongsTo('Invoice'); - } - - public function product() - { - return $this->belongsTo('Product'); - } -} diff --git a/app/models/License.php b/app/models/License.php deleted file mode 100644 index 1dfa5610cca6..000000000000 --- a/app/models/License.php +++ /dev/null @@ -1,7 +0,0 @@ -belongsTo('Account'); - } - - public function user() - { - return $this->belongsTo('User'); - } - - public function timesheet_events() - { - return $this->hasMany('TimeSheetEvent'); - } -} diff --git a/app/start/artisan.php b/app/start/artisan.php deleted file mode 100755 index 57ae92253c76..000000000000 --- a/app/start/artisan.php +++ /dev/null @@ -1,18 +0,0 @@ -pushHandler(new Monolog\Handler\SyslogHandler('intranet', 'user', Logger::DEBUG, false, LOG_PID)); -*/ - - -/* -|-------------------------------------------------------------------------- -| Application Error Handler -|-------------------------------------------------------------------------- -| -| Here you may handle any errors that occur in your application, including -| logging them or displaying custom views for specific errors. You may -| even register several error handlers to handle different types of -| exceptions. If nothing is returned, the default error view is -| shown, which includes a detailed stack trace during debug. -| -*/ - -App::error(function(Exception $exception, $code) -{ - Utils::logError($code . ' ' . Utils::getErrorString($exception)); - - if (Utils::isNinjaProd()) { - return Response::view('error', ['hideHeader' => true, 'error' => "A {$code} error occurred."], $code); - } else { - return null; - } -}); - -/* -|-------------------------------------------------------------------------- -| Maintenance Mode Handler -|-------------------------------------------------------------------------- -| -| The "down" Artisan command gives you the ability to put an application -| into maintenance mode. Here, you will define what is displayed back -| to the user if maintenace mode is in effect for this application. -| -*/ - -App::down(function() -{ - return Response::make("We are currently undergoing some brief maintenance, be right back!", 503); -}); - - - -Event::subscribe('UserEventHandler'); -Event::subscribe('InvoiceEventHandler'); - - -/* -|-------------------------------------------------------------------------- -| Require The Filters File -|-------------------------------------------------------------------------- -| -| Next we will load the filters file for the application. This gives us -| a nice separate location to store our route and application filter -| definitions instead of putting them all in the main routes file. -| -*/ - -require app_path().'/filters.php'; \ No newline at end of file diff --git a/app/start/local.php b/app/start/local.php deleted file mode 100755 index adab104c9f13..000000000000 --- a/app/start/local.php +++ /dev/null @@ -1,3 +0,0 @@ -addClass('col-md-9 col-md-offset-1') }} -{{ Former::legend('import_clients') }} -{{ Former::file('file')->label(trans('texts.csv_file')) }} -{{ Former::actions( Button::lg_info_submit(trans('texts.upload'))->append_with_icon('open') ) }} -{{ Former::close() }} - -{{ Former::open('company/export')->addClass('col-md-9 col-md-offset-1') }} -{{ Former::legend('export_clients') }} -{{ Former::actions( Button::lg_primary_submit(trans('texts.download'))->append_with_icon('download-alt') ) }} -{{ Former::close() }} - -

 

-

 

- -{{ Former::open('company/cancel_account')->addClass('col-md-9 col-md-offset-1 cancel-account') }} -{{ Former::legend('cancel_account') }} -{{ Former::actions( Button::lg_danger_button(trans('texts.cancel_account'), ['onclick' => 'showConfirm()'])->append_with_icon('trash') ) }} - - - -{{ Former::close() }} - - - - -@stop \ No newline at end of file diff --git a/app/views/accounts/invoice_settings.blade.php b/app/views/accounts/invoice_settings.blade.php deleted file mode 100644 index beb4fef9e022..000000000000 --- a/app/views/accounts/invoice_settings.blade.php +++ /dev/null @@ -1,77 +0,0 @@ -@extends('accounts.nav') - -@section('content') - @parent - @include('accounts.nav_advanced') - - {{ Former::open()->addClass('col-md-8 col-md-offset-2 warn-on-exit') }} - {{ Former::populate($account) }} - {{ Former::populateField('custom_invoice_taxes1', intval($account->custom_invoice_taxes1)) }} - {{ Former::populateField('custom_invoice_taxes2', intval($account->custom_invoice_taxes2)) }} - {{ Former::populateField('share_counter', intval($account->share_counter)) }} - - - {{ Former::legend('invoice_fields') }} - {{ Former::text('custom_invoice_label1')->label(trans('texts.field_label')) - ->append(Former::checkbox('custom_invoice_taxes1')->raw() . ' ' . trans('texts.charge_taxes')) }} - {{ Former::text('custom_invoice_label2')->label(trans('texts.field_label')) - ->append(Former::checkbox('custom_invoice_taxes2')->raw() . ' ' . trans('texts.charge_taxes')) }} -

 

- - {{ Former::legend('client_fields') }} - {{ Former::text('custom_client_label1')->label(trans('texts.field_label')) }} - {{ Former::text('custom_client_label2')->label(trans('texts.field_label')) }} -

 

- - {{ Former::legend('company_fields') }} - {{ Former::text('custom_label1')->label(trans('texts.field_label')) }} - {{ Former::text('custom_value1')->label(trans('texts.field_value')) }} -

 

- {{ Former::text('custom_label2')->label(trans('texts.field_label')) }} - {{ Former::text('custom_value2')->label(trans('texts.field_value')) }} -

 

- - {{ Former::legend('invoice_number') }} - {{ Former::text('invoice_number_prefix')->label(trans('texts.invoice_number_prefix')) }} - {{ Former::text('invoice_number_counter')->label(trans('texts.invoice_number_counter')) }} -

 

- - {{ Former::legend('quote_number') }} - {{ Former::text('quote_number_prefix')->label(trans('texts.quote_number_prefix')) }} - {{ Former::text('quote_number_counter')->label(trans('texts.quote_number_counter')) - ->append(Former::checkbox('share_counter')->raw()->onclick('setQuoteNumberEnabled()') . ' ' . trans('texts.share_invoice_counter')) }} -

 

- - {{ Former::legend('email_settings') }} - {{ Former::checkbox('pdf_email_attachment') }} -

 

- - @if (Auth::user()->isPro()) - {{ Former::actions( Button::lg_success_submit(trans('texts.save'))->append_with_icon('floppy-disk') ) }} - @else - - @endif - - {{ Former::close() }} - - - - - -@stop \ No newline at end of file diff --git a/app/views/accounts/nav.blade.php b/app/views/accounts/nav.blade.php deleted file mode 100755 index 5967295ffa9e..000000000000 --- a/app/views/accounts/nav.blade.php +++ /dev/null @@ -1,16 +0,0 @@ -@extends('header') - -@section('content') - - - -
- -@stop \ No newline at end of file diff --git a/app/views/accounts/nav_advanced.blade.php b/app/views/accounts/nav_advanced.blade.php deleted file mode 100644 index 3f0d62789ca5..000000000000 --- a/app/views/accounts/nav_advanced.blade.php +++ /dev/null @@ -1,17 +0,0 @@ - -

 

- -@if (!Auth::user()->account->isPro()) -
-
{{ trans('texts.pro_plan_advanced_settings', ['link'=>''.trans('texts.pro_plan.remove_logo_link').'']) }}
-  

  -

-@endif - -
\ No newline at end of file diff --git a/app/views/accounts/token.blade.php b/app/views/accounts/token.blade.php deleted file mode 100644 index ace566e9dbf3..000000000000 --- a/app/views/accounts/token.blade.php +++ /dev/null @@ -1,30 +0,0 @@ -@extends('accounts.nav') - -@section('content') - @parent - @include('accounts.nav_advanced') - - {{ Former::open($url)->method($method)->addClass('col-md-8 col-md-offset-2 warn-on-exit')->rules(array( - 'name' => 'required', - )); }} - - {{ Former::legend($title) }} - -

 

- - @if ($token) - {{ Former::populate($token) }} - @endif - - {{ Former::text('name') }} - -

 

- - {{ Former::actions( - Button::lg_success_submit(trans('texts.save'))->append_with_icon('floppy-disk'), - Button::lg_default_link('company/advanced_settings/token_management', trans('texts.cancel'))->append_with_icon('remove-circle') - ) }} - - {{ Former::close() }} - -@stop \ No newline at end of file diff --git a/app/views/client.blade.php b/app/views/client.blade.php deleted file mode 100755 index ef22259a0654..000000000000 --- a/app/views/client.blade.php +++ /dev/null @@ -1,99 +0,0 @@ - -
-
- - {{ Former::legend('Organization') }} - {{ Former::text('name') }} - {{ Former::text('id_number') }} - {{ Former::text('vat_number') }} - {{ Former::text('work_phone')->label('Phone') }} - {{ Former::textarea('notes') }} - - - {{ Former::legend('Address') }} - {{ Former::text('address1')->label('Street') }} - {{ Former::text('address2')->label('Apt/Floor') }} - {{ Former::text('city') }} - {{ Former::text('state') }} - {{ Former::text('postal_code') }} - {{ Former::select('country_id')->addOption('','')->label('Country') - ->fromQuery($countries, 'name', 'id') }} - - -
-
- - {{ Former::legend('Contacts') }} -
- {{ Former::hidden('public_id')->data_bind("value: public_id, valueUpdate: 'afterkeydown'") }} - {{ Former::text('first_name')->data_bind("value: first_name, valueUpdate: 'afterkeydown'") }} - {{ Former::text('last_name')->data_bind("value: last_name, valueUpdate: 'afterkeydown'") }} - {{ Former::text('email')->data_bind("value: email, valueUpdate: 'afterkeydown'") }} - {{ Former::text('phone')->data_bind("value: phone, valueUpdate: 'afterkeydown'") }} - -
-
- - {{ link_to('#', 'Remove contact', array('data-bind'=>'click: $parent.removeContact')) }} - - - {{ link_to('#', 'Add contact', array('onclick'=>'return addContact()')) }} - -
-
- -
- -
-
- - -{{ Former::hidden('data')->data_bind("value: ko.toJSON(model)") }} - - - diff --git a/app/views/clients/edit.blade.php b/app/views/clients/edit.blade.php deleted file mode 100755 index 6d9eac7c7625..000000000000 --- a/app/views/clients/edit.blade.php +++ /dev/null @@ -1,168 +0,0 @@ -@extends('header') - - -@section('onReady') - $('input#name').focus(); -@stop - -@section('content') -
- - - {{ Former::open($url)->addClass('col-md-12 warn-on-exit')->method($method)->rules(array( - 'email' => 'email|required' - )); }} - - @if ($client) - {{ Former::populate($client) }} - @endif - -
-
- - - {{ Former::legend('organization') }} - {{ Former::text('name')->data_bind("attr { placeholder: placeholderName }") }} - {{ Former::text('id_number') }} - {{ Former::text('vat_number') }} - {{ Former::text('website') }} - {{ Former::text('work_phone') }} - - @if (Auth::user()->isPro()) - @if ($customLabel1) - {{ Former::text('custom_value1')->label($customLabel1) }} - @endif - @if ($customLabel2) - {{ Former::text('custom_value2')->label($customLabel2) }} - @endif - @endif - - {{ Former::legend('address') }} - {{ Former::text('address1') }} - {{ Former::text('address2') }} - {{ Former::text('city') }} - {{ Former::text('state') }} - {{ Former::text('postal_code') }} - {{ Former::select('country_id')->addOption('','') - ->fromQuery($countries, 'name', 'id') }} - - -
-
- - {{ Former::legend('contacts') }} -
- {{ Former::hidden('public_id')->data_bind("value: public_id, valueUpdate: 'afterkeydown'") }} - {{ Former::text('first_name')->data_bind("value: first_name, valueUpdate: 'afterkeydown'") }} - {{ Former::text('last_name')->data_bind("value: last_name, valueUpdate: 'afterkeydown'") }} - {{ Former::text('email')->data_bind('value: email, valueUpdate: \'afterkeydown\', attr: {id:\'email\'+$index()}') }} - {{ Former::text('phone')->data_bind("value: phone, valueUpdate: 'afterkeydown'") }} - -
-
- - {{ link_to('#', trans('texts.remove_contact').' -', array('data-bind'=>'click: $parent.removeContact')) }} - - - {{ link_to('#', trans('texts.add_contact').' +', array('onclick'=>'return addContact()')) }} - -
-
-
- - {{ Former::legend('additional_info') }} - {{ Former::select('payment_terms')->addOption('','') - ->fromQuery($paymentTerms, 'name', 'num_days') }} - {{ Former::select('currency_id')->addOption('','') - ->fromQuery($currencies, 'name', 'id') }} - {{ Former::select('size_id')->addOption('','') - ->fromQuery($sizes, 'name', 'id') }} - {{ Former::select('industry_id')->addOption('','') - ->fromQuery($industries, 'name', 'id') }} - {{ Former::textarea('private_notes') }} - - -
-
- - - {{ Former::hidden('data')->data_bind("value: ko.toJSON(model)") }} - - - -
- {{ Button::lg_primary_submit_success(trans('texts.save'))->append_with_icon('floppy-disk') }} - {{ Button::lg_default_link('clients/' . ($client ? $client->public_id : ''), trans('texts.cancel'))->append_with_icon('remove-circle'); }} -
- - {{ Former::close() }} -
-@stop diff --git a/app/views/credits/edit.blade.php b/app/views/credits/edit.blade.php deleted file mode 100755 index 1b02490817a9..000000000000 --- a/app/views/credits/edit.blade.php +++ /dev/null @@ -1,64 +0,0 @@ -@extends('header') - - -@section('onReady') - $('input#name').focus(); -@stop - -@section('content') - - - {{ Former::open($url)->addClass('col-md-10 col-md-offset-1 warn-on-exit')->method($method)->rules(array( - 'client' => 'required', - 'amount' => 'required', - )); }} - -
-
- - {{ Former::select('client')->addOption('', '')->addGroupClass('client-select') }} - {{ Former::text('amount') }} - {{ Former::text('credit_date')->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT))->append('') }} - {{-- Former::select('currency_id')->addOption('','') - ->fromQuery($currencies, 'name', 'id')->select(Session::get(SESSION_CURRENCY, DEFAULT_CURRENCY)) --}} - {{ Former::textarea('private_notes') }} - -
-
- -
-
-
- {{ Button::lg_primary_submit_success(trans('texts.save'))->append_with_icon('floppy-disk') }} - {{ Button::lg_default_link('credits/' . ($credit ? $credit->public_id : ''), trans('texts.cancel'))->append_with_icon('remove-circle'); }} -
- - {{ Former::close() }} - - - -@stop diff --git a/app/views/emails/contact_html.blade.php b/app/views/emails/contact_html.blade.php deleted file mode 100644 index 120f94c0f1bf..000000000000 --- a/app/views/emails/contact_html.blade.php +++ /dev/null @@ -1 +0,0 @@ -{{ nl2br($text) }} diff --git a/app/views/emails/invoice_text.blade.php b/app/views/emails/invoice_text.blade.php deleted file mode 100755 index 022b18abd1a5..000000000000 --- a/app/views/emails/invoice_text.blade.php +++ /dev/null @@ -1 +0,0 @@ -{{ strip_tags($body) }} \ No newline at end of file diff --git a/app/views/emails/payment_confirmation_text.blade.php b/app/views/emails/payment_confirmation_text.blade.php deleted file mode 100644 index 022b18abd1a5..000000000000 --- a/app/views/emails/payment_confirmation_text.blade.php +++ /dev/null @@ -1 +0,0 @@ -{{ strip_tags($body) }} \ No newline at end of file diff --git a/app/views/payments/edit.blade.php b/app/views/payments/edit.blade.php deleted file mode 100755 index 024676fdd9bb..000000000000 --- a/app/views/payments/edit.blade.php +++ /dev/null @@ -1,70 +0,0 @@ -@extends('header') - - -@section('onReady') - $('input#name').focus(); -@stop - -@section('content') - - - {{ Former::open($url)->addClass('col-md-10 col-md-offset-1 warn-on-exit')->method($method)->rules(array( - 'client' => 'required', - 'invoice' => 'required', - 'amount' => 'required', - )); }} - - @if ($payment) - {{ Former::populate($payment) }} - @endif - -
-
- - @if (!$payment) - {{ Former::select('client')->addOption('', '')->addGroupClass('client-select') }} - {{ Former::select('invoice')->addOption('', '')->addGroupClass('invoice-select') }} - {{ Former::text('amount') }} - @endif - - {{ Former::select('payment_type_id')->addOption('','') - ->fromQuery($paymentTypes, 'name', 'id') }} - {{ Former::text('payment_date')->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT))->append('') }} - {{ Former::text('transaction_reference') }} - {{-- Former::select('currency_id')->addOption('','') - ->fromQuery($currencies, 'name', 'id')->select(Session::get(SESSION_CURRENCY, DEFAULT_CURRENCY)) --}} - -
-
- -
-
- -
- {{ Button::lg_primary_submit_success(trans('texts.save'))->append_with_icon('floppy-disk') }} - {{ Button::lg_default_link('payments/', trans('texts.cancel'))->append_with_icon('remove-circle'); }} -
- - {{ Former::close() }} - - - -@stop diff --git a/app/views/setup.blade.php b/app/views/setup.blade.php deleted file mode 100644 index 4a0ffa52ea6e..000000000000 --- a/app/views/setup.blade.php +++ /dev/null @@ -1,139 +0,0 @@ - - - - Invoice Ninja | Setup - - - - - - - -
- -   -
-
- -
-

Invoice Ninja Setup

- @if (version_compare(phpversion(), '5.4.0', '<')) -
Warning: The application requires PHP >= 5.4.0
- @endif - @if (!extension_loaded('fileinfo')) -
Warning: The fileinfo extension needs to be installed and enabled.
- @endif - If you need help you can either post to our Google Group - or email us at contact@invoiceninja.com. -

-

-- Commands to create a MySQL database and user
-CREATE SCHEMA `ninja` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
-CREATE USER 'ninja'@'localhost' IDENTIFIED BY 'ninja';
-GRANT ALL PRIVILEGES ON `ninja`.* TO 'ninja'@'localhost';
-FLUSH PRIVILEGES;
-

-
- - {{ Former::open()->rules([ - 'app[url]' => 'required', - 'database[type][host]' => 'required', - 'database[type][database]' => 'required', - 'database[type][username]' => 'required', - 'database[type][password]' => 'required', - 'first_name' => 'required', - 'last_name' => 'required', - 'email' => 'required|email', - 'password' => 'required', - 'terms_checkbox' => 'required' - ]) }} - -
-
-

Application Settings

-
-
- {{ Former::text('app[url]')->label('URL')->value(Request::root()) }} -
-
- -
-
-

Database Connection

-
-
- {{ Former::select('database[default]')->label('Driver')->options(['mysql' => 'MySQL', 'pgsql' => 'PostgreSQL', 'sqlite' => 'SQLite']) }} - {{ Former::text('database[type][host]')->label('Host')->value('localhost') }} - {{ Former::text('database[type][database]')->label('Database')->value('ninja') }} - {{ Former::text('database[type][username]')->label('Username')->value('ninja') }} - {{ Former::password('database[type][password]')->label('Password')->value('ninja') }} - {{ Former::actions( Button::normal('Test connection', ['onclick' => 'testDatabase()']), '  ' ) }} -
-
- - -
-
-

Email Settings

-
-
- {{ Former::select('mail[driver]')->label('Driver')->options(['smtp' => 'SMTP', 'mail' => 'Mail', 'sendmail' => 'Sendmail']) }} - {{ Former::text('mail[host]')->label('Host')->value('localhost') }} - {{ Former::text('mail[port]')->label('Port')->value('587') }} - {{ Former::select('mail[encryption]')->label('Encryption')->options(['tls' => 'TLS', 'ssl' => 'SSL']) }} - {{ Former::text('mail[from][name]')->label('From Name') }} - {{ Former::text('mail[username]')->label('Email') }} - {{ Former::password('mail[password]')->label('Password') }} - {{ Former::actions( Button::normal('Send test email', ['onclick' => 'testMail()']), '  ' ) }} -
-
- - -
-
-

User Details

-
-
- {{ Former::text('first_name') }} - {{ Former::text('last_name') }} - {{ Former::text('email') }} - {{ Former::password('password') }} -
-
- - {{ Former::checkbox('terms_checkbox')->label(' ')->text(trans('texts.agree_to_terms', ['terms' => ''.trans('texts.terms_of_service').''])) }} - {{ Former::actions( Button::submit_lg('Submit') ) }} - {{ Former::close() }} - -
- - - - - \ No newline at end of file diff --git a/app/views/users/edit.blade.php b/app/views/users/edit.blade.php deleted file mode 100644 index c88f4b43370f..000000000000 --- a/app/views/users/edit.blade.php +++ /dev/null @@ -1,30 +0,0 @@ -@extends('accounts.nav') - -@section('content') - @parent - @include('accounts.nav_advanced') - - {{ Former::open($url)->method($method)->addClass('col-md-8 col-md-offset-2 warn-on-exit')->rules(array( - 'first_name' => 'required', - 'last_name' => 'required', - 'email' => 'required|email', - )); }} - - {{ Former::legend($title) }} - - @if ($user) - {{ Former::populate($user) }} - @endif - - {{ Former::text('first_name') }} - {{ Former::text('last_name') }} - {{ Former::text('email') }} - - {{ Former::actions( - Button::lg_success_submit(trans($user && $user->confirmed ? 'texts.save' : 'texts.send_invite'))->append_with_icon($user && $user->confirmed ? 'floppy-disk' : 'send'), - Button::lg_default_link('company/advanced_settings/user_management', trans('texts.cancel'))->append_with_icon('remove-circle') - )}} - - {{ Former::close() }} - -@stop \ No newline at end of file diff --git a/artisan b/artisan index 36bb2d983d22..eb5e2bb62d4e 100755 --- a/artisan +++ b/artisan @@ -15,35 +15,7 @@ require __DIR__.'/bootstrap/autoload.php'; -/* -|-------------------------------------------------------------------------- -| Turn On The Lights -|-------------------------------------------------------------------------- -| -| We need to illuminate PHP development, so let's turn on the lights. -| This bootstrap the framework and gets it ready for use, then it -| will load up this application so that we can run it and send -| the responses back to the browser and delight these users. -| -*/ - -$app = require_once __DIR__.'/bootstrap/start.php'; - -/* -|-------------------------------------------------------------------------- -| Load The Artisan Console Application -|-------------------------------------------------------------------------- -| -| We'll need to run the script to load and return the Artisan console -| application. We keep this in its own script so that we will load -| the console application independent of running commands which -| will allow us to fire commands from Routes when we want to. -| -*/ - -$app->setRequestForConsoleEnvironment(); - -$artisan = Illuminate\Console\Application::start($app); +$app = require_once __DIR__.'/bootstrap/app.php'; /* |-------------------------------------------------------------------------- @@ -56,7 +28,12 @@ $artisan = Illuminate\Console\Application::start($app); | */ -$status = $artisan->run(); +$kernel = $app->make('Illuminate\Contracts\Console\Kernel'); + +$status = $kernel->handle( + $input = new Symfony\Component\Console\Input\ArgvInput, + new Symfony\Component\Console\Output\ConsoleOutput +); /* |-------------------------------------------------------------------------- @@ -69,6 +46,6 @@ $status = $artisan->run(); | */ -$app->shutdown(); +$kernel->terminate($input, $status); -exit($status); \ No newline at end of file +exit($status); diff --git a/bootstrap/app.php b/bootstrap/app.php new file mode 100644 index 000000000000..f50a3f720632 --- /dev/null +++ b/bootstrap/app.php @@ -0,0 +1,55 @@ +singleton( + 'Illuminate\Contracts\Http\Kernel', + 'App\Http\Kernel' +); + +$app->singleton( + 'Illuminate\Contracts\Console\Kernel', + 'App\Console\Kernel' +); + +$app->singleton( + 'Illuminate\Contracts\Debug\ExceptionHandler', + 'App\Exceptions\Handler' +); + +/* +|-------------------------------------------------------------------------- +| Return The Application +|-------------------------------------------------------------------------- +| +| This script returns the application instance. The instance is given to +| the calling script so we can separate the building of the instances +| from the actual running of the application and sending responses. +| +*/ + +return $app; diff --git a/bootstrap/autoload.php b/bootstrap/autoload.php old mode 100755 new mode 100644 index 6b329312a6ed..f2a9d5675d5c --- a/bootstrap/autoload.php +++ b/bootstrap/autoload.php @@ -27,49 +27,9 @@ require __DIR__.'/../vendor/autoload.php'; | */ -if (file_exists($compiled = __DIR__.'/compiled.php')) +$compiledPath = __DIR__.'/../storage/framework/compiled.php'; + +if (file_exists($compiledPath)) { - require $compiled; -} - -/* -|-------------------------------------------------------------------------- -| Setup Patchwork UTF-8 Handling -|-------------------------------------------------------------------------- -| -| The Patchwork library provides solid handling of UTF-8 strings as well -| as provides replacements for all mb_* and iconv type functions that -| are not available by default in PHP. We'll setup this stuff here. -| -*/ - -Patchwork\Utf8\Bootup::initMbstring(); - -/* -|-------------------------------------------------------------------------- -| Register The Laravel Auto Loader -|-------------------------------------------------------------------------- -| -| We register an auto-loader "behind" the Composer loader that can load -| model classes on the fly, even if the autoload files have not been -| regenerated for the application. We'll add it to the stack here. -| -*/ - -Illuminate\Support\ClassLoader::register(); - -/* -|-------------------------------------------------------------------------- -| Register The Workbench Loaders -|-------------------------------------------------------------------------- -| -| The Laravel workbench provides a convenient place to develop packages -| when working locally. However we will need to load in the Composer -| auto-load files for the packages so that these can be used here. -| -*/ - -if (is_dir($workbench = __DIR__.'/../workbench')) -{ - Illuminate\Workbench\Starter::start($workbench); + require $compiledPath; } diff --git a/bootstrap/environment.default.php b/bootstrap/environment.default.php deleted file mode 100755 index 60409212e89a..000000000000 --- a/bootstrap/environment.default.php +++ /dev/null @@ -1,4 +0,0 @@ - __DIR__.'/../app', - - /* - |-------------------------------------------------------------------------- - | Public Path - |-------------------------------------------------------------------------- - | - | The public path contains the assets for your web application, such as - | your JavaScript and CSS files, and also contains the primary entry - | point for web requests into these applications from the outside. - | - */ - - 'public' => __DIR__.'/../public', - - /* - |-------------------------------------------------------------------------- - | Base Path - |-------------------------------------------------------------------------- - | - | The base path is the root of the Laravel installation. Most likely you - | will not need to change this value. But, if for some wild reason it - | is necessary you will do so here, just proceed with some caution. - | - */ - - 'base' => __DIR__.'/..', - - /* - |-------------------------------------------------------------------------- - | Storage Path - |-------------------------------------------------------------------------- - | - | The storage path is used by Laravel to store cached Blade views, logs - | and other pieces of information. You may modify the path here when - | you want to change the location of this directory for your apps. - | - */ - - 'storage' => (isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'], 'Google App Engine') !== false) ? "gs://invoice-ninja/storage" : __DIR__.'/../app/storage', - -); diff --git a/bootstrap/start.php b/bootstrap/start.php deleted file mode 100755 index 1ec68eee0675..000000000000 --- a/bootstrap/start.php +++ /dev/null @@ -1,140 +0,0 @@ -instance('path.storage','gs://invoice-ninja'); -$app->instance('path.manifest', 'gs://invoice-ninja/meta'); - -if(strlen(ini_get('google_app_engine.allow_include_gs_buckets'))) { - $primary_bucket_name = explode(', ', ini_get('google_app_engine.allow_include_gs_buckets'))[0]; - dd($primary_bucket_name); - $app->instance('path.storage','gs://'.$primary_bucket_name); - $app->instance('path.manifest', storage_path().'/meta'); -} -*/ - - - -if (!function_exists('gethostname')) { - function gethostname() { - return php_uname('n'); - } -} - -// Fortrabbit HTTP AUTH CODE -if (!empty($_SERVER['REMOTE_USER'])) { - list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode( - ':', - base64_decode(substr($_SERVER['REMOTE_USER'], 6)) - ); -} - - -/* -|-------------------------------------------------------------------------- -| Create The Application -|-------------------------------------------------------------------------- -| -| The first thing we will do is create a new Laravel application instance -| which serves as the "glue" for all the components of Laravel, and is -| the IoC container for the system binding all of the various parts. -| -*/ - -$app = new Illuminate\Foundation\Application; - -//$app->redirectIfTrailingSlash(); - -/* -|-------------------------------------------------------------------------- -| Detect The Application Environment -|-------------------------------------------------------------------------- -| -| Laravel takes a dead simple approach to your application environments -| so you can just specify a machine name or HTTP host that matches a -| given environment, then we will automatically detect it for you. -| -*/ - - -$env = $app->detectEnvironment(function () -{ - if (file_exists(__DIR__.'/environment.php')) - { - return require __DIR__.'/environment.php'; - } - else if (isset($_SERVER['LARAVEL_ENV'])) - { - return $_SERVER['LARAVEL_ENV']; - } - else - { - return 'development'; - } -}); - - -/* -$env = $app->detectEnvironment(array( - 'development' => ['precise64', 'ubuntu-server-12042-x64-vbox4210'], - 'gae-development' => ['HILLEL-PC','hillel-PC'], - 'gae-production' => ['GNU/Linux'], - 'fortrabbit' => ['instance-zudx3h.nodes.eu1.frbit.com'] -)); -*/ - -/* -|-------------------------------------------------------------------------- -| Bind Paths -|-------------------------------------------------------------------------- -| -| Here we are binding the paths configured in paths.php to the app. You -| should not be changing these here. If you need to change these you -| may do so within the paths.php file and they will be bound here. -| -*/ - -$app->bindInstallPaths(require __DIR__.'/paths.php'); - -/* -|-------------------------------------------------------------------------- -| Load The Application -|-------------------------------------------------------------------------- -| -| Here we will load the Illuminate application. We'll keep this is in a -| separate location so we can isolate the creation of an application -| from the actual running of the application with a given request. -| -*/ - -$framework = $app['path.base'].'/vendor/laravel/framework/src'; - -require $framework.'/Illuminate/Foundation/start.php'; - -/* -|-------------------------------------------------------------------------- -| Return The Application -|-------------------------------------------------------------------------- -| -| This script returns the application instance. The instance is given to -| the calling script so we can separate the building of the instances -| from the actual running of the application and sending responses. -| -*/ - -// http://stackoverflow.com/questions/20293116/override-http-headers-default-settings-x-frame-options -App::forgetMiddleware('Illuminate\Http\FrameGuard'); - - -return $app; \ No newline at end of file diff --git a/bower.json b/bower.json deleted file mode 100644 index 4b8ad2c3948b..000000000000 --- a/bower.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "hillelcoren/invoice-ninja", - "version": "0.9.0", - "dependencies": { - "jquery": "~1.11", - "bootstrap": "~3.*", - "jquery-ui": "~1.*", - "datatables": "~1.*", - "datatables-bootstrap3": "*", - "knockout.js": "~3.*", - "knockout-mapping": "*", - "knockout-sortable": "*", - "font-awesome": "~4.*", - "underscore": "~1.*", - "jspdf": "*", - "bootstrap-datepicker": "~1.*", - "typeahead.js": "~0.9.3", - "accounting": "~0.*", - "spectrum": "~1.3.4", - "d3": "~3.4.11", - "handsontable": "*" - }, - "resolutions": { - "jquery": "~1.11" - } -} diff --git a/codeception.yml b/codeception.yml deleted file mode 100644 index f4d0ff9e9be1..000000000000 --- a/codeception.yml +++ /dev/null @@ -1,18 +0,0 @@ -paths: - tests: tests - log: tests/_log - data: tests/_data - helpers: tests/_helpers -settings: - bootstrap: _bootstrap.php - suite_class: \PHPUnit_Framework_TestSuite - colors: true - memory_limit: 1024M - log: true -modules: - config: - Db: - dsn: 'mysql:host=localhost;dbname=ninja' - user: 'ninja' - password: 'ninja' - dump: tests/_data/dump.sql diff --git a/composer.json b/composer.json index 6213a2a0df13..cacff91bee1d 100644 --- a/composer.json +++ b/composer.json @@ -7,65 +7,72 @@ { "name": "Hillel Coren", "email": "hillelcoren@gmail.com" + }, + { + "name": "Jeramy Simpson", + "email": "jeramy.n.simpson@gmail.com" } ], "require": { - "laravel/framework": "4.1.25", - "patricktalmadge/bootstrapper": "4.1.x", - "zizaco/confide": "3.1.x", - "anahkiasen/former": "3.4.x", - "barryvdh/laravel-debugbar": "~1.8", - "chumper/datatable": "2.x", - "omnipay/omnipay": "~2.0", - "intervention/image": "1.x", + "laravel/framework": "5.0.*", + "patricktalmadge/bootstrapper": "5.5.x", + "anahkiasen/former": "4.0.*@dev", + "barryvdh/laravel-debugbar": "~2.0.2", + "chumper/datatable": "dev-develop", + "omnipay/omnipay": "2.3.x", + "intervention/image": "dev-master", "webpatser/laravel-countries": "dev-master", - "barryvdh/laravel-ide-helper": "~1.0", - "doctrine/dbal": "~2.3", + "barryvdh/laravel-ide-helper": "2.0.x", + "doctrine/dbal": "2.5.x", "jsanc623/phpbenchtime": "2.x", "lokielse/omnipay-alipay": "dev-master", "coatesap/omnipay-datacash": "~2.0", - "alfaproject/omnipay-neteller": "~1.0", + "alfaproject/omnipay-neteller": "1.0.*@dev", "mfauveau/omnipay-pacnet": "~2.0", "coatesap/omnipay-paymentsense": "~2.0", "coatesap/omnipay-realex": "~2.0", "fruitcakestudio/omnipay-sisow": "~2.0", - "alfaproject/omnipay-skrill": "dev-master" + "alfaproject/omnipay-skrill": "dev-master", + "illuminate/html": "5.*" }, "require-dev": { - "codeception/codeception": "dev-master" + "phpunit/phpunit": "~4.0", + "phpspec/phpspec": "~2.1" }, "autoload": { "classmap": [ - "app/commands", - "app/controllers", - "app/models", - "app/database/migrations", - "app/database/seeds", - "app/tests/TestCase.php", - "app/libraries", - "vendor/php-payments/lib" + "app/Console/Commands", + "app/Libraries", + "app/Http/Controllers", + "app/Models", + "app/Ninja", + "app/Ninja/Repositories", + "database" ], - "psr-0" : { - "ninja" : "app/" + "psr-4": { + "App\\": "app/" } }, + "autoload-dev": { + "classmap": [ + "tests/TestCase.php" + ] + }, "scripts": { "post-install-cmd": [ - "php artisan optimize", - "php artisan debugbar:publish" + "php artisan clear-compiled", + "php artisan optimize" ], "post-update-cmd": [ "php artisan clear-compiled", - "php artisan ide-helper:generate", - "php artisan debugbar:publish", "php artisan optimize" ], "post-create-project-cmd": [ + "php -r \"copy('.env.example', '.env');\"", "php artisan key:generate" ] }, "config": { "preferred-install": "dist" - }, - "minimum-stability": "dev" + } } diff --git a/composer.lock b/composer.lock index cc08005ddf7e..f4e80c72ccd6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "151cdcbe05eecb3f5b0fb1f8c0cb4a5d", + "hash": "f464570c808999ffcb0fa78193b13229", "packages": [ { "name": "alfaproject/omnipay-neteller", @@ -116,32 +116,32 @@ }, { "name": "anahkiasen/former", - "version": "3.4.3", + "version": "4.0.x-dev", "source": { "type": "git", - "url": "https://github.com/Anahkiasen/former.git", - "reference": "d5bbb276073ef155a316c510a3ed81feff74304b" + "url": "https://github.com/formers/former.git", + "reference": "ed7d00c2b11578a4db31531e1fee97f6ccd85030" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Anahkiasen/former/zipball/d5bbb276073ef155a316c510a3ed81feff74304b", - "reference": "d5bbb276073ef155a316c510a3ed81feff74304b", + "url": "https://api.github.com/repos/formers/former/zipball/ed7d00c2b11578a4db31531e1fee97f6ccd85030", + "reference": "ed7d00c2b11578a4db31531e1fee97f6ccd85030", "shasum": "" }, "require": { "anahkiasen/html-object": "~1.4", - "illuminate/config": "4.1.*", - "illuminate/container": "4.1.*", - "illuminate/http": "4.1.*", - "illuminate/routing": "4.1.*", - "illuminate/session": "4.1.*", - "illuminate/translation": "4.1.*", - "php": ">=5.3.0" + "illuminate/config": "5.0.*", + "illuminate/container": "5.0.*", + "illuminate/http": "5.0.*", + "illuminate/routing": "5.0.*", + "illuminate/session": "5.0.*", + "illuminate/translation": "5.0.*", + "php": ">=5.4.0" }, "require-dev": { - "illuminate/database": "4.1.*", + "illuminate/database": "5.0.*", "mockery/mockery": "~0.9.1", - "phpunit/phpunit": "~4.1.4" + "phpunit/phpunit": "~4" }, "type": "library", "autoload": { @@ -171,73 +171,32 @@ "foundation", "laravel" ], - "time": "2014-08-03 11:21:34" + "time": "2015-03-06 17:50:05" }, { "name": "anahkiasen/html-object", - "version": "1.4.0", + "version": "1.4.2", "source": { "type": "git", "url": "https://github.com/Anahkiasen/html-object.git", - "reference": "776aff25a4db27964d95b2332e2f379b0aac9ff0" + "reference": "7890eb43636b1cd5ae7c4aab0d27c6890065c9ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Anahkiasen/html-object/zipball/776aff25a4db27964d95b2332e2f379b0aac9ff0", - "reference": "776aff25a4db27964d95b2332e2f379b0aac9ff0", + "url": "https://api.github.com/repos/Anahkiasen/html-object/zipball/7890eb43636b1cd5ae7c4aab0d27c6890065c9ad", + "reference": "7890eb43636b1cd5ae7c4aab0d27c6890065c9ad", "shasum": "" }, "require": { "php": ">=5.3.0" }, - "type": "library", - "autoload": { - "psr-0": { - "HtmlObject": "src" - }, - "classmap": [ - "tests" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Maxime Fabre", - "email": "ehtnam6@gmail.com" - } - ], - "description": "A set of classes to create and manipulate HTML objects abstractions", - "time": "2014-01-27 22:41:20" - }, - { - "name": "anahkiasen/underscore-php", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/Anahkiasen/underscore-php.git", - "reference": "b5cb869b1b0e0a27deb4156884411d7e14b9bc24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Anahkiasen/underscore-php/zipball/b5cb869b1b0e0a27deb4156884411d7e14b9bc24", - "reference": "b5cb869b1b0e0a27deb4156884411d7e14b9bc24", - "shasum": "" - }, - "require": { - "illuminate/support": "~4", - "patchwork/utf8": "1.1.*", - "php": ">=5.3.0" + "require-dev": { + "phpunit/phpunit": "~4.5" }, "type": "library", "autoload": { "psr-4": { - "Underscore\\": [ - "src", - "tests" - ] + "HtmlObject\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -246,42 +205,37 @@ ], "authors": [ { - "name": "Maxime Fabre", + "name": "Anahkiasen", "email": "ehtnam6@gmail.com" } ], - "description": "A redacted port of Underscore.js for PHP", - "keywords": [ - "internals", - "laravel", - "toolkit" - ], - "time": "2014-09-25 10:00:05" + "description": "A set of classes to create and manipulate HTML objects abstractions", + "time": "2015-03-04 17:12:08" }, { "name": "barryvdh/laravel-debugbar", - "version": "dev-master", + "version": "v2.0.3", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-debugbar.git", - "reference": "64a7a5e68c7ea21d8586c5d2777eae37d4da1008" + "reference": "77be5170f3777e2e899ec98105ce5686cd4aa63b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/64a7a5e68c7ea21d8586c5d2777eae37d4da1008", - "reference": "64a7a5e68c7ea21d8586c5d2777eae37d4da1008", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/77be5170f3777e2e899ec98105ce5686cd4aa63b", + "reference": "77be5170f3777e2e899ec98105ce5686cd4aa63b", "shasum": "" }, "require": { - "laravel/framework": "4.*|5.0.*", - "maximebf/debugbar": "~1.10.1", - "php": ">=5.3.0", - "symfony/finder": "~2.3" + "illuminate/support": "5.0.x", + "maximebf/debugbar": "~1.10.2", + "php": ">=5.4.0", + "symfony/finder": "~2.6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -310,27 +264,27 @@ "profiler", "webprofiler" ], - "time": "2014-11-24 21:34:36" + "time": "2015-03-07 15:15:23" }, { "name": "barryvdh/laravel-ide-helper", - "version": "dev-master", + "version": "v2.0.3", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-ide-helper.git", - "reference": "486d9d9c4d209720d490ac186f8493b3c0f6897c" + "reference": "d8d5517f2cc55d534a7fc8f50ff62cb55115e1aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/486d9d9c4d209720d490ac186f8493b3c0f6897c", - "reference": "486d9d9c4d209720d490ac186f8493b3c0f6897c", + "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/d8d5517f2cc55d534a7fc8f50ff62cb55115e1aa", + "reference": "d8d5517f2cc55d534a7fc8f50ff62cb55115e1aa", "shasum": "" }, "require": { - "illuminate/console": "4.x|5.0.x", - "illuminate/filesystem": "4.x|5.0.x", - "illuminate/support": "4.x|5.0.x", - "php": ">=5.3.0", + "illuminate/console": "5.0.x", + "illuminate/filesystem": "5.0.x", + "illuminate/support": "5.0.x", + "php": ">=5.4.0", "phpdocumentor/reflection-docblock": "2.0.x", "symfony/class-loader": "~2.3" }, @@ -343,7 +297,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -373,26 +327,26 @@ "phpstorm", "sublime" ], - "time": "2014-10-14 08:39:02" + "time": "2015-03-17 08:00:28" }, { "name": "chumper/datatable", - "version": "2.3", + "version": "dev-develop", "source": { "type": "git", "url": "https://github.com/Chumper/Datatable.git", - "reference": "cff842783f3f4af60c2be295435b2bd812510ef5" + "reference": "58f212270a4bd37ebf1371cb5302749cbbcb941d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Chumper/Datatable/zipball/cff842783f3f4af60c2be295435b2bd812510ef5", - "reference": "cff842783f3f4af60c2be295435b2bd812510ef5", + "url": "https://api.github.com/repos/Chumper/Datatable/zipball/58f212270a4bd37ebf1371cb5302749cbbcb941d", + "reference": "58f212270a4bd37ebf1371cb5302749cbbcb941d", "shasum": "" }, "require": { - "illuminate/config": "4.*", - "illuminate/support": "4.*", - "illuminate/view": "4.*", + "illuminate/config": "~5.0", + "illuminate/support": "~5.0", + "illuminate/view": "~5.0", "php": ">=5.3.0" }, "require-dev": { @@ -426,67 +380,80 @@ "jquery", "laravel" ], - "time": "2014-05-11 14:53:49" + "time": "2015-04-04 15:19:43" }, { "name": "classpreloader/classpreloader", - "version": "1.0.2", + "version": "1.2.0", "source": { "type": "git", - "url": "https://github.com/mtdowling/ClassPreloader.git", - "reference": "2c9f3bcbab329570c57339895bd11b5dd3b00877" + "url": "https://github.com/ClassPreloader/ClassPreloader.git", + "reference": "f0bfbf71fb3335c9473f695d4d966ba2fb879a9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mtdowling/ClassPreloader/zipball/2c9f3bcbab329570c57339895bd11b5dd3b00877", - "reference": "2c9f3bcbab329570c57339895bd11b5dd3b00877", + "url": "https://api.github.com/repos/ClassPreloader/ClassPreloader/zipball/f0bfbf71fb3335c9473f695d4d966ba2fb879a9f", + "reference": "f0bfbf71fb3335c9473f695d4d966ba2fb879a9f", "shasum": "" }, "require": { - "nikic/php-parser": "~0.9", + "nikic/php-parser": "~1.0", "php": ">=5.3.3", "symfony/console": "~2.1", "symfony/filesystem": "~2.1", "symfony/finder": "~2.1" }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, "bin": [ "classpreloader.php" ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "1.2-dev" } }, "autoload": { - "psr-0": { - "ClassPreloader": "src/" + "psr-4": { + "ClassPreloader\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], + "authors": [ + { + "name": "Graham Campbell", + "email": "graham@mineuk.com" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com" + } + ], "description": "Helps class loading performance by generating a single PHP file containing all of the autoloaded files for a specific use case", "keywords": [ "autoload", "class", "preload" ], - "time": "2014-03-12 00:05:31" + "time": "2015-01-26 22:06:19" }, { "name": "coatesap/omnipay-datacash", - "version": "dev-master", + "version": "v2.0.4", "source": { "type": "git", "url": "https://github.com/coatesap/omnipay-datacash.git", - "reference": "3754720937b747edcfc77e2df09cae58079c0cd0" + "reference": "77915db87635c514576550dd15355987cadefc78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/coatesap/omnipay-datacash/zipball/3754720937b747edcfc77e2df09cae58079c0cd0", - "reference": "3754720937b747edcfc77e2df09cae58079c0cd0", + "url": "https://api.github.com/repos/coatesap/omnipay-datacash/zipball/77915db87635c514576550dd15355987cadefc78", + "reference": "77915db87635c514576550dd15355987cadefc78", "shasum": "" }, "require": { @@ -530,20 +497,20 @@ "pay", "payment" ], - "time": "2014-10-02 15:33:32" + "time": "2015-01-08 11:19:06" }, { "name": "coatesap/omnipay-paymentsense", - "version": "dev-master", + "version": "v2.0.0", "source": { "type": "git", "url": "https://github.com/coatesap/omnipay-paymentsense.git", - "reference": "91e5ace4c4a111ed33ecd33c1d3235f9e7aecd69" + "reference": "4a5a87ef140abf8e09ff27cd0e6502ac1e79e434" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/coatesap/omnipay-paymentsense/zipball/91e5ace4c4a111ed33ecd33c1d3235f9e7aecd69", - "reference": "91e5ace4c4a111ed33ecd33c1d3235f9e7aecd69", + "url": "https://api.github.com/repos/coatesap/omnipay-paymentsense/zipball/4a5a87ef140abf8e09ff27cd0e6502ac1e79e434", + "reference": "4a5a87ef140abf8e09ff27cd0e6502ac1e79e434", "shasum": "" }, "require": { @@ -578,9 +545,8 @@ } ], "description": "PaymentSense driver for the Omnipay payment processing library", - "homepage": "https://github.com/coatesap/omnipay-paymentsense", + "homepage": "https://github.com/coatesap/paymentsense", "keywords": [ - "driver", "gateway", "merchant", "omnipay", @@ -589,20 +555,20 @@ "payment sense", "paymentsense" ], - "time": "2014-07-25 04:46:19" + "time": "2014-03-18 17:17:57" }, { "name": "coatesap/omnipay-realex", - "version": "dev-master", + "version": "v2.1.3", "source": { "type": "git", "url": "https://github.com/coatesap/omnipay-realex.git", - "reference": "13949b27629b1461e4985470a05f23779c18de4e" + "reference": "9a751a66c7fdd610a7c41493a57587d59944bbfa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/coatesap/omnipay-realex/zipball/13949b27629b1461e4985470a05f23779c18de4e", - "reference": "13949b27629b1461e4985470a05f23779c18de4e", + "url": "https://api.github.com/repos/coatesap/omnipay-realex/zipball/9a751a66c7fdd610a7c41493a57587d59944bbfa", + "reference": "9a751a66c7fdd610a7c41493a57587d59944bbfa", "shasum": "" }, "require": { @@ -632,7 +598,7 @@ "email": "andycoatz@gmail.com" } ], - "description": "Realex driver for the Omnipay PHP payment processing library", + "description": "Realex driver with 3D Secure support for Omnipay payment processing library", "homepage": "https://github.com/coatesap/omnipay-realex", "keywords": [ "gateway", @@ -643,54 +609,109 @@ "purchase", "realex" ], - "time": "2014-08-21 15:44:54" + "time": "2015-01-08 10:05:58" }, { - "name": "d11wtq/boris", - "version": "v1.0.8", + "name": "danielstjules/stringy", + "version": "1.9.0", "source": { "type": "git", - "url": "https://github.com/d11wtq/boris.git", - "reference": "125dd4e5752639af7678a22ea597115646d89c6e" + "url": "https://github.com/danielstjules/Stringy.git", + "reference": "3cf18e9e424a6dedc38b7eb7ef580edb0929461b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/d11wtq/boris/zipball/125dd4e5752639af7678a22ea597115646d89c6e", - "reference": "125dd4e5752639af7678a22ea597115646d89c6e", + "url": "https://api.github.com/repos/danielstjules/Stringy/zipball/3cf18e9e424a6dedc38b7eb7ef580edb0929461b", + "reference": "3cf18e9e424a6dedc38b7eb7ef580edb0929461b", "shasum": "" }, "require": { + "ext-mbstring": "*", "php": ">=5.3.0" }, - "suggest": { - "ext-pcntl": "*", - "ext-posix": "*", - "ext-readline": "*" + "require-dev": { + "phpunit/phpunit": "~4.0" }, - "bin": [ - "bin/boris" - ], "type": "library", "autoload": { - "psr-0": { - "Boris": "lib" - } + "psr-4": { + "Stringy\\": "src/" + }, + "files": [ + "src/Create.php" + ] }, "notification-url": "https://packagist.org/downloads/", - "time": "2014-01-17 12:21:18" + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel St. Jules", + "email": "danielst.jules@gmail.com", + "homepage": "http://www.danielstjules.com" + } + ], + "description": "A string manipulation library with multibyte support", + "homepage": "https://github.com/danielstjules/Stringy", + "keywords": [ + "UTF", + "helpers", + "manipulation", + "methods", + "multibyte", + "string", + "utf-8", + "utility", + "utils" + ], + "time": "2015-02-10 06:19:18" }, { - "name": "doctrine/annotations", - "version": "dev-master", + "name": "dnoegel/php-xdg-base-dir", + "version": "0.1", "source": { "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "3b6668f54ad3f95d68b64a742f6b0de55d6caeb1" + "url": "https://github.com/dnoegel/php-xdg-base-dir.git", + "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/3b6668f54ad3f95d68b64a742f6b0de55d6caeb1", - "reference": "3b6668f54ad3f95d68b64a742f6b0de55d6caeb1", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a", + "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "@stable" + }, + "type": "project", + "autoload": { + "psr-4": { + "XdgBaseDir\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "implementation of xdg base directory specification for php", + "time": "2014-10-24 07:27:01" + }, + { + "name": "doctrine/annotations", + "version": "v1.2.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "eeda578cbe24a170331a1cfdf78be723412df7a4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/eeda578cbe24a170331a1cfdf78be723412df7a4", + "reference": "eeda578cbe24a170331a1cfdf78be723412df7a4", "shasum": "" }, "require": { @@ -745,20 +766,20 @@ "docblock", "parser" ], - "time": "2014-11-04 15:34:10" + "time": "2014-12-20 20:49:38" }, { "name": "doctrine/cache", - "version": "dev-master", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "7b625bf42f08ceb3e7dc7852095ef5e1a5756884" + "reference": "2346085d2b027b233ae1d5de59b07440b9f288c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/7b625bf42f08ceb3e7dc7852095ef5e1a5756884", - "reference": "7b625bf42f08ceb3e7dc7852095ef5e1a5756884", + "url": "https://api.github.com/repos/doctrine/cache/zipball/2346085d2b027b233ae1d5de59b07440b9f288c8", + "reference": "2346085d2b027b233ae1d5de59b07440b9f288c8", "shasum": "" }, "require": { @@ -815,28 +836,25 @@ "cache", "caching" ], - "time": "2014-11-24 16:07:53" + "time": "2015-01-15 20:38:55" }, { "name": "doctrine/collections", - "version": "dev-master", + "version": "v1.2", "source": { "type": "git", "url": "https://github.com/doctrine/collections.git", - "reference": "38ed66e6606309bec203a9df506ffa26d956d21d" + "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/38ed66e6606309bec203a9df506ffa26d956d21d", - "reference": "38ed66e6606309bec203a9df506ffa26d956d21d", + "url": "https://api.github.com/repos/doctrine/collections/zipball/b99c5c46c87126201899afe88ec490a25eedd6a2", + "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2", "shasum": "" }, "require": { "php": ">=5.3.2" }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, "type": "library", "extra": { "branch-alias": { @@ -853,6 +871,17 @@ "MIT" ], "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/", + "role": "Creator" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -861,17 +890,11 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, { "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh", + "role": "Developer of wrapped JMSSerializerBundle" } ], "description": "Collections Abstraction library", @@ -881,20 +904,20 @@ "collections", "iterator" ], - "time": "2014-11-05 15:56:21" + "time": "2014-02-03 23:07:43" }, { "name": "doctrine/common", - "version": "dev-master", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "559a805125524b0bb6742638784c2979a5c5e607" + "reference": "cd8daf2501e10c63dced7b8b9b905844316ae9d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/559a805125524b0bb6742638784c2979a5c5e607", - "reference": "559a805125524b0bb6742638784c2979a5c5e607", + "url": "https://api.github.com/repos/doctrine/common/zipball/cd8daf2501e10c63dced7b8b9b905844316ae9d3", + "reference": "cd8daf2501e10c63dced7b8b9b905844316ae9d3", "shasum": "" }, "require": { @@ -911,7 +934,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.5.x-dev" + "dev-master": "2.6.x-dev" } }, "autoload": { @@ -954,20 +977,20 @@ "persistence", "spl" ], - "time": "2014-07-27 17:39:50" + "time": "2015-04-02 19:55:44" }, { "name": "doctrine/dbal", - "version": "dev-master", + "version": "v2.5.1", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "40fd004725b4aa902aea170cd15152b06a6faba0" + "reference": "628c2256b646ae2417d44e063bce8aec5199d48d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/40fd004725b4aa902aea170cd15152b06a6faba0", - "reference": "40fd004725b4aa902aea170cd15152b06a6faba0", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/628c2256b646ae2417d44e063bce8aec5199d48d", + "reference": "628c2256b646ae2417d44e063bce8aec5199d48d", "shasum": "" }, "require": { @@ -1025,20 +1048,20 @@ "persistence", "queryobject" ], - "time": "2014-11-24 15:49:52" + "time": "2015-01-12 21:52:47" }, { "name": "doctrine/inflector", - "version": "dev-master", + "version": "v1.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "8a0b96e65d2399d6f95b75de11134843a2c61feb" + "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/8a0b96e65d2399d6f95b75de11134843a2c61feb", - "reference": "8a0b96e65d2399d6f95b75de11134843a2c61feb", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/0bcb2e79d8571787f18b7eb036ed3d004908e604", + "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604", "shasum": "" }, "require": { @@ -1092,11 +1115,11 @@ "singularize", "string" ], - "time": "2014-10-05 18:49:49" + "time": "2014-12-20 21:24:13" }, { "name": "doctrine/lexer", - "version": "dev-master", + "version": "v1.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", @@ -1148,69 +1171,18 @@ ], "time": "2014-09-09 13:34:57" }, - { - "name": "filp/whoops", - "version": "1.0.10", - "source": { - "type": "git", - "url": "https://github.com/filp/whoops.git", - "reference": "91e3fd4b0812017ffbeb24add55330664e1ea32a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/91e3fd4b0812017ffbeb24add55330664e1ea32a", - "reference": "91e3fd4b0812017ffbeb24add55330664e1ea32a", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "mockery/mockery": "dev-master", - "silex/silex": "1.0.*@dev" - }, - "type": "library", - "autoload": { - "psr-0": { - "Whoops": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" - } - ], - "description": "php error handling for cool kids", - "homepage": "https://github.com/filp/whoops", - "keywords": [ - "error", - "exception", - "handling", - "library", - "silex-provider", - "whoops", - "zf2" - ], - "time": "2013-12-04 14:19:30" - }, { "name": "fruitcakestudio/omnipay-sisow", - "version": "dev-master", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/fruitcakestudio/omnipay-sisow.git", - "reference": "4c4413279397e780ea4a6ad328082c913409403f" + "reference": "0ae3ae13da86c087e22717f051bc86d2057a0309" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcakestudio/omnipay-sisow/zipball/4c4413279397e780ea4a6ad328082c913409403f", - "reference": "4c4413279397e780ea4a6ad328082c913409403f", + "url": "https://api.github.com/repos/fruitcakestudio/omnipay-sisow/zipball/0ae3ae13da86c087e22717f051bc86d2057a0309", + "reference": "0ae3ae13da86c087e22717f051bc86d2057a0309", "shasum": "" }, "require": { @@ -1253,85 +1225,73 @@ "payment", "sisow" ], - "time": "2014-08-15 08:15:33" + "time": "2015-01-16 08:41:13" }, { - "name": "guzzle/common", - "version": "v3.9.2", - "target-dir": "Guzzle/Common", + "name": "guzzle/guzzle", + "version": "v3.9.3", "source": { "type": "git", - "url": "https://github.com/guzzle/common.git", - "reference": "2e36af7cf2ce3ea1f2d7c2831843b883a8e7b7dc" + "url": "https://github.com/guzzle/guzzle3.git", + "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/common/zipball/2e36af7cf2ce3ea1f2d7c2831843b883a8e7b7dc", - "reference": "2e36af7cf2ce3ea1f2d7c2831843b883a8e7b7dc", + "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", + "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", "shasum": "" }, "require": { - "php": ">=5.3.2", - "symfony/event-dispatcher": ">=2.1" + "ext-curl": "*", + "php": ">=5.3.3", + "symfony/event-dispatcher": "~2.1" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - }, - "autoload": { - "psr-0": { - "Guzzle\\Common": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Common libraries used by Guzzle", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "collection", - "common", - "event", - "exception" - ], - "time": "2014-08-11 04:32:36" - }, - { - "name": "guzzle/http", - "version": "v3.9.2", - "target-dir": "Guzzle/Http", - "source": { - "type": "git", - "url": "https://github.com/guzzle/http.git", - "reference": "1e8dd1e2ba9dc42332396f39fbfab950b2301dc5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/http/zipball/1e8dd1e2ba9dc42332396f39fbfab950b2301dc5", - "reference": "1e8dd1e2ba9dc42332396f39fbfab950b2301dc5", - "shasum": "" - }, - "require": { + "replace": { + "guzzle/batch": "self.version", + "guzzle/cache": "self.version", "guzzle/common": "self.version", + "guzzle/http": "self.version", + "guzzle/inflection": "self.version", + "guzzle/iterator": "self.version", + "guzzle/log": "self.version", "guzzle/parser": "self.version", - "guzzle/stream": "self.version", - "php": ">=5.3.2" + "guzzle/plugin": "self.version", + "guzzle/plugin-async": "self.version", + "guzzle/plugin-backoff": "self.version", + "guzzle/plugin-cache": "self.version", + "guzzle/plugin-cookie": "self.version", + "guzzle/plugin-curlauth": "self.version", + "guzzle/plugin-error-response": "self.version", + "guzzle/plugin-history": "self.version", + "guzzle/plugin-log": "self.version", + "guzzle/plugin-md5": "self.version", + "guzzle/plugin-mock": "self.version", + "guzzle/plugin-oauth": "self.version", + "guzzle/service": "self.version", + "guzzle/stream": "self.version" + }, + "require-dev": { + "doctrine/cache": "~1.3", + "monolog/monolog": "~1.0", + "phpunit/phpunit": "3.7.*", + "psr/log": "~1.0", + "symfony/class-loader": "~2.1", + "zendframework/zend-cache": "2.*,<2.3", + "zendframework/zend-log": "2.*,<2.3" }, "suggest": { - "ext-curl": "*" + "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.7-dev" + "dev-master": "3.9-dev" } }, "autoload": { "psr-0": { - "Guzzle\\Http": "" + "Guzzle": "src/", + "Guzzle\\Tests": "tests/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1343,95 +1303,58 @@ "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" + }, + { + "name": "Guzzle Community", + "homepage": "https://github.com/guzzle/guzzle/contributors" } ], - "description": "HTTP libraries used by Guzzle", + "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", "homepage": "http://guzzlephp.org/", "keywords": [ - "Guzzle", "client", "curl", + "framework", "http", - "http client" + "http client", + "rest", + "web service" ], - "time": "2014-08-11 04:32:36" + "time": "2015-03-18 18:23:50" }, { - "name": "guzzle/parser", - "version": "v3.9.2", - "target-dir": "Guzzle/Parser", + "name": "illuminate/html", + "version": "v5.0.0", "source": { "type": "git", - "url": "https://github.com/guzzle/parser.git", - "reference": "6874d171318a8e93eb6d224cf85e4678490b625c" + "url": "https://github.com/illuminate/html.git", + "reference": "3d1009bb8e0f25720c914af5c1f4015dd373c9ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/parser/zipball/6874d171318a8e93eb6d224cf85e4678490b625c", - "reference": "6874d171318a8e93eb6d224cf85e4678490b625c", + "url": "https://api.github.com/repos/illuminate/html/zipball/3d1009bb8e0f25720c914af5c1f4015dd373c9ef", + "reference": "3d1009bb8e0f25720c914af5c1f4015dd373c9ef", "shasum": "" }, "require": { - "php": ">=5.3.2" + "illuminate/http": "~5.0", + "illuminate/session": "~5.0", + "illuminate/support": "~5.0", + "php": ">=5.4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.7-dev" + "dev-master": "5.0-dev" } }, "autoload": { - "psr-0": { - "Guzzle\\Parser": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Interchangeable parsers used by Guzzle", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "URI Template", - "cookie", - "http", - "message", - "url" - ], - "time": "2014-02-05 18:29:46" - }, - { - "name": "guzzle/stream", - "version": "v3.9.2", - "target-dir": "Guzzle/Stream", - "source": { - "type": "git", - "url": "https://github.com/guzzle/stream.git", - "reference": "60c7fed02e98d2c518dae8f97874c8f4622100f0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/stream/zipball/60c7fed02e98d2c518dae8f97874c8f4622100f0", - "reference": "60c7fed02e98d2c518dae8f97874c8f4622100f0", - "shasum": "" - }, - "require": { - "guzzle/common": "self.version", - "php": ">=5.3.2" - }, - "suggest": { - "guzzle/http": "To convert Guzzle request objects to PHP streams" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - }, - "autoload": { - "psr-0": { - "Guzzle\\Stream": "" - } + "psr-4": { + "Illuminate\\Html\\": "" + }, + "files": [ + "helpers.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1439,49 +1362,43 @@ ], "authors": [ { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" + "name": "Taylor Otwell", + "email": "taylorotwell@gmail.com" } ], - "description": "Guzzle stream wrapper component", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "Guzzle", - "component", - "stream" - ], - "time": "2014-05-01 21:36:02" + "time": "2015-01-01 16:31:18" }, { "name": "intervention/image", - "version": "1.6.x-dev", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/Intervention/image.git", - "reference": "432f3b28ea08455146b157c6bfdebf4ef5bc661e" + "reference": "8f3761154b4c1f5128365dfc32cbf757f27d97b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/432f3b28ea08455146b157c6bfdebf4ef5bc661e", - "reference": "432f3b28ea08455146b157c6bfdebf4ef5bc661e", + "url": "https://api.github.com/repos/Intervention/image/zipball/8f3761154b4c1f5128365dfc32cbf757f27d97b6", + "reference": "8f3761154b4c1f5128365dfc32cbf757f27d97b6", "shasum": "" }, "require": { - "ext-gd": "*", - "illuminate/support": "4.*", + "ext-fileinfo": "*", "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "4.1.*" + "mockery/mockery": "~0.9.2", + "phpunit/phpunit": "3.*" }, "suggest": { + "ext-gd": "to use GD library based image processing.", + "ext-imagick": "to use Imagick based image processing.", "intervention/imagecache": "Caching extension for the Intervention Image library" }, "type": "library", "autoload": { - "psr-0": { - "Intervention\\Image": "src/" + "psr-4": { + "Intervention\\Image\\": "src/Intervention/Image" } }, "notification-url": "https://packagist.org/downloads/", @@ -1495,29 +1412,30 @@ "homepage": "http://olivervogel.net/" } ], - "description": "Image handling and manipulation library with support for Laravel 4 integration", + "description": "Image handling and manipulation library with support for Laravel integration", "homepage": "http://image.intervention.io/", "keywords": [ "gd", "image", + "imagick", "laravel", "thumbnail", "watermark" ], - "time": "2014-06-07 16:25:27" + "time": "2015-03-18 17:41:04" }, { "name": "ircmaxell/password-compat", - "version": "1.0.x-dev", + "version": "v1.0.4", "source": { "type": "git", "url": "https://github.com/ircmaxell/password_compat.git", - "reference": "9b99377557a33a4129c9194e60a97a685fab21e0" + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/9b99377557a33a4129c9194e60a97a685fab21e0", - "reference": "9b99377557a33a4129c9194e60a97a685fab21e0", + "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c", "shasum": "" }, "require-dev": { @@ -1546,33 +1464,79 @@ "hashing", "password" ], - "time": "2014-11-20 19:18:42" + "time": "2014-11-20 16:49:30" }, { - "name": "jeremeamia/SuperClosure", - "version": "1.0.1", + "name": "jakub-onderka/php-console-color", + "version": "0.1", "source": { "type": "git", - "url": "https://github.com/jeremeamia/super_closure.git", - "reference": "d05400085f7d4ae6f20ba30d36550836c0d061e8" + "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", + "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/d05400085f7d4ae6f20ba30d36550836c0d061e8", - "reference": "d05400085f7d4ae6f20ba30d36550836c0d061e8", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/e0b393dacf7703fc36a4efc3df1435485197e6c1", + "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1", "shasum": "" }, "require": { - "nikic/php-parser": "~0.9", - "php": ">=5.3.3" + "php": ">=5.3.2" }, "require-dev": { - "phpunit/phpunit": "~3.7" + "jakub-onderka/php-code-style": "1.0", + "jakub-onderka/php-parallel-lint": "0.*", + "jakub-onderka/php-var-dump-check": "0.*", + "phpunit/phpunit": "3.7.*", + "squizlabs/php_codesniffer": "1.*" }, "type": "library", "autoload": { "psr-0": { - "Jeremeamia\\SuperClosure": "src/" + "JakubOnderka\\PhpConsoleColor": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Jakub Onderka", + "email": "jakub.onderka@gmail.com", + "homepage": "http://www.acci.cz" + } + ], + "time": "2014-04-08 15:00:19" + }, + { + "name": "jakub-onderka/php-console-highlighter", + "version": "v0.3.1", + "source": { + "type": "git", + "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git", + "reference": "05bce997da20acf873e6bf396276798f3cd2c76a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/05bce997da20acf873e6bf396276798f3cd2c76a", + "reference": "05bce997da20acf873e6bf396276798f3cd2c76a", + "shasum": "" + }, + "require": { + "jakub-onderka/php-console-color": "~0.1", + "php": ">=5.3.0" + }, + "require-dev": { + "jakub-onderka/php-code-style": "~1.0", + "jakub-onderka/php-parallel-lint": "~0.5", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~1.5" + }, + "type": "library", + "autoload": { + "psr-0": { + "JakubOnderka\\PhpConsoleHighlighter": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1581,20 +1545,70 @@ ], "authors": [ { - "name": "Jeremy Lindblom" + "name": "Jakub Onderka", + "email": "acci@acci.cz", + "homepage": "http://www.acci.cz/" } ], - "description": "Doing interesting things with closures like serialization.", + "time": "2014-07-14 20:59:35" + }, + { + "name": "jeremeamia/SuperClosure", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/jeremeamia/super_closure.git", + "reference": "b712f39c671e5ead60c7ebfe662545456aade833" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/b712f39c671e5ead60c7ebfe662545456aade833", + "reference": "b712f39c671e5ead60c7ebfe662545456aade833", + "shasum": "" + }, + "require": { + "nikic/php-parser": "~1.0", + "php": ">=5.4" + }, + "require-dev": { + "codeclimate/php-test-reporter": "~0.1.2", + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "psr-4": { + "SuperClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia", + "role": "Developer" + } + ], + "description": "Serialize Closure objects, including their context and binding", "homepage": "https://github.com/jeremeamia/super_closure", "keywords": [ "closure", "function", + "lambda", "parser", "serializable", "serialize", "tokenizer" ], - "time": "2013-10-09 04:20:00" + "time": "2015-03-11 20:06:43" }, { "name": "jsanc623/phpbenchtime", @@ -1638,50 +1652,54 @@ }, { "name": "laravel/framework", - "version": "v4.1.25", + "version": "v5.0.27", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "d6721488f1a166fd2a7e112540fef81975c393a7" + "reference": "4d6330118a295086ce9ff8eed2200d5b67f17688" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/d6721488f1a166fd2a7e112540fef81975c393a7", - "reference": "d6721488f1a166fd2a7e112540fef81975c393a7", + "url": "https://api.github.com/repos/laravel/framework/zipball/4d6330118a295086ce9ff8eed2200d5b67f17688", + "reference": "4d6330118a295086ce9ff8eed2200d5b67f17688", "shasum": "" }, "require": { - "classpreloader/classpreloader": "1.0.*", - "d11wtq/boris": "1.0.*", - "filp/whoops": "1.0.10", - "ircmaxell/password-compat": "1.0.*", - "jeremeamia/superclosure": "1.0.*", - "monolog/monolog": "1.*", - "nesbot/carbon": "1.*", - "patchwork/utf8": "1.1.*", - "php": ">=5.3.0", - "phpseclib/phpseclib": "0.3.*", - "predis/predis": "0.8.*", - "stack/builder": "1.0.*", - "swiftmailer/swiftmailer": "5.0.*", - "symfony/browser-kit": "2.4.*", - "symfony/console": "2.4.*", - "symfony/css-selector": "2.4.*", - "symfony/debug": "2.4.*", - "symfony/dom-crawler": "2.4.*", - "symfony/finder": "2.4.*", - "symfony/http-foundation": "2.4.*", - "symfony/http-kernel": "2.4.*", - "symfony/process": "2.4.*", - "symfony/routing": "2.4.*", - "symfony/translation": "2.4.*" + "classpreloader/classpreloader": "~1.2", + "danielstjules/stringy": "~1.8", + "doctrine/inflector": "~1.0", + "ext-mbstring": "*", + "ext-mcrypt": "*", + "ext-openssl": "*", + "ircmaxell/password-compat": "~1.0", + "jeremeamia/superclosure": "~2.0", + "league/flysystem": "~1.0", + "monolog/monolog": "~1.11", + "mtdowling/cron-expression": "~1.0", + "nesbot/carbon": "~1.0", + "php": ">=5.4.0", + "psy/psysh": "0.4.*", + "swiftmailer/swiftmailer": "~5.1", + "symfony/console": "2.6.*", + "symfony/debug": "2.6.*", + "symfony/finder": "2.6.*", + "symfony/http-foundation": "2.6.*", + "symfony/http-kernel": "2.6.*", + "symfony/process": "2.6.*", + "symfony/routing": "2.6.*", + "symfony/security-core": "2.6.*", + "symfony/translation": "2.6.*", + "symfony/var-dumper": "2.6.*", + "vlucas/phpdotenv": "~1.0" }, "replace": { "illuminate/auth": "self.version", + "illuminate/bus": "self.version", "illuminate/cache": "self.version", "illuminate/config": "self.version", "illuminate/console": "self.version", "illuminate/container": "self.version", + "illuminate/contracts": "self.version", "illuminate/cookie": "self.version", "illuminate/database": "self.version", "illuminate/encryption": "self.version", @@ -1690,11 +1708,11 @@ "illuminate/filesystem": "self.version", "illuminate/foundation": "self.version", "illuminate/hashing": "self.version", - "illuminate/html": "self.version", "illuminate/http": "self.version", "illuminate/log": "self.version", "illuminate/mail": "self.version", "illuminate/pagination": "self.version", + "illuminate/pipeline": "self.version", "illuminate/queue": "self.version", "illuminate/redis": "self.version", "illuminate/routing": "self.version", @@ -1702,36 +1720,42 @@ "illuminate/support": "self.version", "illuminate/translation": "self.version", "illuminate/validation": "self.version", - "illuminate/view": "self.version", - "illuminate/workbench": "self.version" + "illuminate/view": "self.version" }, "require-dev": { - "aws/aws-sdk-php": "2.6.*", - "iron-io/iron_mq": "1.5.*", - "mockery/mockery": "0.9.*", - "pda/pheanstalk": "2.1.*", - "phpunit/phpunit": "4.0.*" + "aws/aws-sdk-php": "~2.4", + "iron-io/iron_mq": "~1.5", + "mockery/mockery": "~0.9", + "pda/pheanstalk": "~3.0", + "phpunit/phpunit": "~4.0", + "predis/predis": "~1.0" }, "suggest": { - "doctrine/dbal": "Allow renaming columns and dropping SQLite columns." + "aws/aws-sdk-php": "Required to use the SQS queue driver (~2.4).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).", + "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers (~5.0).", + "iron-io/iron_mq": "Required to use the iron queue driver (~1.5).", + "league/flysystem-aws-s3-v2": "Required to use the Flysystem S3 driver (~1.0).", + "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).", + "predis/predis": "Required to use the redis cache and queue drivers (~1.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "5.0-dev" } }, "autoload": { "classmap": [ - [ - "src/Illuminate/Queue/IlluminateQueueClosure.php" - ] + "src/Illuminate/Queue/IlluminateQueueClosure.php" ], "files": [ + "src/Illuminate/Foundation/helpers.php", "src/Illuminate/Support/helpers.php" ], - "psr-0": { - "Illuminate": "src/" + "psr-4": { + "Illuminate\\": "src/Illuminate/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1741,76 +1765,99 @@ "authors": [ { "name": "Taylor Otwell", - "email": "taylorotwell@gmail.com", - "homepage": "https://github.com/taylorotwell", - "role": "Creator of Laravel" + "email": "taylorotwell@gmail.com" } ], "description": "The Laravel Framework.", + "homepage": "http://laravel.com", "keywords": [ "framework", "laravel" ], - "time": "2014-04-10 13:22:14" + "time": "2015-04-04 01:34:57" }, { - "name": "laravelbook/ardent", - "version": "v2.4.2", + "name": "league/flysystem", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/laravelbook/ardent.git", - "reference": "0a0238b8040abc1c71401ce27a8edf2619fa5bed" + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "3c2400a99ccc3be6884d40361890010449c6b447" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravelbook/ardent/zipball/0a0238b8040abc1c71401ce27a8edf2619fa5bed", - "reference": "0a0238b8040abc1c71401ce27a8edf2619fa5bed", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3c2400a99ccc3be6884d40361890010449c6b447", + "reference": "3c2400a99ccc3be6884d40361890010449c6b447", "shasum": "" }, "require": { - "illuminate/database": "~4.1", - "illuminate/support": "~4.1", - "illuminate/validation": "~4.1", - "php": ">=5.3.0" + "php": ">=5.4.0" + }, + "require-dev": { + "ext-fileinfo": "*", + "league/phpunit-coverage-listener": "~1.1", + "mockery/mockery": "~0.9", + "phpspec/phpspec": "~2.0", + "phpspec/prophecy-phpunit": "~1.0", + "phpunit/phpunit": "~4.1", + "predis/predis": "~1.0", + "tedivm/stash": "~0.12.0" + }, + "suggest": { + "ext-fileinfo": "Required for MimeType", + "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", + "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", + "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", + "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", + "league/flysystem-copy": "Allows you to use Copy.com storage", + "league/flysystem-dropbox": "Allows you to use Dropbox storage", + "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", + "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", + "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", + "league/flysystem-webdav": "Allows you to use WebDAV storage", + "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", + "predis/predis": "Allows you to use Predis for caching" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, "autoload": { - "psr-0": { - "LaravelBook\\Ardent": "src/" + "psr-4": { + "League\\Flysystem\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Max Ehsan", - "email": "contact@laravelbook.com", - "homepage": "http://laravelbook.com/", - "role": "Developer" - }, - { - "name": "Igor Santos", - "email": "igorsantos07@gmail.com", - "homepage": "http://www.igorsantos.com.br", - "role": "Developer" + "name": "Frank de Jonge", + "email": "info@frenky.net" } ], - "description": "Self-validating smart models for Laravel 4's Eloquent O/RM", - "homepage": "http://laravelbook.com/", + "description": "Many filesystems, one API.", "keywords": [ - "Active Record", - "activerecord", - "database", - "eloquent", - "framework", - "laravel", - "orm", - "sql", - "validation" + "Cloud Files", + "WebDAV", + "aws", + "cloud", + "copy.com", + "dropbox", + "file systems", + "files", + "filesystem", + "ftp", + "rackspace", + "remote", + "s3", + "sftp", + "storage" ], - "time": "2014-02-25 20:39:04" + "time": "2015-03-29 14:01:43" }, { "name": "lokielse/omnipay-alipay", @@ -1818,12 +1865,12 @@ "source": { "type": "git", "url": "https://github.com/lokielse/omnipay-alipay.git", - "reference": "50b35d2e82c47bf3508e287d3f39954aea6c2b83" + "reference": "ee43b64cb0968eed870cab77027bd0ba0d3754b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lokielse/omnipay-alipay/zipball/50b35d2e82c47bf3508e287d3f39954aea6c2b83", - "reference": "50b35d2e82c47bf3508e287d3f39954aea6c2b83", + "url": "https://api.github.com/repos/lokielse/omnipay-alipay/zipball/ee43b64cb0968eed870cab77027bd0ba0d3754b8", + "reference": "ee43b64cb0968eed870cab77027bd0ba0d3754b8", "shasum": "" }, "require": { @@ -1859,25 +1906,26 @@ "payment", "purchase" ], - "time": "2014-07-30 07:24:29" + "time": "2015-03-26 11:54:18" }, { "name": "maximebf/debugbar", - "version": "dev-master", + "version": "v1.10.4", "source": { "type": "git", "url": "https://github.com/maximebf/php-debugbar.git", - "reference": "5aa805cd4b369cc71f75b933e5b38f28ca7fc04b" + "reference": "7b2006e6e095126b5a061ec33fca3d90ea8a8219" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/5aa805cd4b369cc71f75b933e5b38f28ca7fc04b", - "reference": "5aa805cd4b369cc71f75b933e5b38f28ca7fc04b", + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/7b2006e6e095126b5a061ec33fca3d90ea8a8219", + "reference": "7b2006e6e095126b5a061ec33fca3d90ea8a8219", "shasum": "" }, "require": { "php": ">=5.3.0", - "psr/log": "~1.0" + "psr/log": "~1.0", + "symfony/var-dumper": "~2.6" }, "require-dev": { "phpunit/phpunit": "~4.0" @@ -1914,11 +1962,11 @@ "keywords": [ "debug" ], - "time": "2014-11-23 12:29:32" + "time": "2015-02-05 07:51:20" }, { "name": "mfauveau/omnipay-pacnet", - "version": "dev-master", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/mfauveau/omnipay-pacnet.git", @@ -1973,16 +2021,16 @@ }, { "name": "monolog/monolog", - "version": "dev-master", + "version": "1.13.1", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "ab41ed9a94196ce2793f400b88313918b4fc64dc" + "reference": "c31a2c4e8db5da8b46c74cf275d7f109c0f249ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/ab41ed9a94196ce2793f400b88313918b4fc64dc", - "reference": "ab41ed9a94196ce2793f400b88313918b4fc64dc", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c31a2c4e8db5da8b46c74cf275d7f109c0f249ac", + "reference": "c31a2c4e8db5da8b46c74cf275d7f109c0f249ac", "shasum": "" }, "require": { @@ -1996,9 +2044,10 @@ "aws/aws-sdk-php": "~2.4, >2.4.8", "doctrine/couchdb": "~1.0@dev", "graylog2/gelf-php": "~1.0", - "phpunit/phpunit": "~3.7.0", + "phpunit/phpunit": "~4.0", "raven/raven": "~0.5", "ruflin/elastica": "0.90.*", + "swiftmailer/swiftmailer": "~5.3", "videlalvaro/php-amqplib": "~2.4" }, "suggest": { @@ -2015,7 +2064,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11.x-dev" + "dev-master": "1.13.x-dev" } }, "autoload": { @@ -2041,24 +2090,69 @@ "logging", "psr-3" ], - "time": "2014-11-11 12:05:51" + "time": "2015-03-09 09:58:04" }, { - "name": "nesbot/carbon", - "version": "1.13.0", + "name": "mtdowling/cron-expression", + "version": "v1.0.4", "source": { "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "5cb6e71055f7b0b57956b73d324cc4de31278f42" + "url": "https://github.com/mtdowling/cron-expression.git", + "reference": "fd92e883195e5dfa77720b1868cf084b08be4412" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/5cb6e71055f7b0b57956b73d324cc4de31278f42", - "reference": "5cb6e71055f7b0b57956b73d324cc4de31278f42", + "url": "https://api.github.com/repos/mtdowling/cron-expression/zipball/fd92e883195e5dfa77720b1868cf084b08be4412", + "reference": "fd92e883195e5dfa77720b1868cf084b08be4412", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "autoload": { + "psr-0": { + "Cron": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "time": "2015-01-11 23:07:46" + }, + { + "name": "nesbot/carbon", + "version": "1.18.0", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "99e2f69f7bdc2cc4334b2d00f1e0ba450623ea36" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/99e2f69f7bdc2cc4334b2d00f1e0ba450623ea36", + "reference": "99e2f69f7bdc2cc4334b2d00f1e0ba450623ea36", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "symfony/translation": "2.6.*" }, "require-dev": { "phpunit/phpunit": "~4.0" @@ -2081,42 +2175,42 @@ } ], "description": "A simple API extension for DateTime.", - "homepage": "https://github.com/briannesbitt/Carbon", + "homepage": "http://carbon.nesbot.com", "keywords": [ "date", "datetime", "time" ], - "time": "2014-09-26 02:52:02" + "time": "2015-03-26 03:05:57" }, { "name": "nikic/php-parser", - "version": "0.9.x-dev", + "version": "v1.2.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "ef70767475434bdb3615b43c327e2cae17ef12eb" + "reference": "08f97eb4efa029e2fafb6d8c98b71731bf0cf621" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ef70767475434bdb3615b43c327e2cae17ef12eb", - "reference": "ef70767475434bdb3615b43c327e2cae17ef12eb", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/08f97eb4efa029e2fafb6d8c98b71731bf0cf621", + "reference": "08f97eb4efa029e2fafb6d8c98b71731bf0cf621", "shasum": "" }, "require": { "ext-tokenizer": "*", - "php": ">=5.2" + "php": ">=5.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.9-dev" + "dev-master": "1.2-dev" } }, "autoload": { - "psr-0": { - "PHPParser": "lib/" - } + "files": [ + "lib/bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2132,7 +2226,7 @@ "parser", "php" ], - "time": "2014-07-23 18:24:17" + "time": "2015-04-03 14:33:59" }, { "name": "omnipay/2checkout", @@ -2195,16 +2289,16 @@ }, { "name": "omnipay/authorizenet", - "version": "v2.1.1", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay-authorizenet.git", - "reference": "344dc83cccfe772c6c6d02183bc1d62323bd605c" + "reference": "7b5166975757bdf951ce39bf9e116b069d9acc5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/omnipay-authorizenet/zipball/344dc83cccfe772c6c6d02183bc1d62323bd605c", - "reference": "344dc83cccfe772c6c6d02183bc1d62323bd605c", + "url": "https://api.github.com/repos/thephpleague/omnipay-authorizenet/zipball/7b5166975757bdf951ce39bf9e116b069d9acc5f", + "reference": "7b5166975757bdf951ce39bf9e116b069d9acc5f", "shasum": "" }, "require": { @@ -2250,11 +2344,11 @@ "pay", "payment" ], - "time": "2014-09-17 00:38:19" + "time": "2015-01-19 19:06:04" }, { "name": "omnipay/buckaroo", - "version": "dev-master", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay-buckaroo.git", @@ -2311,16 +2405,16 @@ }, { "name": "omnipay/cardsave", - "version": "v2.1.1", + "version": "2.1.2", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay-cardsave.git", - "reference": "74f4656bb1b4424de011f2560cbb0d7c9a830f18" + "reference": "368fb2f56adb5be2ffcb3c29a7ddcd585cb41a04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/omnipay-cardsave/zipball/74f4656bb1b4424de011f2560cbb0d7c9a830f18", - "reference": "74f4656bb1b4424de011f2560cbb0d7c9a830f18", + "url": "https://api.github.com/repos/thephpleague/omnipay-cardsave/zipball/368fb2f56adb5be2ffcb3c29a7ddcd585cb41a04", + "reference": "368fb2f56adb5be2ffcb3c29a7ddcd585cb41a04", "shasum": "" }, "require": { @@ -2365,20 +2459,20 @@ "pay", "payment" ], - "time": "2014-09-17 00:37:27" + "time": "2014-09-21 02:27:16" }, { "name": "omnipay/coinbase", - "version": "dev-master", + "version": "v2.0.4", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay-coinbase.git", - "reference": "4cdea1a16104505e54960adbf70470ed2495e071" + "reference": "69c4f07d88ef3bdb2b42cd90234b358b641dfa29" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/omnipay-coinbase/zipball/4cdea1a16104505e54960adbf70470ed2495e071", - "reference": "4cdea1a16104505e54960adbf70470ed2495e071", + "url": "https://api.github.com/repos/thephpleague/omnipay-coinbase/zipball/69c4f07d88ef3bdb2b42cd90234b358b641dfa29", + "reference": "69c4f07d88ef3bdb2b42cd90234b358b641dfa29", "shasum": "" }, "require": { @@ -2422,24 +2516,24 @@ "pay", "payment" ], - "time": "2014-09-17 00:41:54" + "time": "2015-03-06 05:35:39" }, { "name": "omnipay/common", - "version": "v2.3.1", + "version": "v2.3.4", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay-common.git", - "reference": "2c83349327ed3534237043a7a882cbaff55a7866" + "reference": "fcd5a606713d11536c89315a5ae02d965a737c21" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/omnipay-common/zipball/2c83349327ed3534237043a7a882cbaff55a7866", - "reference": "2c83349327ed3534237043a7a882cbaff55a7866", + "url": "https://api.github.com/repos/thephpleague/omnipay-common/zipball/fcd5a606713d11536c89315a5ae02d965a737c21", + "reference": "fcd5a606713d11536c89315a5ae02d965a737c21", "shasum": "" }, "require": { - "guzzle/http": "~3.1", + "guzzle/guzzle": "~3.9", "php": ">=5.3.2", "symfony/http-foundation": "~2.1" }, @@ -2485,7 +2579,25 @@ "TargetPay_Ideal", "TargetPay_Mrcash", "TwoCheckout", - "WorldPay" + "WorldPay", + "Alipay Bank", + "AliPay Dual Func", + "Alipay Express", + "Alipay Mobile Express", + "Alipay Secured", + "Alipay Wap Express", + "Cybersource", + "DataCash", + "Ecopayz", + "Neteller", + "Pacnet", + "PaymentSense", + "Realex Remote", + "SecPay (PayPoint.net)", + "Sisow", + "Skrill", + "YandexMoney", + "YandexMoneyIndividual" ] }, "autoload": { @@ -2520,7 +2632,7 @@ "payment", "purchase" ], - "time": "2014-09-17 00:38:32" + "time": "2015-03-30 14:34:46" }, { "name": "omnipay/dummy", @@ -2581,16 +2693,16 @@ }, { "name": "omnipay/eway", - "version": "v2.1.1", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay-eway.git", - "reference": "031236cf5653b5a021a5eb5565aceb923f64d964" + "reference": "0dcf28596f0382fbfc3ee229e98e60798675ed16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/omnipay-eway/zipball/031236cf5653b5a021a5eb5565aceb923f64d964", - "reference": "031236cf5653b5a021a5eb5565aceb923f64d964", + "url": "https://api.github.com/repos/thephpleague/omnipay-eway/zipball/0dcf28596f0382fbfc3ee229e98e60798675ed16", + "reference": "0dcf28596f0382fbfc3ee229e98e60798675ed16", "shasum": "" }, "require": { @@ -2634,7 +2746,7 @@ "pay", "payment" ], - "time": "2014-09-17 00:39:29" + "time": "2015-03-30 00:28:33" }, { "name": "omnipay/firstdata", @@ -2869,16 +2981,16 @@ }, { "name": "omnipay/mollie", - "version": "dev-master", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay-mollie.git", - "reference": "b60a582174b7a31660f8de3b287d09d6492e2c5a" + "reference": "ea3830b0aaa845430387e5afc1f638be18a152ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/omnipay-mollie/zipball/b60a582174b7a31660f8de3b287d09d6492e2c5a", - "reference": "b60a582174b7a31660f8de3b287d09d6492e2c5a", + "url": "https://api.github.com/repos/thephpleague/omnipay-mollie/zipball/ea3830b0aaa845430387e5afc1f638be18a152ec", + "reference": "ea3830b0aaa845430387e5afc1f638be18a152ec", "shasum": "" }, "require": { @@ -2922,20 +3034,20 @@ "pay", "payment" ], - "time": "2014-10-24 20:04:37" + "time": "2014-10-15 14:25:03" }, { "name": "omnipay/multisafepay", - "version": "v2.1.1", + "version": "V2.2.0", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay-multisafepay.git", - "reference": "29f1b794af3abc7705365009255932fbcddca305" + "reference": "a0f09abf404ca0dd21b553578d7f95df2bfa5318" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/omnipay-multisafepay/zipball/29f1b794af3abc7705365009255932fbcddca305", - "reference": "29f1b794af3abc7705365009255932fbcddca305", + "url": "https://api.github.com/repos/thephpleague/omnipay-multisafepay/zipball/a0f09abf404ca0dd21b553578d7f95df2bfa5318", + "reference": "a0f09abf404ca0dd21b553578d7f95df2bfa5318", "shasum": "" }, "require": { @@ -2980,20 +3092,20 @@ "pay", "payment" ], - "time": "2014-09-17 00:38:11" + "time": "2015-01-14 04:01:43" }, { "name": "omnipay/netaxept", - "version": "v2.1.1", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay-netaxept.git", - "reference": "1b99babf51d240b23db95464c5daa3e169a3c502" + "reference": "a661c212428703175f17e3f8f0a32f24b06fe9f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/omnipay-netaxept/zipball/1b99babf51d240b23db95464c5daa3e169a3c502", - "reference": "1b99babf51d240b23db95464c5daa3e169a3c502", + "url": "https://api.github.com/repos/thephpleague/omnipay-netaxept/zipball/a661c212428703175f17e3f8f0a32f24b06fe9f8", + "reference": "a661c212428703175f17e3f8f0a32f24b06fe9f8", "shasum": "" }, "require": { @@ -3037,7 +3149,7 @@ "pay", "payment" ], - "time": "2014-09-17 00:39:10" + "time": "2015-01-12 16:10:59" }, { "name": "omnipay/netbanx", @@ -3098,16 +3210,16 @@ }, { "name": "omnipay/omnipay", - "version": "v2.3.1", + "version": "2.3.2", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay.git", - "reference": "ae75717ec00b93069768102af11b9dd909c78bd3" + "reference": "e9e6d95a2e7c3641ba31c985334d82e39dbd6078" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/omnipay/zipball/ae75717ec00b93069768102af11b9dd909c78bd3", - "reference": "ae75717ec00b93069768102af11b9dd909c78bd3", + "url": "https://api.github.com/repos/thephpleague/omnipay/zipball/e9e6d95a2e7c3641ba31c985334d82e39dbd6078", + "reference": "e9e6d95a2e7c3641ba31c985334d82e39dbd6078", "shasum": "" }, "require": { @@ -3123,7 +3235,7 @@ "omnipay/gocardless": "~2.0", "omnipay/manual": "~2.0", "omnipay/migs": "~2.0", - "omnipay/mollie": "~2.0", + "omnipay/mollie": "~3.0", "omnipay/multisafepay": "~2.0", "omnipay/netaxept": "~2.0", "omnipay/netbanx": "~2.0", @@ -3206,7 +3318,7 @@ "twocheckout", "worldpay" ], - "time": "2014-09-17 00:29:37" + "time": "2014-12-10 13:55:00" }, { "name": "omnipay/payfast", @@ -3387,16 +3499,16 @@ }, { "name": "omnipay/paypal", - "version": "dev-master", + "version": "v2.4.1", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay-paypal.git", - "reference": "10c4cde14064bb214ca71fddb541dfac841c40c3" + "reference": "feacf47b52f599c8271625c44abc869178840ce4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/omnipay-paypal/zipball/10c4cde14064bb214ca71fddb541dfac841c40c3", - "reference": "10c4cde14064bb214ca71fddb541dfac841c40c3", + "url": "https://api.github.com/repos/thephpleague/omnipay-paypal/zipball/feacf47b52f599c8271625c44abc869178840ce4", + "reference": "feacf47b52f599c8271625c44abc869178840ce4", "shasum": "" }, "require": { @@ -3441,7 +3553,7 @@ "paypal", "purchase" ], - "time": "2014-11-21 15:23:24" + "time": "2015-03-10 23:39:59" }, { "name": "omnipay/pin", @@ -3502,16 +3614,16 @@ }, { "name": "omnipay/sagepay", - "version": "v2.1.1", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay-sagepay.git", - "reference": "2d24d15c7a78e2fe1ffb7af705948a60a6492dc6" + "reference": "899507095428fa54276ba5ca89f11fd7f8fd78ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/omnipay-sagepay/zipball/2d24d15c7a78e2fe1ffb7af705948a60a6492dc6", - "reference": "2d24d15c7a78e2fe1ffb7af705948a60a6492dc6", + "url": "https://api.github.com/repos/thephpleague/omnipay-sagepay/zipball/899507095428fa54276ba5ca89f11fd7f8fd78ab", + "reference": "899507095428fa54276ba5ca89f11fd7f8fd78ab", "shasum": "" }, "require": { @@ -3557,7 +3669,7 @@ "sage pay", "sagepay" ], - "time": "2014-09-17 00:40:02" + "time": "2015-04-02 17:46:20" }, { "name": "omnipay/securepay", @@ -3618,16 +3730,16 @@ }, { "name": "omnipay/stripe", - "version": "v2.1.0", + "version": "v2.2.0", "source": { "type": "git", - "url": "https://github.com/omnipay/stripe.git", - "reference": "99c82dc42c7c0b9ec58d8c4fb917f3dc5d1c23e2" + "url": "https://github.com/thephpleague/omnipay-stripe.git", + "reference": "b3ed1028bb72837905012311fa74259d9ed8ba3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/omnipay/stripe/zipball/99c82dc42c7c0b9ec58d8c4fb917f3dc5d1c23e2", - "reference": "99c82dc42c7c0b9ec58d8c4fb917f3dc5d1c23e2", + "url": "https://api.github.com/repos/thephpleague/omnipay-stripe/zipball/b3ed1028bb72837905012311fa74259d9ed8ba3c", + "reference": "b3ed1028bb72837905012311fa74259d9ed8ba3c", "shasum": "" }, "require": { @@ -3658,11 +3770,11 @@ }, { "name": "Omnipay Contributors", - "homepage": "https://github.com/omnipay/stripe/contributors" + "homepage": "https://github.com/thephpleague/omnipay-stripe/contributors" } ], "description": "Stripe driver for the Omnipay payment processing library", - "homepage": "https://github.com/omnipay/stripe", + "homepage": "https://github.com/thephpleague/omnipay-stripe", "keywords": [ "gateway", "merchant", @@ -3671,7 +3783,7 @@ "payment", "stripe" ], - "time": "2014-04-08 07:07:41" + "time": "2015-03-16 19:24:07" }, { "name": "omnipay/targetpay", @@ -3787,91 +3899,38 @@ ], "time": "2014-09-17 00:37:18" }, - { - "name": "patchwork/utf8", - "version": "1.1.x-dev", - "source": { - "type": "git", - "url": "https://github.com/tchwork/utf8.git", - "reference": "099381bb06bb09161107964f7587fa254e69013d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tchwork/utf8/zipball/099381bb06bb09161107964f7587fa254e69013d", - "reference": "099381bb06bb09161107964f7587fa254e69013d", - "shasum": "" - }, - "require": { - "lib-pcre": ">=7.3", - "php": ">=5.3.0" - }, - "suggest": { - "ext-iconv": "Use iconv for best performance", - "ext-intl": "Use Intl for best performance", - "ext-mbstring": "Use Mbstring for best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-0": { - "Patchwork": "class/", - "Normalizer": "class/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "(Apache-2.0 or GPL-2.0)" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - } - ], - "description": "Portable and performant UTF-8, Unicode and Grapheme Clusters for PHP", - "homepage": "https://github.com/tchwork/utf8", - "keywords": [ - "grapheme", - "i18n", - "unicode", - "utf-8", - "utf8" - ], - "time": "2014-11-10 16:15:34" - }, { "name": "patricktalmadge/bootstrapper", - "version": "4.1.19", + "version": "5.5.3", "source": { "type": "git", "url": "https://github.com/patricktalmadge/bootstrapper.git", - "reference": "aff9d17f31812a2b2f4ca355d7796e6890eedc3f" + "reference": "0c5d5199c887f8a730899963be37a055d1d5ba29" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/patricktalmadge/bootstrapper/zipball/aff9d17f31812a2b2f4ca355d7796e6890eedc3f", - "reference": "aff9d17f31812a2b2f4ca355d7796e6890eedc3f", + "url": "https://api.github.com/repos/patricktalmadge/bootstrapper/zipball/0c5d5199c887f8a730899963be37a055d1d5ba29", + "reference": "0c5d5199c887f8a730899963be37a055d1d5ba29", "shasum": "" }, "require": { - "anahkiasen/html-object": "~1", - "anahkiasen/underscore-php": "~1", - "illuminate/html": "~4.1", - "illuminate/support": "~4.1", - "php": ">=5.3.0" + "illuminate/config": "~4.2||~5", + "illuminate/html": "~4.2||~5", + "illuminate/routing": "~4.2||~5", + "illuminate/support": "~4.2||~5", + "php": ">=5.4.0", + "twbs/bootstrap": "~3" }, "require-dev": { - "mockery/mockery": "*", - "phpunit/phpunit": "*" + "akeneo/phpspec-skip-example-extension": "~1.1", + "mockery/mockery": "~0.9", + "phpspec/phpspec": "~2" }, "type": "library", "autoload": { - "psr-0": { - "Bootstrapper": "src" + "psr-4": { + "Bootstrapper\\": "src\\Bootstrapper", + "DummyClasses\\": "tests\\DummyClasses" } }, "notification-url": "https://packagist.org/downloads/", @@ -3897,20 +3956,20 @@ "bootstrap", "laravel" ], - "time": "2014-06-23 09:37:18" + "time": "2015-02-28 17:09:35" }, { "name": "phpdocumentor/reflection-docblock", - "version": "dev-master", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "fd0ac2007401505fb596fdfb859ec4e103d69e55" + "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/fd0ac2007401505fb596fdfb859ec4e103d69e55", - "reference": "fd0ac2007401505fb596fdfb859ec4e103d69e55", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", + "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", "shasum": "" }, "require": { @@ -3946,176 +4005,23 @@ "email": "mike.vanriel@naenius.com" } ], - "time": "2014-09-02 14:26:20" - }, - { - "name": "phpseclib/phpseclib", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "c0511f2df456014da07a2e607ada5510904c6db3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/c0511f2df456014da07a2e607ada5510904c6db3", - "reference": "c0511f2df456014da07a2e607ada5510904c6db3", - "shasum": "" - }, - "require": { - "php": ">=5.0.0" - }, - "require-dev": { - "phing/phing": "2.7.*", - "phpunit/phpunit": "4.0.*", - "sami/sami": "1.*", - "squizlabs/php_codesniffer": "1.*" - }, - "suggest": { - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a wide variety of cryptographic operations.", - "pear-pear/PHP_Compat": "Install PHP_Compat to get phpseclib working on PHP < 4.3.3." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.3-dev" - } - }, - "autoload": { - "psr-0": { - "Crypt": "phpseclib/", - "File": "phpseclib/", - "Math": "phpseclib/", - "Net": "phpseclib/", - "System": "phpseclib/" - }, - "files": [ - "phpseclib/Crypt/Random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "phpseclib/" - ], - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" - } - ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net", - "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" - ], - "time": "2014-11-20 09:58:23" - }, - { - "name": "predis/predis", - "version": "0.8.x-dev", - "source": { - "type": "git", - "url": "https://github.com/nrk/predis.git", - "reference": "4123fcd85d61354c6c9900db76c9597dbd129bf6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nrk/predis/zipball/4123fcd85d61354c6c9900db76c9597dbd129bf6", - "reference": "4123fcd85d61354c6c9900db76c9597dbd129bf6", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "ext-curl": "Allows access to Webdis when paired with phpiredis", - "ext-phpiredis": "Allows faster serialization and deserialization of the Redis protocol" - }, - "type": "library", - "autoload": { - "psr-0": { - "Predis": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Daniele Alessandri", - "email": "suppakilla@gmail.com", - "homepage": "http://clorophilla.net" - } - ], - "description": "Flexible and feature-complete PHP client library for Redis", - "homepage": "http://github.com/nrk/predis", - "keywords": [ - "nosql", - "predis", - "redis" - ], - "time": "2014-08-01 09:43:10" + "time": "2015-02-03 12:10:50" }, { "name": "psr/log", - "version": "dev-master", + "version": "1.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "a78d6504ff5d4367497785ab2ade91db3a9fbe11" + "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/a78d6504ff5d4367497785ab2ade91db3a9fbe11", - "reference": "a78d6504ff5d4367497785ab2ade91db3a9fbe11", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", + "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", "shasum": "" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, "autoload": { "psr-0": { "Psr\\Log\\": "" @@ -4137,39 +4043,56 @@ "psr", "psr-3" ], - "time": "2014-01-18 15:33:09" + "time": "2012-12-21 11:40:51" }, { - "name": "stack/builder", - "version": "dev-master", + "name": "psy/psysh", + "version": "v0.4.4", "source": { "type": "git", - "url": "https://github.com/stackphp/builder.git", - "reference": "c1f8a4693b55c563405024f708a76ef576c3b276" + "url": "https://github.com/bobthecow/psysh.git", + "reference": "489816db71649bd95b416e3ed9062d40528ab0ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/stackphp/builder/zipball/c1f8a4693b55c563405024f708a76ef576c3b276", - "reference": "c1f8a4693b55c563405024f708a76ef576c3b276", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/489816db71649bd95b416e3ed9062d40528ab0ac", + "reference": "489816db71649bd95b416e3ed9062d40528ab0ac", "shasum": "" }, "require": { + "dnoegel/php-xdg-base-dir": "0.1", + "jakub-onderka/php-console-highlighter": "0.3.*", + "nikic/php-parser": "~1.0", "php": ">=5.3.0", - "symfony/http-foundation": "~2.1", - "symfony/http-kernel": "~2.1" + "symfony/console": "~2.3.10|~2.4.2|~2.5" }, "require-dev": { - "silex/silex": "~1.0" + "fabpot/php-cs-fixer": "~1.5", + "phpunit/phpunit": "~3.7|~4.0", + "squizlabs/php_codesniffer": "~2.0", + "symfony/finder": "~2.1|~3.0" }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", + "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history." + }, + "bin": [ + "bin/psysh" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-develop": "0.4.x-dev" } }, "autoload": { + "files": [ + "src/Psy/functions.php" + ], "psr-0": { - "Stack": "src" + "Psy\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -4178,37 +4101,45 @@ ], "authors": [ { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" } ], - "description": "Builder for stack middlewares based on HttpKernelInterface.", + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", "keywords": [ - "stack" + "REPL", + "console", + "interactive", + "shell" ], - "time": "2014-11-23 20:37:11" + "time": "2015-03-26 18:43:54" }, { "name": "swiftmailer/swiftmailer", - "version": "v5.0.3", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "32edc3b0de0fdc1b10f5c4912e8677b3f411a230" + "reference": "31454f258f10329ae7c48763eb898a75c39e0a9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/32edc3b0de0fdc1b10f5c4912e8677b3f411a230", - "reference": "32edc3b0de0fdc1b10f5c4912e8677b3f411a230", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/31454f258f10329ae7c48763eb898a75c39e0a9f", + "reference": "31454f258f10329ae7c48763eb898a75c39e0a9f", "shasum": "" }, "require": { - "php": ">=5.2.4" + "php": ">=5.3.3" + }, + "require-dev": { + "mockery/mockery": "~0.9.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.4-dev" } }, "autoload": { @@ -4222,11 +4153,11 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Chris Corbyn" }, { - "name": "Chris Corbyn" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" } ], "description": "Swiftmailer, free feature-rich PHP mailer", @@ -4235,83 +4166,29 @@ "mail", "mailer" ], - "time": "2013-12-03 13:33:24" - }, - { - "name": "symfony/browser-kit", - "version": "2.4.x-dev", - "target-dir": "Symfony/Component/BrowserKit", - "source": { - "type": "git", - "url": "https://github.com/symfony/BrowserKit.git", - "reference": "027accb7a418046887680764bfbeeebc84ecf5a6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/027accb7a418046887680764bfbeeebc84ecf5a6", - "reference": "027accb7a418046887680764bfbeeebc84ecf5a6", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "symfony/dom-crawler": "~2.0" - }, - "require-dev": { - "symfony/css-selector": "~2.0", - "symfony/process": "~2.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\BrowserKit\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony BrowserKit Component", - "homepage": "http://symfony.com", - "time": "2014-09-22 08:51:05" + "time": "2015-03-14 06:06:39" }, { "name": "symfony/class-loader", - "version": "2.6.x-dev", + "version": "v2.6.6", "target-dir": "Symfony/Component/ClassLoader", "source": { "type": "git", "url": "https://github.com/symfony/ClassLoader.git", - "reference": "b403af3d4fa3a2c3c926121c05042107e3a5b916" + "reference": "861765b3e5f32979de5bd19ad2577cbb830a29d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/b403af3d4fa3a2c3c926121c05042107e3a5b916", - "reference": "b403af3d4fa3a2c3c926121c05042107e3a5b916", + "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/861765b3e5f32979de5bd19ad2577cbb830a29d5", + "reference": "861765b3e5f32979de5bd19ad2577cbb830a29d5", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "symfony/finder": "~2.0" + "symfony/finder": "~2.0,>=2.0.5", + "symfony/phpunit-bridge": "~2.7" }, "type": "library", "extra": { @@ -4340,36 +4217,41 @@ ], "description": "Symfony ClassLoader Component", "homepage": "http://symfony.com", - "time": "2014-11-20 13:24:23" + "time": "2015-03-27 10:19:51" }, { "name": "symfony/console", - "version": "2.4.x-dev", + "version": "v2.6.6", "target-dir": "Symfony/Component/Console", "source": { "type": "git", "url": "https://github.com/symfony/Console.git", - "reference": "39dd1c85ffdfc3c5fb008019dd027af05f64ec36" + "reference": "5b91dc4ed5eb08553f57f6df04c4730a73992667" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/39dd1c85ffdfc3c5fb008019dd027af05f64ec36", - "reference": "39dd1c85ffdfc3c5fb008019dd027af05f64ec36", + "url": "https://api.github.com/repos/symfony/Console/zipball/5b91dc4ed5eb08553f57f6df04c4730a73992667", + "reference": "5b91dc4ed5eb08553f57f6df04c4730a73992667", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "symfony/event-dispatcher": "~2.1" + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.1", + "symfony/phpunit-bridge": "~2.7", + "symfony/process": "~2.1" }, "suggest": { - "symfony/event-dispatcher": "" + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/process": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -4393,80 +4275,35 @@ ], "description": "Symfony Console Component", "homepage": "http://symfony.com", - "time": "2014-09-22 08:51:05" - }, - { - "name": "symfony/css-selector", - "version": "2.4.x-dev", - "target-dir": "Symfony/Component/CssSelector", - "source": { - "type": "git", - "url": "https://github.com/symfony/CssSelector.git", - "reference": "4e9ddc09c13475fb1a52fb578a8899c8303966c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/CssSelector/zipball/4e9ddc09c13475fb1a52fb578a8899c8303966c5", - "reference": "4e9ddc09c13475fb1a52fb578a8899c8303966c5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\CssSelector\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony CssSelector Component", - "homepage": "http://symfony.com", - "time": "2014-09-22 08:51:05" + "time": "2015-03-30 15:54:10" }, { "name": "symfony/debug", - "version": "2.4.x-dev", + "version": "v2.6.6", "target-dir": "Symfony/Component/Debug", "source": { "type": "git", "url": "https://github.com/symfony/Debug.git", - "reference": "17f9a22782f51ca18724b6713671cf0148b86043" + "reference": "d49a46a20a8f0544aedac54466750ad787d3d3e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Debug/zipball/17f9a22782f51ca18724b6713671cf0148b86043", - "reference": "17f9a22782f51ca18724b6713671cf0148b86043", + "url": "https://api.github.com/repos/symfony/Debug/zipball/d49a46a20a8f0544aedac54466750ad787d3d3e3", + "reference": "d49a46a20a8f0544aedac54466750ad787d3d3e3", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.3", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" }, "require-dev": { + "symfony/class-loader": "~2.2", "symfony/http-foundation": "~2.1", - "symfony/http-kernel": "~2.1" + "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2", + "symfony/phpunit-bridge": "~2.7" }, "suggest": { "symfony/http-foundation": "", @@ -4475,7 +4312,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -4499,74 +4336,21 @@ ], "description": "Symfony Debug Component", "homepage": "http://symfony.com", - "time": "2014-09-28 15:03:21" - }, - { - "name": "symfony/dom-crawler", - "version": "2.4.x-dev", - "target-dir": "Symfony/Component/DomCrawler", - "source": { - "type": "git", - "url": "https://github.com/symfony/DomCrawler.git", - "reference": "eea2c3d5c16f6319d0122153594fdb66dfba1ca1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/eea2c3d5c16f6319d0122153594fdb66dfba1ca1", - "reference": "eea2c3d5c16f6319d0122153594fdb66dfba1ca1", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/css-selector": "~2.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\DomCrawler\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony DomCrawler Component", - "homepage": "http://symfony.com", - "time": "2014-09-22 08:51:05" + "time": "2015-03-22 16:55:57" }, { "name": "symfony/event-dispatcher", - "version": "2.7.x-dev", + "version": "v2.6.6", "target-dir": "Symfony/Component/EventDispatcher", "source": { "type": "git", "url": "https://github.com/symfony/EventDispatcher.git", - "reference": "30e571ce1bba949b44f49b977966898a41c77a01" + "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/30e571ce1bba949b44f49b977966898a41c77a01", - "reference": "30e571ce1bba949b44f49b977966898a41c77a01", + "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/70f7c8478739ad21e3deef0d977b38c77f1fb284", + "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284", "shasum": "" }, "require": { @@ -4574,10 +4358,11 @@ }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~2.0", + "symfony/config": "~2.0,>=2.0.5", "symfony/dependency-injection": "~2.6", "symfony/expression-language": "~2.6", - "symfony/stopwatch": "~2.2" + "symfony/phpunit-bridge": "~2.7", + "symfony/stopwatch": "~2.3" }, "suggest": { "symfony/dependency-injection": "", @@ -4586,7 +4371,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -4610,30 +4395,33 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "http://symfony.com", - "time": "2014-11-20 13:24:30" + "time": "2015-03-13 17:37:22" }, { "name": "symfony/filesystem", - "version": "2.7.x-dev", + "version": "v2.6.6", "target-dir": "Symfony/Component/Filesystem", "source": { "type": "git", "url": "https://github.com/symfony/Filesystem.git", - "reference": "5bbd9f52cd5ebf7ea85f447b779fcfa8a25a95e7" + "reference": "4983964b3693e4f13449cb3800c64a9112c301b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Filesystem/zipball/5bbd9f52cd5ebf7ea85f447b779fcfa8a25a95e7", - "reference": "5bbd9f52cd5ebf7ea85f447b779fcfa8a25a95e7", + "url": "https://api.github.com/repos/symfony/Filesystem/zipball/4983964b3693e4f13449cb3800c64a9112c301b4", + "reference": "4983964b3693e4f13449cb3800c64a9112c301b4", "shasum": "" }, "require": { "php": ">=5.3.3" }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -4657,30 +4445,33 @@ ], "description": "Symfony Filesystem Component", "homepage": "http://symfony.com", - "time": "2014-11-16 17:28:20" + "time": "2015-03-22 16:55:57" }, { "name": "symfony/finder", - "version": "2.4.x-dev", + "version": "v2.6.6", "target-dir": "Symfony/Component/Finder", "source": { "type": "git", "url": "https://github.com/symfony/Finder.git", - "reference": "cd03920154bc6669f64fbabb803d24cc8629964c" + "reference": "5dbe2e73a580618f5b4880fda93406eed25de251" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Finder/zipball/cd03920154bc6669f64fbabb803d24cc8629964c", - "reference": "cd03920154bc6669f64fbabb803d24cc8629964c", + "url": "https://api.github.com/repos/symfony/Finder/zipball/5dbe2e73a580618f5b4880fda93406eed25de251", + "reference": "5dbe2e73a580618f5b4880fda93406eed25de251", "shasum": "" }, "require": { "php": ">=5.3.3" }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -4704,33 +4495,34 @@ ], "description": "Symfony Finder Component", "homepage": "http://symfony.com", - "time": "2014-09-27 08:35:25" + "time": "2015-03-30 15:54:10" }, { "name": "symfony/http-foundation", - "version": "2.4.x-dev", + "version": "v2.6.6", "target-dir": "Symfony/Component/HttpFoundation", "source": { "type": "git", "url": "https://github.com/symfony/HttpFoundation.git", - "reference": "8e42d9536b5df05f37a9aae5761d3ee69ab95ddf" + "reference": "8a6337233f08f7520de97f4ffd6f00e947d892f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/8e42d9536b5df05f37a9aae5761d3ee69ab95ddf", - "reference": "8e42d9536b5df05f37a9aae5761d3ee69ab95ddf", + "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/8a6337233f08f7520de97f4ffd6f00e947d892f9", + "reference": "8a6337233f08f7520de97f4ffd6f00e947d892f9", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "symfony/expression-language": "~2.4" + "symfony/expression-language": "~2.4", + "symfony/phpunit-bridge": "~2.7" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -4757,42 +4549,47 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "http://symfony.com", - "time": "2014-09-25 08:51:47" + "time": "2015-04-01 16:50:12" }, { "name": "symfony/http-kernel", - "version": "2.4.x-dev", + "version": "v2.6.6", "target-dir": "Symfony/Component/HttpKernel", "source": { "type": "git", "url": "https://github.com/symfony/HttpKernel.git", - "reference": "84b1bd5433bc78cf78c19808abdd155edb4f1937" + "reference": "3829cacfe21eaf3f73604a62d79183d1f6e792c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/84b1bd5433bc78cf78c19808abdd155edb4f1937", - "reference": "84b1bd5433bc78cf78c19808abdd155edb4f1937", + "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/3829cacfe21eaf3f73604a62d79183d1f6e792c4", + "reference": "3829cacfe21eaf3f73604a62d79183d1f6e792c4", "shasum": "" }, "require": { "php": ">=5.3.3", "psr/log": "~1.0", - "symfony/debug": "~2.3", - "symfony/event-dispatcher": "~2.1", - "symfony/http-foundation": "~2.4" + "symfony/debug": "~2.6,>=2.6.2", + "symfony/event-dispatcher": "~2.5.9|~2.6,>=2.6.2", + "symfony/http-foundation": "~2.5,>=2.5.4" }, "require-dev": { - "symfony/browser-kit": "~2.2", + "symfony/browser-kit": "~2.3", "symfony/class-loader": "~2.1", - "symfony/config": "~2.0", - "symfony/console": "~2.2", - "symfony/dependency-injection": "~2.0", + "symfony/config": "~2.0,>=2.0.5", + "symfony/console": "~2.3", + "symfony/css-selector": "~2.0,>=2.0.5", + "symfony/dependency-injection": "~2.2", + "symfony/dom-crawler": "~2.0,>=2.0.5", "symfony/expression-language": "~2.4", - "symfony/finder": "~2.0", - "symfony/process": "~2.0", + "symfony/finder": "~2.0,>=2.0.5", + "symfony/phpunit-bridge": "~2.7", + "symfony/process": "~2.0,>=2.0.5", "symfony/routing": "~2.2", - "symfony/stopwatch": "~2.2", - "symfony/templating": "~2.2" + "symfony/stopwatch": "~2.3", + "symfony/templating": "~2.2", + "symfony/translation": "~2.0,>=2.0.5", + "symfony/var-dumper": "~2.6" }, "suggest": { "symfony/browser-kit": "", @@ -4800,12 +4597,13 @@ "symfony/config": "", "symfony/console": "", "symfony/dependency-injection": "", - "symfony/finder": "" + "symfony/finder": "", + "symfony/var-dumper": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -4829,30 +4627,33 @@ ], "description": "Symfony HttpKernel Component", "homepage": "http://symfony.com", - "time": "2014-09-28 17:03:37" + "time": "2015-04-01 16:55:26" }, { "name": "symfony/process", - "version": "2.4.x-dev", + "version": "v2.6.6", "target-dir": "Symfony/Component/Process", "source": { "type": "git", "url": "https://github.com/symfony/Process.git", - "reference": "2756ff2bc8e05527f4d5285cc4406e269b12e516" + "reference": "a8bebaec1a9dc6cde53e0250e32917579b0be552" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Process/zipball/2756ff2bc8e05527f4d5285cc4406e269b12e516", - "reference": "2756ff2bc8e05527f4d5285cc4406e269b12e516", + "url": "https://api.github.com/repos/symfony/Process/zipball/a8bebaec1a9dc6cde53e0250e32917579b0be552", + "reference": "a8bebaec1a9dc6cde53e0250e32917579b0be552", "shasum": "" }, "require": { "php": ">=5.3.3" }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -4876,21 +4677,21 @@ ], "description": "Symfony Process Component", "homepage": "http://symfony.com", - "time": "2014-09-23 05:24:59" + "time": "2015-03-30 15:54:10" }, { "name": "symfony/routing", - "version": "2.4.x-dev", + "version": "v2.6.6", "target-dir": "Symfony/Component/Routing", "source": { "type": "git", "url": "https://github.com/symfony/Routing.git", - "reference": "0bd97a27cfd1ad2699ad045de2a744888318a228" + "reference": "4e173a645b63ff60a124f3741b4f15feebd908fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Routing/zipball/0bd97a27cfd1ad2699ad045de2a744888318a228", - "reference": "0bd97a27cfd1ad2699ad045de2a744888318a228", + "url": "https://api.github.com/repos/symfony/Routing/zipball/4e173a645b63ff60a124f3741b4f15feebd908fa", + "reference": "4e173a645b63ff60a124f3741b4f15feebd908fa", "shasum": "" }, "require": { @@ -4898,11 +4699,13 @@ }, "require-dev": { "doctrine/annotations": "~1.0", + "doctrine/common": "~2.2", "psr/log": "~1.0", "symfony/config": "~2.2", "symfony/expression-language": "~2.4", "symfony/http-foundation": "~2.3", - "symfony/yaml": "~2.0" + "symfony/phpunit-bridge": "~2.7", + "symfony/yaml": "~2.0,>=2.0.5" }, "suggest": { "doctrine/annotations": "For using the annotation loader", @@ -4913,7 +4716,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -4943,39 +4746,106 @@ "uri", "url" ], - "time": "2014-09-22 15:28:09" + "time": "2015-03-30 15:54:10" }, { - "name": "symfony/translation", - "version": "2.4.x-dev", - "target-dir": "Symfony/Component/Translation", + "name": "symfony/security-core", + "version": "v2.6.6", + "target-dir": "Symfony/Component/Security/Core", "source": { "type": "git", - "url": "https://github.com/symfony/Translation.git", - "reference": "c61327aab6ec192b55e4868c52fdd0ca476100d3" + "url": "https://github.com/symfony/security-core.git", + "reference": "d25c17db741f58c0f615e52006a47f6fb23cd9b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Translation/zipball/c61327aab6ec192b55e4868c52fdd0ca476100d3", - "reference": "c61327aab6ec192b55e4868c52fdd0ca476100d3", + "url": "https://api.github.com/repos/symfony/security-core/zipball/d25c17db741f58c0f615e52006a47f6fb23cd9b3", + "reference": "d25c17db741f58c0f615e52006a47f6fb23cd9b3", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "symfony/config": "~2.0", + "ircmaxell/password-compat": "1.0.*", + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.1", + "symfony/expression-language": "~2.6", + "symfony/http-foundation": "~2.4", + "symfony/phpunit-bridge": "~2.7", + "symfony/translation": "~2.0,>=2.0.5", + "symfony/validator": "~2.5,>=2.5.5" + }, + "suggest": { + "ircmaxell/password-compat": "For using the BCrypt password encoder in PHP <5.5", + "symfony/event-dispatcher": "", + "symfony/expression-language": "For using the expression voter", + "symfony/http-foundation": "", + "symfony/validator": "For using the user password constraint" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Component\\Security\\Core\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony Security Component - Core Library", + "homepage": "http://symfony.com", + "time": "2015-03-30 15:54:10" + }, + { + "name": "symfony/translation", + "version": "v2.6.6", + "target-dir": "Symfony/Component/Translation", + "source": { + "type": "git", + "url": "https://github.com/symfony/Translation.git", + "reference": "bd939f05cdaca128f4ddbae1b447d6f0203b60af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/Translation/zipball/bd939f05cdaca128f4ddbae1b447d6f0203b60af", + "reference": "bd939f05cdaca128f4ddbae1b447d6f0203b60af", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.3,>=2.3.12", "symfony/intl": "~2.3", + "symfony/phpunit-bridge": "~2.7", "symfony/yaml": "~2.2" }, "suggest": { + "psr/log": "To use logging capability in translator", "symfony/config": "", "symfony/yaml": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -4999,7 +4869,169 @@ ], "description": "Symfony Translation Component", "homepage": "http://symfony.com", - "time": "2014-09-23 05:24:59" + "time": "2015-03-30 15:54:10" + }, + { + "name": "symfony/var-dumper", + "version": "v2.6.6", + "target-dir": "Symfony/Component/VarDumper", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "aafae00236e147568832de3c65ccb94cfc836278" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/aafae00236e147568832de3c65ccb94cfc836278", + "reference": "aafae00236e147568832de3c65ccb94cfc836278", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7" + }, + "suggest": { + "ext-symfony_debug": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev" + } + }, + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-0": { + "Symfony\\Component\\VarDumper\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + } + ], + "description": "Symfony mechanism for exploring and dumping PHP variables", + "homepage": "http://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "time": "2015-03-31 08:12:29" + }, + { + "name": "twbs/bootstrap", + "version": "v3.3.4", + "source": { + "type": "git", + "url": "https://github.com/twbs/bootstrap.git", + "reference": "a10eb60bc0b07b747fa0c4ebd8821eb7307bd07f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twbs/bootstrap/zipball/a10eb60bc0b07b747fa0c4ebd8821eb7307bd07f", + "reference": "a10eb60bc0b07b747fa0c4ebd8821eb7307bd07f", + "shasum": "" + }, + "replace": { + "twitter/bootstrap": "self.version" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jacob Thornton", + "email": "jacobthornton@gmail.com" + }, + { + "name": "Mark Otto", + "email": "markdotto@gmail.com" + } + ], + "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", + "homepage": "http://getbootstrap.com", + "keywords": [ + "JS", + "css", + "framework", + "front-end", + "less", + "mobile-first", + "responsive", + "web" + ], + "time": "2015-03-16 15:44:41" + }, + { + "name": "vlucas/phpdotenv", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "732d2adb7d916c9593b9d58c3b0d9ebefead07aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/732d2adb7d916c9593b9d58c3b0d9ebefead07aa", + "reference": "732d2adb7d916c9593b9d58c3b0d9ebefead07aa", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "Dotenv": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD" + ], + "authors": [ + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "http://www.vancelucas.com" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "homepage": "http://github.com/vlucas/phpdotenv", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "time": "2014-12-05 15:19:21" }, { "name": "webpatser/laravel-countries", @@ -5007,12 +5039,12 @@ "source": { "type": "git", "url": "https://github.com/webpatser/laravel-countries.git", - "reference": "d5041d63127a3b7022360a032164523ab49e11b3" + "reference": "0b5bf74d85470430af7296e9f316d6f4ad9a5fa4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webpatser/laravel-countries/zipball/d5041d63127a3b7022360a032164523ab49e11b3", - "reference": "d5041d63127a3b7022360a032164523ab49e11b3", + "url": "https://api.github.com/repos/webpatser/laravel-countries/zipball/0b5bf74d85470430af7296e9f316d6f4ad9a5fa4", + "reference": "0b5bf74d85470430af7296e9f316d6f4ad9a5fa4", "shasum": "" }, "require": { @@ -5051,154 +5083,13 @@ "iso_3166_3", "laravel" ], - "time": "2014-10-21 11:00:52" - }, - { - "name": "zizaco/confide", - "version": "3.1.0", - "source": { - "type": "git", - "url": "https://github.com/Zizaco/confide.git", - "reference": "e2c0f67e8e7bb3d53210d78d8cf806f520c0ad31" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Zizaco/confide/zipball/e2c0f67e8e7bb3d53210d78d8cf806f520c0ad31", - "reference": "e2c0f67e8e7bb3d53210d78d8cf806f520c0ad31", - "shasum": "" - }, - "require": { - "illuminate/support": "4.1.x", - "laravelbook/ardent": "2.4.x", - "php": ">=5.3.0" - }, - "require-dev": { - "illuminate/auth": "4.1.x", - "illuminate/database": "4.1.x", - "mockery/mockery": "0.7.2" - }, - "suggest": { - "zizaco/entrust": "add Role-based Permissions to Laravel 4" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/migrations", - "src/commands" - ], - "psr-0": { - "Zizaco\\Confide": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Zizaco Zizuini", - "email": "zizaco@gmail.com", - "homepage": "http://www.zizaco.net" - }, - { - "name": "Andrew Elkins", - "homepage": "http://www.andrewelkins.com" - } - ], - "description": "Confide is an authentication solution for Laravel 4", - "keywords": [ - "auth", - "illuminate", - "laravel" - ], - "time": "2013-12-28 04:22:18" + "time": "2015-03-25 08:28:59" } ], "packages-dev": [ - { - "name": "codeception/codeception", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/Codeception/Codeception.git", - "reference": "48b2809b6401e56d67c74a35bd2e7a60030ce3e4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/Codeception/zipball/48b2809b6401e56d67c74a35bd2e7a60030ce3e4", - "reference": "48b2809b6401e56d67c74a35bd2e7a60030ce3e4", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "facebook/webdriver": "~0.4", - "guzzlehttp/guzzle": "~4.0", - "php": ">=5.4.0", - "phpunit/phpunit": "~4.0", - "symfony/browser-kit": "~2.4", - "symfony/console": "~2.4", - "symfony/css-selector": "~2.4", - "symfony/dom-crawler": "~2.4,!=2.4.5", - "symfony/event-dispatcher": "~2.4", - "symfony/finder": "~2.4", - "symfony/yaml": "~2.4" - }, - "require-dev": { - "codeception/specify": "~0.3", - "codegyre/robo-ci": "@dev", - "facebook/php-sdk": "~3.2", - "monolog/monolog": "~1.8", - "pda/pheanstalk": "~2.0", - "phpseclib/phpseclib": "~0.3.6", - "videlalvaro/php-amqplib": "~2.4" - }, - "suggest": { - "codeception/phpbuiltinserver": "Extension to start and stop PHP built-in web server for your tests", - "codeception/specify": "BDD-style code blocks", - "codeception/verify": "BDD-style assertions", - "monolog/monolog": "Log test steps", - "phpseclib/phpseclib": "Extension required to use the SFTP option in the FTP Module." - }, - "bin": [ - "codecept" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "autoload": { - "psr-0": { - "Codeception": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Bodnarchuk", - "email": "davert@mail.ua", - "homepage": "http://codegyre.com" - } - ], - "description": "BDD-style testing framework", - "homepage": "http://codeception.com/", - "keywords": [ - "BDD", - "TDD", - "acceptance testing", - "functional testing", - "unit testing" - ], - "time": "2014-11-20 22:56:33" - }, { "name": "doctrine/instantiator", - "version": "dev-master", + "version": "1.0.4", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", @@ -5251,86 +5142,86 @@ "time": "2014-10-13 12:58:55" }, { - "name": "facebook/webdriver", - "version": "v0.5.1", + "name": "phpspec/php-diff", + "version": "v1.0.2", "source": { "type": "git", - "url": "https://github.com/facebook/php-webdriver.git", - "reference": "bbcb697efb394d17bd9ec3d467e7da847cde4509" + "url": "https://github.com/phpspec/php-diff.git", + "reference": "30e103d19519fe678ae64a60d77884ef3d71b28a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/bbcb697efb394d17bd9ec3d467e7da847cde4509", - "reference": "bbcb697efb394d17bd9ec3d467e7da847cde4509", + "url": "https://api.github.com/repos/phpspec/php-diff/zipball/30e103d19519fe678ae64a60d77884ef3d71b28a", + "reference": "30e103d19519fe678ae64a60d77884ef3d71b28a", "shasum": "" }, - "require": { - "php": ">=5.3.19" - }, - "require-dev": { - "phpdocumentor/phpdocumentor": "2.*", - "phpunit/phpunit": "3.7.*" - }, "type": "library", "autoload": { - "classmap": [ - "lib/" - ] + "psr-0": { + "Diff": "lib/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache-2.0" + "BSD-3-Clause" ], - "description": "A php client for WebDriver", - "homepage": "https://github.com/facebook/php-webdriver", - "keywords": [ - "facebook", - "php", - "selenium", - "webdriver" + "authors": [ + { + "name": "Chris Boulton", + "homepage": "http://github.com/chrisboulton", + "role": "Original developer" + } ], - "time": "2014-11-05 20:53:09" + "description": "A comprehensive library for generating differences between two hashable objects (strings or arrays).", + "time": "2013-11-01 13:02:21" }, { - "name": "guzzlehttp/guzzle", - "version": "4.2.3", + "name": "phpspec/phpspec", + "version": "2.1.1", "source": { "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "66fd916e9f9130bc22c51450476823391cb2f67c" + "url": "https://github.com/phpspec/phpspec.git", + "reference": "66a1df93099282b1514e9e001fcf6e9393f7783d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/66fd916e9f9130bc22c51450476823391cb2f67c", - "reference": "66fd916e9f9130bc22c51450476823391cb2f67c", + "url": "https://api.github.com/repos/phpspec/phpspec/zipball/66a1df93099282b1514e9e001fcf6e9393f7783d", + "reference": "66a1df93099282b1514e9e001fcf6e9393f7783d", "shasum": "" }, "require": { - "ext-json": "*", - "guzzlehttp/streams": "~2.1", - "php": ">=5.4.0" + "doctrine/instantiator": "~1.0,>=1.0.1", + "php": ">=5.3.3", + "phpspec/php-diff": "~1.0.0", + "phpspec/prophecy": "~1.1", + "sebastian/exporter": "~1.0", + "symfony/console": "~2.3", + "symfony/event-dispatcher": "~2.1", + "symfony/finder": "~2.1", + "symfony/process": "~2.1", + "symfony/yaml": "~2.1" }, "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "~4.0", - "psr/log": "~1.0" + "behat/behat": "~3.0,>=3.0.11", + "bossa/phpspec2-expect": "~1.0", + "symfony/filesystem": "~2.1" }, "suggest": { - "ext-curl": "Guzzle will use specific adapters if cURL is present" + "phpspec/nyan-formatters": "~1.0 – Adds Nyan formatters" }, + "bin": [ + "bin/phpspec" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "2.1.x-dev" } }, "autoload": { - "psr-4": { - "GuzzleHttp\\": "src/" - }, - "files": [ - "src/functions.php" - ] + "psr-0": { + "PhpSpec": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5338,94 +5229,46 @@ ], "authors": [ { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2014-10-05 19:29:14" - }, - { - "name": "guzzlehttp/streams", - "version": "2.1.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/streams.git", - "reference": "f91b721d73f0e561410903b3b3c90a5d0e40b534" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/streams/zipball/f91b721d73f0e561410903b3b3c90a5d0e40b534", - "reference": "f91b721d73f0e561410903b3b3c90a5d0e40b534", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Stream\\": "src/" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" + "name": "Marcello Duarte", + "homepage": "http://marcelloduarte.net/" } ], - "description": "Provides a simple abstraction over streams of data (Guzzle 4+)", - "homepage": "http://guzzlephp.org/", + "description": "Specification-oriented BDD framework for PHP 5.3+", + "homepage": "http://phpspec.net/", "keywords": [ - "Guzzle", - "stream" + "BDD", + "SpecBDD", + "TDD", + "spec", + "specification", + "testing", + "tests" ], - "time": "2014-08-17 21:15:53" + "time": "2015-01-09 13:21:45" }, { "name": "phpspec/prophecy", - "version": "v1.3.1", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "9ca52329bcdd1500de24427542577ebf3fc2f1c9" + "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/9ca52329bcdd1500de24427542577ebf3fc2f1c9", - "reference": "9ca52329bcdd1500de24427542577ebf3fc2f1c9", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", + "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", "shasum": "" }, "require": { - "doctrine/instantiator": "~1.0,>=1.0.2", - "phpdocumentor/reflection-docblock": "~2.0" + "doctrine/instantiator": "^1.0.2", + "phpdocumentor/reflection-docblock": "~2.0", + "sebastian/comparator": "~1.1" }, "require-dev": { "phpspec/phpspec": "~2.0" @@ -5433,7 +5276,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.4.x-dev" } }, "autoload": { @@ -5457,7 +5300,7 @@ } ], "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "http://phpspec.org", + "homepage": "https://github.com/phpspec/prophecy", "keywords": [ "Double", "Dummy", @@ -5466,20 +5309,20 @@ "spy", "stub" ], - "time": "2014-11-17 16:23:49" + "time": "2015-03-27 19:31:25" }, { "name": "phpunit/php-code-coverage", - "version": "dev-master", + "version": "2.0.15", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "21b9006b7ceb7e1cb0b705615af31f67c8cd1692" + "reference": "34cc484af1ca149188d0d9e91412191e398e0b67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/21b9006b7ceb7e1cb0b705615af31f67c8cd1692", - "reference": "21b9006b7ceb7e1cb0b705615af31f67c8cd1692", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/34cc484af1ca149188d0d9e91412191e398e0b67", + "reference": "34cc484af1ca149188d0d9e91412191e398e0b67", "shasum": "" }, "require": { @@ -5492,7 +5335,7 @@ }, "require-dev": { "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "dev-master" + "phpunit/phpunit": "~4" }, "suggest": { "ext-dom": "*", @@ -5502,7 +5345,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -5528,35 +5371,37 @@ "testing", "xunit" ], - "time": "2014-11-11 14:18:30" + "time": "2015-01-24 10:06:35" }, { "name": "phpunit/php-file-iterator", - "version": "1.3.4", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb" + "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb", - "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a923bb15680d0089e2316f7a4af8f437046e96bb", + "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb", "shasum": "" }, "require": { "php": ">=5.3.3" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, "autoload": { "classmap": [ - "File/" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], "license": [ "BSD-3-Clause" ], @@ -5573,7 +5418,7 @@ "filesystem", "iterator" ], - "time": "2013-10-10 15:34:57" + "time": "2015-04-02 05:19:05" }, { "name": "phpunit/php-text-template", @@ -5665,16 +5510,16 @@ }, { "name": "phpunit/php-token-stream", - "version": "dev-master", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "f8d5d08c56de5cfd592b3340424a81733259a876" + "reference": "db32c18eba00b121c145575fcbcd4d4d24e6db74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/f8d5d08c56de5cfd592b3340424a81733259a876", - "reference": "f8d5d08c56de5cfd592b3340424a81733259a876", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/db32c18eba00b121c145575fcbcd4d4d24e6db74", + "reference": "db32c18eba00b121c145575fcbcd4d4d24e6db74", "shasum": "" }, "require": { @@ -5687,7 +5532,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.4-dev" } }, "autoload": { @@ -5710,20 +5555,20 @@ "keywords": [ "tokenizer" ], - "time": "2014-08-31 06:12:13" + "time": "2015-01-17 09:51:32" }, { "name": "phpunit/phpunit", - "version": "dev-master", + "version": "4.6.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "a137e59f5fe1c09a013b41f3164f3499509a92d0" + "reference": "08b2aacdd8433abbba468f995d6d64b76a7a62ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a137e59f5fe1c09a013b41f3164f3499509a92d0", - "reference": "a137e59f5fe1c09a013b41f3164f3499509a92d0", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/08b2aacdd8433abbba468f995d6d64b76a7a62ec", + "reference": "08b2aacdd8433abbba468f995d6d64b76a7a62ec", "shasum": "" }, "require": { @@ -5733,19 +5578,19 @@ "ext-reflection": "*", "ext-spl": "*", "php": ">=5.3.3", - "phpspec/prophecy": "~1.3.1", - "phpunit/php-code-coverage": "3.0.*@dev", - "phpunit/php-file-iterator": "~1.3.2", + "phpspec/prophecy": "~1.3,>=1.3.1", + "phpunit/php-code-coverage": "~2.0,>=2.0.11", + "phpunit/php-file-iterator": "~1.4", "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "~1.0.2", - "phpunit/phpunit-mock-objects": "2.4.*@dev", - "sebastian/comparator": "1.1.*@dev", - "sebastian/diff": "~1.1", + "phpunit/php-timer": "~1.0", + "phpunit/phpunit-mock-objects": "~2.3", + "sebastian/comparator": "~1.1", + "sebastian/diff": "~1.2", "sebastian/environment": "~1.2", - "sebastian/exporter": "~1.0", - "sebastian/global-state": "1.0.*@dev", + "sebastian/exporter": "~1.2", + "sebastian/global-state": "~1.0", "sebastian/version": "~1.0", - "symfony/yaml": "~2.0" + "symfony/yaml": "~2.1|~3.0" }, "suggest": { "phpunit/php-invoker": "~1.1" @@ -5756,12 +5601,15 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.5.x-dev" + "dev-master": "4.6.x-dev" } }, "autoload": { "classmap": [ "src/" + ], + "files": [ + "src/Framework/Assert/Functions.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -5782,20 +5630,20 @@ "testing", "xunit" ], - "time": "2014-11-22 10:32:03" + "time": "2015-04-03 13:46:59" }, { "name": "phpunit/phpunit-mock-objects", - "version": "dev-master", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "96c5b81f9842f38fe6c73ad0020306cc4862a9e3" + "reference": "74ffb87f527f24616f72460e54b595f508dccb5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/96c5b81f9842f38fe6c73ad0020306cc4862a9e3", - "reference": "96c5b81f9842f38fe6c73ad0020306cc4862a9e3", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/74ffb87f527f24616f72460e54b595f508dccb5c", + "reference": "74ffb87f527f24616f72460e54b595f508dccb5c", "shasum": "" }, "require": { @@ -5804,7 +5652,7 @@ "phpunit/php-text-template": "~1.2" }, "require-dev": { - "phpunit/phpunit": "4.4.*@dev" + "phpunit/phpunit": "~4.4" }, "suggest": { "ext-soap": "*" @@ -5812,7 +5660,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4.x-dev" + "dev-master": "2.3.x-dev" } }, "autoload": { @@ -5837,29 +5685,29 @@ "mock", "xunit" ], - "time": "2014-10-04 10:04:20" + "time": "2015-04-02 05:36:41" }, { "name": "sebastian/comparator", - "version": "dev-master", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "c484a80f97573ab934e37826dba0135a3301b26a" + "reference": "1dd8869519a225f7f2b9eb663e225298fade819e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/c484a80f97573ab934e37826dba0135a3301b26a", - "reference": "c484a80f97573ab934e37826dba0135a3301b26a", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e", + "reference": "1dd8869519a225f7f2b9eb663e225298fade819e", "shasum": "" }, "require": { "php": ">=5.3.3", - "sebastian/diff": "~1.1", - "sebastian/exporter": "~1.0" + "sebastian/diff": "~1.2", + "sebastian/exporter": "~1.2" }, "require-dev": { - "phpunit/phpunit": "~4.1" + "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { @@ -5901,20 +5749,20 @@ "compare", "equality" ], - "time": "2014-11-16 21:32:38" + "time": "2015-01-29 16:28:08" }, { "name": "sebastian/diff", - "version": "dev-master", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "f38057b48125c2b421361da224a8aa800d70aeca" + "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/f38057b48125c2b421361da224a8aa800d70aeca", - "reference": "f38057b48125c2b421361da224a8aa800d70aeca", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", + "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", "shasum": "" }, "require": { @@ -5926,7 +5774,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.3-dev" } }, "autoload": { @@ -5953,32 +5801,32 @@ "keywords": [ "diff" ], - "time": "2014-11-22 06:25:40" + "time": "2015-02-22 15:13:53" }, { "name": "sebastian/environment", - "version": "dev-master", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "6e6c71d918088c251b181ba8b3088af4ac336dd7" + "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6e6c71d918088c251b181ba8b3088af4ac336dd7", - "reference": "6e6c71d918088c251b181ba8b3088af4ac336dd7", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e", + "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "phpunit/phpunit": "~4.3" + "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.3.x-dev" } }, "autoload": { @@ -6003,32 +5851,33 @@ "environment", "hhvm" ], - "time": "2014-10-25 08:00:45" + "time": "2015-01-01 10:01:08" }, { "name": "sebastian/exporter", - "version": "dev-master", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "c7d59948d6e82818e1bdff7cadb6c34710eb7dc0" + "reference": "84839970d05254c73cde183a721c7af13aede943" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/c7d59948d6e82818e1bdff7cadb6c34710eb7dc0", - "reference": "c7d59948d6e82818e1bdff7cadb6c34710eb7dc0", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943", + "reference": "84839970d05254c73cde183a721c7af13aede943", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.3", + "sebastian/recursion-context": "~1.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { @@ -6068,20 +5917,20 @@ "export", "exporter" ], - "time": "2014-09-10 00:51:36" + "time": "2015-01-27 07:23:06" }, { "name": "sebastian/global-state", - "version": "dev-master", + "version": "1.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "231d48620efde984fd077ee92916099a3ece9a59" + "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/231d48620efde984fd077ee92916099a3ece9a59", - "reference": "231d48620efde984fd077ee92916099a3ece9a59", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01", + "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01", "shasum": "" }, "require": { @@ -6119,20 +5968,73 @@ "keywords": [ "global state" ], - "time": "2014-10-06 09:49:11" + "time": "2014-10-06 09:23:50" }, { - "name": "sebastian/version", - "version": "1.0.3", + "name": "sebastian/recursion-context", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "b6e1f0cf6b9e1ec409a0d3e2f2a5fb0998e36b43" + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "3989662bbb30a29d20d9faa04a846af79b276252" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/b6e1f0cf6b9e1ec409a0d3e2f2a5fb0998e36b43", - "reference": "b6e1f0cf6b9e1ec409a0d3e2f2a5fb0998e36b43", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252", + "reference": "3989662bbb30a29d20d9faa04a846af79b276252", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2015-01-24 09:48:32" + }, + { + "name": "sebastian/version", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", + "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", "shasum": "" }, "type": "library", @@ -6154,30 +6056,33 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", - "time": "2014-03-07 15:35:33" + "time": "2015-02-24 06:35:25" }, { "name": "symfony/yaml", - "version": "2.7.x-dev", + "version": "v2.6.6", "target-dir": "Symfony/Component/Yaml", "source": { "type": "git", "url": "https://github.com/symfony/Yaml.git", - "reference": "75deb1b183d2bbf12f4b54c644c0caafca338fbe" + "reference": "174f009ed36379a801109955fc5a71a49fe62dd4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/75deb1b183d2bbf12f4b54c644c0caafca338fbe", - "reference": "75deb1b183d2bbf12f4b54c644c0caafca338fbe", + "url": "https://api.github.com/repos/symfony/Yaml/zipball/174f009ed36379a801109955fc5a71a49fe62dd4", + "reference": "174f009ed36379a801109955fc5a71a49fe62dd4", "shasum": "" }, "require": { "php": ">=5.3.3" }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -6201,25 +6106,22 @@ ], "description": "Symfony Yaml Component", "homepage": "http://symfony.com", - "time": "2014-11-20 13:24:30" + "time": "2015-03-30 15:54:10" } ], - "aliases": [ - - ], - "minimum-stability": "dev", + "aliases": [], + "minimum-stability": "stable", "stability-flags": { - "barryvdh/laravel-debugbar": 20, + "anahkiasen/former": 20, + "chumper/datatable": 20, + "intervention/image": 20, "webpatser/laravel-countries": 20, "lokielse/omnipay-alipay": 20, - "alfaproject/omnipay-skrill": 20, - "codeception/codeception": 20 + "alfaproject/omnipay-neteller": 20, + "alfaproject/omnipay-skrill": 20 }, "prefer-stable": false, - "platform": [ - - ], - "platform-dev": [ - - ] + "prefer-lowest": false, + "platform": [], + "platform-dev": [] } diff --git a/app/config/app.php b/config/app.php old mode 100755 new mode 100644 similarity index 57% rename from app/config/app.php rename to config/app.php index 68bfd7bc24eb..a087311915ec --- a/app/config/app.php +++ b/config/app.php @@ -1,6 +1,6 @@ 'en', + /* + |-------------------------------------------------------------------------- + | Application Fallback Locale + |-------------------------------------------------------------------------- + | + | The fallback locale determines the locale to use when the current one + | is not available. You may change the value to correspond to any of + | the language folders that are provided through your application. + | + */ + + 'fallback_locale' => 'en', + /* |-------------------------------------------------------------------------- | Encryption Key @@ -63,11 +76,26 @@ return array( | to a random, 32 character string, otherwise these encrypted strings | will not be safe. Please do this before deploying an application! | - | Command below will generate a random 32 character alphanumeric string - | cat /dev/random | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1 */ - 'key' => '', + 'key' => env('APP_KEY', ''), + + 'cipher' => MCRYPT_RIJNDAEL_128, + + /* + |-------------------------------------------------------------------------- + | Logging Configuration + |-------------------------------------------------------------------------- + | + | Here you may configure the log settings for your application. Out of + | the box, Laravel uses the Monolog PHP logging library. This gives + | you a variety of powerful log handlers / formatters to utilize. + | + | Available Settings: "single", "daily", "syslog", "errorlog" + | + */ + + 'log' => 'daily', /* |-------------------------------------------------------------------------- @@ -80,64 +108,55 @@ return array( | */ - 'providers' => array( + 'providers' => [ + /* + * Laravel Framework Service Providers... + */ 'Illuminate\Foundation\Providers\ArtisanServiceProvider', 'Illuminate\Auth\AuthServiceProvider', + 'Illuminate\Bus\BusServiceProvider', 'Illuminate\Cache\CacheServiceProvider', - 'Illuminate\Foundation\Providers\CommandCreatorServiceProvider', - 'Illuminate\Session\CommandsServiceProvider', - 'Illuminate\Foundation\Providers\ComposerServiceProvider', + 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider', 'Illuminate\Routing\ControllerServiceProvider', 'Illuminate\Cookie\CookieServiceProvider', 'Illuminate\Database\DatabaseServiceProvider', 'Illuminate\Encryption\EncryptionServiceProvider', 'Illuminate\Filesystem\FilesystemServiceProvider', + 'Illuminate\Foundation\Providers\FoundationServiceProvider', 'Illuminate\Hashing\HashServiceProvider', - 'Illuminate\Html\HtmlServiceProvider', - 'Illuminate\Foundation\Providers\KeyGeneratorServiceProvider', - 'Illuminate\Log\LogServiceProvider', 'Illuminate\Mail\MailServiceProvider', - 'Illuminate\Foundation\Providers\MaintenanceServiceProvider', - 'Illuminate\Database\MigrationServiceProvider', - 'Illuminate\Foundation\Providers\OptimizeServiceProvider', 'Illuminate\Pagination\PaginationServiceProvider', - 'Illuminate\Foundation\Providers\PublisherServiceProvider', + 'Illuminate\Pipeline\PipelineServiceProvider', 'Illuminate\Queue\QueueServiceProvider', 'Illuminate\Redis\RedisServiceProvider', - 'Illuminate\Auth\Reminders\ReminderServiceProvider', - 'Illuminate\Foundation\Providers\RouteListServiceProvider', - 'Illuminate\Database\SeedServiceProvider', - 'Illuminate\Foundation\Providers\ServerServiceProvider', + 'Illuminate\Auth\Passwords\PasswordResetServiceProvider', 'Illuminate\Session\SessionServiceProvider', - 'Illuminate\Foundation\Providers\TinkerServiceProvider', 'Illuminate\Translation\TranslationServiceProvider', 'Illuminate\Validation\ValidationServiceProvider', 'Illuminate\View\ViewServiceProvider', - 'Illuminate\Workbench\WorkbenchServiceProvider', - 'Illuminate\Remote\RemoteServiceProvider', - 'Bootstrapper\BootstrapperServiceProvider', - 'Zizaco\Confide\ConfideServiceProvider', + + /* + * Additional Providers + */ + 'Bootstrapper\BootstrapperL5ServiceProvider', 'Former\FormerServiceProvider', 'Barryvdh\Debugbar\ServiceProvider', 'Chumper\Datatable\DatatableServiceProvider', 'Intervention\Image\ImageServiceProvider', - 'Webpatser\Countries\CountriesServiceProvider', - 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', - ), + 'Webpatser\Countries\CountriesServiceProvider', + 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', + 'Illuminate\Html\HtmlServiceProvider', - /* - |-------------------------------------------------------------------------- - | Service Provider Manifest - |-------------------------------------------------------------------------- - | - | The service provider manifest is used by Laravel to lazy load service - | providers which are not needed for each request, as well to keep a - | list of all of the services. Here, you may set its storage spot. - | - */ - - 'manifest' => storage_path() . '/meta', + /* + * Application Service Providers... + */ + 'App\Providers\AppServiceProvider', + 'App\Providers\BusServiceProvider', + 'App\Providers\ConfigServiceProvider', + 'App\Providers\EventServiceProvider', + 'App\Providers\RouteServiceProvider', + ], /* |-------------------------------------------------------------------------- @@ -150,7 +169,7 @@ return array( | */ - 'aliases' => array( + 'aliases' => [ 'App' => 'Illuminate\Support\Facades\App', 'Artisan' => 'Illuminate\Support\Facades\Artisan', @@ -188,31 +207,69 @@ return array( 'URL' => 'Illuminate\Support\Facades\URL', 'Validator' => 'Illuminate\Support\Facades\Validator', 'View' => 'Illuminate\Support\Facades\View', - 'SSH' => 'Illuminate\Support\Facades\SSH', - 'Alert' => 'Bootstrapper\Alert', - 'Badge' => 'Bootstrapper\Badge', - 'Breadcrumb' => 'Bootstrapper\Breadcrumb', - 'Button' => 'Bootstrapper\Button', - 'ButtonGroup' => 'Bootstrapper\ButtonGroup', - 'ButtonToolbar' => 'Bootstrapper\ButtonToolbar', - 'Carousel' => 'Bootstrapper\Carousel', - 'DropdownButton' => 'Bootstrapper\DropdownButton', - 'Form' => 'Bootstrapper\Form', - 'Helpers' => 'Bootstrapper\Helpers', - 'Icon' => 'Bootstrapper\Icon', - //'Image' => 'Bootstrapper\Image', - 'Label' => 'Bootstrapper\Label', - 'MediaObject' => 'Bootstrapper\MediaObject', - 'Navbar' => 'Bootstrapper\Navbar', - 'Navigation' => 'Bootstrapper\Navigation', - 'Paginator' => 'Bootstrapper\Paginator', - 'Progress' => 'Bootstrapper\Progress', - 'Tabbable' => 'Bootstrapper\Tabbable', - 'Table' => 'Bootstrapper\Table', - 'Thumbnail' => 'Bootstrapper\Thumbnail', - 'Typeahead' => 'Bootstrapper\Typeahead', - 'Typography' => 'Bootstrapper\Typography', - 'Confide' => 'Zizaco\Confide\ConfideFacade', + + /*'App' => 'Illuminate\Support\Facades\App', + 'Artisan' => 'Illuminate\Support\Facades\Artisan', + 'Auth' => 'Illuminate\Support\Facades\Auth', + 'Blade' => 'Illuminate\Support\Facades\Blade', + 'Bus' => 'Illuminate\Support\Facades\Bus', + 'Cache' => 'Illuminate\Support\Facades\Cache', + 'Config' => 'Illuminate\Support\Facades\Config', + 'Cookie' => 'Illuminate\Support\Facades\Cookie', + 'Crypt' => 'Illuminate\Support\Facades\Crypt', + 'DB' => 'Illuminate\Support\Facades\DB', + 'Eloquent' => 'Illuminate\Database\Eloquent\Model', + 'Event' => 'Illuminate\Support\Facades\Event', + 'File' => 'Illuminate\Support\Facades\File', + 'Hash' => 'Illuminate\Support\Facades\Hash', + 'Input' => 'Illuminate\Support\Facades\Input', + 'Inspiring' => 'Illuminate\Foundation\Inspiring', + 'Lang' => 'Illuminate\Support\Facades\Lang', + 'Log' => 'Illuminate\Support\Facades\Log', + 'Mail' => 'Illuminate\Support\Facades\Mail', + 'Password' => 'Illuminate\Support\Facades\Password', + 'Queue' => 'Illuminate\Support\Facades\Queue', + 'Redirect' => 'Illuminate\Support\Facades\Redirect', + 'Redis' => 'Illuminate\Support\Facades\Redis', + 'Request' => 'Illuminate\Support\Facades\Request', + 'Response' => 'Illuminate\Support\Facades\Response', + 'Route' => 'Illuminate\Support\Facades\Route', + 'Schema' => 'Illuminate\Support\Facades\Schema', + 'Session' => 'Illuminate\Support\Facades\Session', + 'Storage' => 'Illuminate\Support\Facades\Storage', + 'URL' => 'Illuminate\Support\Facades\URL', + 'Validator' => 'Illuminate\Support\Facades\Validator', + 'View' => 'Illuminate\Support\Facades\View',*/ + + // Added Class Aliases + + 'Utils' => 'App\Libraries\Utils', + 'Form' => 'Illuminate\Html\FormFacade', + 'HTML' => 'Illuminate\Html\HtmlFacade', + 'SSH' => 'Illuminate\Support\Facades\SSH', + 'Alert' => 'Bootstrapper\Facades\Alert', + 'Badge' => 'Bootstrapper\Facades\Badge', + 'Breadcrumb' => 'Bootstrapper\Facades\Breadcrumb', + 'Button' => 'Bootstrapper\Facades\Button', + 'ButtonGroup' => 'Bootstrapper\Facades\ButtonGroup', + 'ButtonToolbar' => 'Bootstrapper\Facades\ButtonToolbar', + 'Carousel' => 'Bootstrapper\Facades\Carousel', + 'DropdownButton' => 'Bootstrapper\Facades\DropdownButton', + 'Form' => 'Bootstrapper\Facades\Form', + 'Helpers' => 'Bootstrapper\Facades\Helpers', + 'Icon' => 'Bootstrapper\Facades\Icon', + //'Image' => 'Bootstrapper\Facades\Image', + 'Label' => 'Bootstrapper\Facades\Label', + 'MediaObject' => 'Bootstrapper\Facades\MediaObject', + 'Navbar' => 'Bootstrapper\Facades\Navbar', + 'Navigation' => 'Bootstrapper\Facades\Navigation', + 'Paginator' => 'Bootstrapper\Facades\Paginator', + 'Progress' => 'Bootstrapper\Facades\Progress', + 'Tabbable' => 'Bootstrapper\Facades\Tabbable', + 'Table' => 'Bootstrapper\Facades\Table', + 'Thumbnail' => 'Bootstrapper\Facades\Thumbnail', + 'Typeahead' => 'Bootstrapper\Facades\Typeahead', + 'Typography' => 'Bootstrapper\Facades\Typography', 'Former' => 'Former\Facades\Former', 'Datatable' => 'Chumper\Datatable\Facades\DatatableFacade', 'Omnipay' => 'Omnipay\Omnipay', @@ -221,5 +278,7 @@ return array( 'Countries' => 'Webpatser\Countries\CountriesFacade', 'Carbon' => 'Carbon\Carbon', 'Rocketeer' => 'Rocketeer\Facades\Rocketeer', - ), -); + + ], + +]; diff --git a/app/config/auth.php b/config/auth.php old mode 100755 new mode 100644 similarity index 75% rename from app/config/auth.php rename to config/auth.php index 38eb282b7c4c..1ce67b55a13e --- a/app/config/auth.php +++ b/config/auth.php @@ -1,6 +1,6 @@ 'User', + 'model' => 'App\Models\User', /* |-------------------------------------------------------------------------- @@ -45,27 +45,23 @@ return array( /* |-------------------------------------------------------------------------- - | Password Reminder Settings + | Password Reset Settings |-------------------------------------------------------------------------- | - | Here you may set the settings for password reminders, including a view - | that should be used as your password reminder e-mail. You will also - | be able to set the name of the table that holds the reset tokens. + | Here you may set the options for resetting passwords including the view + | that is your password reset e-mail. You can also set the name of the + | table that maintains all of the reset tokens for your application. | - | The "expire" time is the number of minutes that the reminder should be + | The expire time is the number of minutes that the reset token should be | considered valid. This security feature keeps tokens short-lived so | they have less time to be guessed. You may change this as needed. | */ - 'reminder' => array( - - 'email' => 'emails.auth.reminder', - - 'table' => 'password_reminders', - + 'password' => [ + 'email' => 'emails.password', + 'table' => 'password_resets', 'expire' => 60, + ], - ), - -); \ No newline at end of file +]; diff --git a/config/bootstrapper.php b/config/bootstrapper.php new file mode 100644 index 000000000000..3b5a0f418f18 --- /dev/null +++ b/config/bootstrapper.php @@ -0,0 +1,10 @@ + '3.3.0', + 'jqueryVersion' => '2.1.0', + 'icon_prefix' => 'glyphicon' +]; diff --git a/config/cache.php b/config/cache.php new file mode 100644 index 000000000000..9ddd5f331ca9 --- /dev/null +++ b/config/cache.php @@ -0,0 +1,79 @@ + env('CACHE_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Cache Stores + |-------------------------------------------------------------------------- + | + | Here you may define all of the cache "stores" for your application as + | well as their drivers. You may even define multiple stores for the + | same cache driver to group types of items stored in your caches. + | + */ + + 'stores' => [ + + 'apc' => [ + 'driver' => 'apc' + ], + + 'array' => [ + 'driver' => 'array' + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'cache', + 'connection' => null, + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path().'/framework/cache', + ], + + 'memcached' => [ + 'driver' => 'memcached', + 'servers' => [ + [ + 'host' => '127.0.0.1', 'port' => 11211, 'weight' => 100 + ], + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing a RAM based store such as APC or Memcached, there might + | be other applications utilizing the same cache. So, we'll specify a + | value to get prefixed to all our keys so we can avoid collisions. + | + */ + + 'prefix' => 'laravel', + +]; diff --git a/config/chumper.datatable.php b/config/chumper.datatable.php new file mode 100644 index 000000000000..9a0a8b07a8bf --- /dev/null +++ b/config/chumper.datatable.php @@ -0,0 +1,149 @@ + array( + + /* + |-------------------------------------------------------------------------- + | Table class + |-------------------------------------------------------------------------- + | + | Class(es) added to the table + | Supported: string + | + */ + + 'class' => 'table table-bordered', + + /* + |-------------------------------------------------------------------------- + | Table ID + |-------------------------------------------------------------------------- + | + | ID given to the table. Used for connecting the table and the Datatables + | jQuery plugin. If left empty a random ID will be generated. + | Supported: string + | + */ + + 'id' => '', + + /* + |-------------------------------------------------------------------------- + | DataTable options + |-------------------------------------------------------------------------- + | + | jQuery dataTable plugin options. The array will be json_encoded and + | passed through to the plugin. See https://datatables.net/usage/options + | for more information. + | Supported: array + | + */ + + 'options' => array( + + "sPaginationType" => "full_numbers", + + "bProcessing" => false + + ), + + /* + |-------------------------------------------------------------------------- + | DataTable callbacks + |-------------------------------------------------------------------------- + | + | jQuery dataTable plugin callbacks. The array will be json_encoded and + | passed through to the plugin. See https://datatables.net/usage/callbacks + | for more information. + | Supported: array + | + */ + + 'callbacks' => array(), + + /* + |-------------------------------------------------------------------------- + | Skip javascript in table template + |-------------------------------------------------------------------------- + | + | Determines if the template should echo the javascript + | Supported: boolean + | + */ + + 'noScript' => false, + + + /* + |-------------------------------------------------------------------------- + | Table view + |-------------------------------------------------------------------------- + | + | Template used to render the table + | Supported: string + | + */ + + 'table_view' => 'chumper.datatable::template', + + + /* + |-------------------------------------------------------------------------- + | Script view + |-------------------------------------------------------------------------- + | + | Template used to render the javascript + | Supported: string + | + */ + + 'script_view' => 'chumper.datatable::javascript', + + /* + |-------------------------------------------------------------------------- + | Option view + |-------------------------------------------------------------------------- + | + | Template used to render the options recursive + | + */ + + 'options_view' => config('chumper.datatable::options') + + ), + + + /* + |-------------------------------------------------------------------------- + | Engine specific configuration options. + |-------------------------------------------------------------------------- + | + */ + + 'engine' => array( + + /* + |-------------------------------------------------------------------------- + | Search for exact words + |-------------------------------------------------------------------------- + | + | If the search should be done with exact matching + | Supported: boolean + | + */ + + 'exactWordSearch' => false, + + ) + + +); diff --git a/config/compile.php b/config/compile.php new file mode 100644 index 000000000000..3a002fcaaac8 --- /dev/null +++ b/config/compile.php @@ -0,0 +1,41 @@ + [ + + realpath(__DIR__.'/../app/Providers/AppServiceProvider.php'), + realpath(__DIR__.'/../app/Providers/BusServiceProvider.php'), + realpath(__DIR__.'/../app/Providers/ConfigServiceProvider.php'), + realpath(__DIR__.'/../app/Providers/EventServiceProvider.php'), + realpath(__DIR__.'/../app/Providers/RouteServiceProvider.php'), + + ], + + /* + |-------------------------------------------------------------------------- + | Compiled File Providers + |-------------------------------------------------------------------------- + | + | Here you may list service providers which define a "compiles" function + | that returns additional files that should be compiled, providing an + | easy way to get common files from any packages you are utilizing. + | + */ + + 'providers' => [ + // + ], + +]; diff --git a/config/countries.php b/config/countries.php new file mode 100644 index 000000000000..30204de213ee --- /dev/null +++ b/config/countries.php @@ -0,0 +1,16 @@ + 'countries', + +); diff --git a/app/config/database.php b/config/database.php old mode 100755 new mode 100644 similarity index 74% rename from app/config/database.php rename to config/database.php index c0e856411d87..d6b202f23b88 --- a/app/config/database.php +++ b/config/database.php @@ -1,6 +1,6 @@ 'mysql', + 'default' => env('DB_TYPE', 'mysql'), /* |-------------------------------------------------------------------------- @@ -44,46 +44,47 @@ return array( | */ - 'connections' => array( + 'connections' => [ - 'sqlite' => array( + 'sqlite' => [ 'driver' => 'sqlite', - 'database' => __DIR__.'/../database/production.sqlite', + 'database' => storage_path().'/database.sqlite', 'prefix' => '', - ), + ], - 'mysql' => array( + 'mysql' => [ 'driver' => 'mysql', - 'host' => 'localhost', - 'database' => 'ninja', - 'username' => 'ninja', - 'password' => 'ninja', + 'host' => env('DB_HOST', 'localhost'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', - ), - - 'pgsql' => array( + 'strict' => false, + ], + + 'pgsql' => [ 'driver' => 'pgsql', - 'host' => 'localhost', - 'database' => 'database', - 'username' => 'root', - 'password' => '', + 'host' => env('DB_HOST', 'localhost'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', - ), + ], - 'sqlsrv' => array( + 'sqlsrv' => [ 'driver' => 'sqlsrv', - 'host' => 'localhost', - 'database' => 'database', - 'username' => 'root', - 'password' => '', + 'host' => env('DB_HOST', 'localhost'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), 'prefix' => '', - ), + ], - ), + ], /* |-------------------------------------------------------------------------- @@ -92,7 +93,7 @@ return array( | | This table keeps track of all the migrations that have already run for | your application. Using this information, we can determine which of - | the migrations on disk have not actually be run in the databases. + | the migrations on disk haven't actually been run in the database. | */ @@ -109,16 +110,16 @@ return array( | */ - 'redis' => array( + 'redis' => [ 'cluster' => false, - 'default' => array( + 'default' => [ 'host' => '127.0.0.1', 'port' => 6379, 'database' => 0, - ), + ], - ), + ], -); +]; diff --git a/config/debugbar.php b/config/debugbar.php new file mode 100644 index 000000000000..a389dd17da36 --- /dev/null +++ b/config/debugbar.php @@ -0,0 +1,157 @@ + null, + + /* + |-------------------------------------------------------------------------- + | Storage settings + |-------------------------------------------------------------------------- + | + | DebugBar stores data for session/ajax requests. + | You can disable this, so the debugbar stores data in headers/session, + | but this can cause problems with large data collectors. + | By default, file storage (in the storage folder) is used. Redis and PDO + | can also be used. For PDO, run the package migrations first. + | + */ + 'storage' => array( + 'enabled' => true, + 'driver' => 'file', // redis, file, pdo + 'path' => storage_path() . '/debugbar', // For file driver + 'connection' => null, // Leave null for default connection (Redis/PDO) + ), + + /* + |-------------------------------------------------------------------------- + | Vendors + |-------------------------------------------------------------------------- + | + | Vendor files are included by default, but can be set to false. + | This can also be set to 'js' or 'css', to only include javascript or css vendor files. + | Vendor files are for css: font-awesome (including fonts) and highlight.js (css files) + | and for js: jquery and and highlight.js + | So if you want syntax highlighting, set it to true. + | jQuery is set to not conflict with existing jQuery scripts. + | + */ + + 'include_vendors' => true, + + /* + |-------------------------------------------------------------------------- + | Capture Ajax Requests + |-------------------------------------------------------------------------- + | + | The Debugbar can capture Ajax requests and display them. If you don't want this (ie. because of errors), + | you can use this option to disable sending the data through the headers. + | + */ + + 'capture_ajax' => true, + + /* + |-------------------------------------------------------------------------- + | DataCollectors + |-------------------------------------------------------------------------- + | + | Enable/disable DataCollectors + | + */ + + 'collectors' => array( + 'phpinfo' => true, // Php version + 'messages' => true, // Messages + 'time' => true, // Time Datalogger + 'memory' => true, // Memory usage + 'exceptions' => true, // Exception displayer + 'log' => true, // Logs from Monolog (merged in messages if enabled) + 'db' => true, // Show database (PDO) queries and bindings + 'views' => true, // Views with their data + 'route' => true, // Current route information + 'laravel' => false, // Laravel version and environment + 'events' => false, // All events fired + 'default_request' => false, // Regular or special Symfony request logger + 'symfony_request' => true, // Only one can be enabled.. + 'mail' => true, // Catch mail messages + 'logs' => false, // Add the latest log messages + 'files' => false, // Show the included files + 'config' => false, // Display config settings + 'auth' => false, // Display Laravel authentication status + 'session' => false, // Display session data in a separate tab + ), + + /* + |-------------------------------------------------------------------------- + | Extra options + |-------------------------------------------------------------------------- + | + | Configure some DataCollectors + | + */ + + 'options' => array( + 'auth' => array( + 'show_name' => false, // Also show the users name/email in the debugbar + ), + 'db' => array( + 'with_params' => true, // Render SQL with the parameters substituted + 'timeline' => false, // Add the queries to the timeline + 'backtrace' => false, // EXPERIMENTAL: Use a backtrace to find the origin of the query in your files. + 'explain' => array( // EXPERIMENTAL: Show EXPLAIN output on queries + 'enabled' => false, + 'types' => array('SELECT'), // array('SELECT', 'INSERT', 'UPDATE', 'DELETE'); for MySQL 5.6.3+ + ), + 'hints' => true, // Show hints for common mistakes + ), + 'mail' => array( + 'full_log' => false + ), + 'views' => array( + 'data' => false, //Note: Can slow down the application, because the data can be quite large.. + ), + 'route' => array( + 'label' => true // show complete route on bar + ), + 'logs' => array( + 'file' => null + ), + ), + + /* + |-------------------------------------------------------------------------- + | Inject Debugbar in Response + |-------------------------------------------------------------------------- + | + | Usually, the debugbar is added just before , by listening to the + | Response after the App is done. If you disable this, you have to add them + | in your template yourself. See http://phpdebugbar.com/docs/rendering.html + | + */ + + 'inject' => true, + + /* + |-------------------------------------------------------------------------- + | DebugBar route prefix + |-------------------------------------------------------------------------- + | + | Sometimes you want to set route prefix to be used by DebugBar to load + | its resources from. Usually the need comes from misconfigured web server or + | from trying to overcome bugs like this: http://trac.nginx.org/nginx/ticket/97 + | + */ + 'route_prefix' => '_debugbar', + +); diff --git a/config/filesystems.php b/config/filesystems.php new file mode 100644 index 000000000000..0221fa70dbe1 --- /dev/null +++ b/config/filesystems.php @@ -0,0 +1,71 @@ + 'local', + + /* + |-------------------------------------------------------------------------- + | Default Cloud Filesystem Disk + |-------------------------------------------------------------------------- + | + | Many applications store files both locally and in the cloud. For this + | reason, you may specify a default "cloud" driver here. This driver + | will be bound as the Cloud disk implementation in the container. + | + */ + + 'cloud' => 's3', + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Here you may configure as many filesystem "disks" as you wish, and you + | may even configure multiple disks of the same driver. Defaults have + | been setup for each driver as an example of the required options. + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path().'/app', + ], + + 's3' => [ + 'driver' => 's3', + 'key' => 'your-key', + 'secret' => 'your-secret', + 'region' => 'your-region', + 'bucket' => 'your-bucket', + ], + + 'rackspace' => [ + 'driver' => 'rackspace', + 'username' => 'your-username', + 'key' => 'your-key', + 'container' => 'your-container', + 'endpoint' => 'https://identity.api.rackspacecloud.com/v2.0/', + 'region' => 'IAD', + 'url_type' => 'publicURL' + ], + + ], + +]; diff --git a/config/former.php b/config/former.php new file mode 100644 index 000000000000..3c30b7ad2871 --- /dev/null +++ b/config/former.php @@ -0,0 +1,66 @@ + true, + + // The default form type + 'default_form_type' => 'horizontal', + + // The framework to be used by Former + 'framework' => 'TwitterBootstrap3', + + // Validation + //////////////////////////////////////////////////////////////////// + + // Whether Former should fetch errors from Session + 'fetch_errors' => true, + + // Whether Former should try to apply Validator rules as attributes + 'live_validation' => true, + + // Whether Former should automatically fetch error messages and + // display them next to the matching fields + 'error_messages' => true, + + // Checkables + //////////////////////////////////////////////////////////////////// + + // Whether checkboxes should always be present in the POST data, + // no matter if you checked them or not + 'push_checkboxes' => false, + + // The value a checkbox will have in the POST array if unchecked + 'unchecked_value' => 0, + + // Required fields + //////////////////////////////////////////////////////////////////// + + // The class to be added to required fields + 'required_class' => 'required', + + // A facultative text to append to the labels of required fields + 'required_text' => '*', + + // Translations + //////////////////////////////////////////////////////////////////// + + // Where Former should look for translations + 'translate_from' => 'texts', + + // Whether text that comes out of the translated + // should be capitalized (ex: email => Email) automatically + 'capitalize_translations' => true, + + // An array of attributes to automatically translate + 'translatable' => array( + 'help', + 'inlineHelp', + 'blockHelp', + 'placeholder', + 'data_placeholder', + 'label', + ), +); diff --git a/app/config/packages/anahkiasen/former/Nude.php b/config/former/Nude.php old mode 100755 new mode 100644 similarity index 100% rename from app/config/packages/anahkiasen/former/Nude.php rename to config/former/Nude.php diff --git a/app/config/packages/anahkiasen/former/TwitterBootstrap.php b/config/former/TwitterBootstrap.php old mode 100755 new mode 100644 similarity index 100% rename from app/config/packages/anahkiasen/former/TwitterBootstrap.php rename to config/former/TwitterBootstrap.php diff --git a/app/config/packages/anahkiasen/former/TwitterBootstrap3.php b/config/former/TwitterBootstrap3.php old mode 100755 new mode 100644 similarity index 100% rename from app/config/packages/anahkiasen/former/TwitterBootstrap3.php rename to config/former/TwitterBootstrap3.php diff --git a/app/config/packages/anahkiasen/former/ZurbFoundation.php b/config/former/ZurbFoundation.php old mode 100755 new mode 100644 similarity index 100% rename from app/config/packages/anahkiasen/former/ZurbFoundation.php rename to config/former/ZurbFoundation.php diff --git a/app/config/packages/anahkiasen/former/ZurbFoundation4.php b/config/former/ZurbFoundation4.php old mode 100755 new mode 100644 similarity index 100% rename from app/config/packages/anahkiasen/former/ZurbFoundation4.php rename to config/former/ZurbFoundation4.php diff --git a/config/ide-helper.php b/config/ide-helper.php new file mode 100644 index 000000000000..d0dd7d662082 --- /dev/null +++ b/config/ide-helper.php @@ -0,0 +1,89 @@ + '_ide_helper', + 'format' => 'php', + + /* + |-------------------------------------------------------------------------- + | Helper files to include + |-------------------------------------------------------------------------- + | + | Include helper files. By default not included, but can be toggled with the + | -- helpers (-H) option. Extra helper files can be included. + | + */ + + 'include_helpers' => false, + + 'helper_files' => array( + base_path().'/vendor/laravel/framework/src/Illuminate/Support/helpers.php', + ), + + /* + |-------------------------------------------------------------------------- + | Model locations to include + |-------------------------------------------------------------------------- + | + | Define in which directories the ide-helper:models command should look + | for models. + | + */ + + 'model_locations' => array( + 'app', + ), + + + /* + |-------------------------------------------------------------------------- + | Extra classes + |-------------------------------------------------------------------------- + | + | These implementations are not really extended, but called with magic functions + | + */ + + 'extra' => array( + 'Eloquent' => array('Illuminate\Database\Eloquent\Builder', 'Illuminate\Database\Query\Builder'), + 'Session' => array('Illuminate\Session\Store'), + ), + + 'magic' => array( + 'Log' => array( + 'debug' => 'Monolog\Logger::addDebug', + 'info' => 'Monolog\Logger::addInfo', + 'notice' => 'Monolog\Logger::addNotice', + 'warning' => 'Monolog\Logger::addWarning', + 'error' => 'Monolog\Logger::addError', + 'critical' => 'Monolog\Logger::addCritical', + 'alert' => 'Monolog\Logger::addAlert', + 'emergency' => 'Monolog\Logger::addEmergency', + ) + ), + + /* + |-------------------------------------------------------------------------- + | Interface implementations + |-------------------------------------------------------------------------- + | + | These interfaces will be replaced with the implementing class. Some interfaces + | are detected by the helpers, others can be listed below. + | + */ + + 'interfaces' => array( + '\Illuminate\Contracts\Auth\Authenticatable' => config('auth.model', 'App\User'), + ) + +); diff --git a/config/image.php b/config/image.php new file mode 100644 index 000000000000..b106809e245e --- /dev/null +++ b/config/image.php @@ -0,0 +1,20 @@ + 'gd' + +); diff --git a/app/config/mail.php b/config/mail.php old mode 100755 new mode 100644 similarity index 83% rename from app/config/mail.php rename to config/mail.php index 62dac9c3a572..0d5473eb370a --- a/app/config/mail.php +++ b/config/mail.php @@ -1,6 +1,6 @@ 'smtp', + 'driver' => env('MAIL_DRIVER', 'smtp'), /* |-------------------------------------------------------------------------- @@ -24,24 +24,24 @@ return array( | | Here you may provide the host address of the SMTP server used by your | applications. A default option is provided that is compatible with - | the Postmark mail service, which will provide reliable delivery. + | the Mailgun mail service which will provide reliable deliveries. | */ - 'host' => '', + 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), /* |-------------------------------------------------------------------------- | SMTP Host Port |-------------------------------------------------------------------------- | - | This is the SMTP port used by your application to delivery e-mails to - | users of your application. Like the host we have set this value to - | stay compatible with the Postmark e-mail application by default. + | This is the SMTP port used by your application to deliver e-mails to + | users of the application. Like the host we have set this value to + | stay compatible with the Mailgun e-mail application by default. | */ - 'port' => 587, + 'port' => env('MAIL_PORT', 587), /* |-------------------------------------------------------------------------- @@ -54,7 +54,7 @@ return array( | */ - 'from' => array('address' => 'contact@invoiceninja.com', 'name' => 'Invoice Ninja'), + 'from' => ['address' => env('MAIL_USERNAME'), 'name' => env('MAIL_FROM_NAME')], /* |-------------------------------------------------------------------------- @@ -67,7 +67,7 @@ return array( | */ - 'encryption' => 'tls', + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), /* |-------------------------------------------------------------------------- @@ -80,7 +80,7 @@ return array( | */ - 'username' => '', + 'username' => env('MAIL_USERNAME'), /* |-------------------------------------------------------------------------- @@ -93,7 +93,7 @@ return array( | */ - 'password' => '', + 'password' => env('MAIL_PASSWORD'), /* |-------------------------------------------------------------------------- @@ -121,4 +121,4 @@ return array( 'pretend' => false, -); \ No newline at end of file +]; diff --git a/app/controllers/.gitkeep b/config/packages/.gitkeep old mode 100755 new mode 100644 similarity index 100% rename from app/controllers/.gitkeep rename to config/packages/.gitkeep diff --git a/config/packages/anahkiasen/former/Nude.php b/config/packages/anahkiasen/former/Nude.php new file mode 100644 index 000000000000..18f5239b82d0 --- /dev/null +++ b/config/packages/anahkiasen/former/Nude.php @@ -0,0 +1,14 @@ + array( + + 'tag' => 'i', + 'set' => null, + 'prefix' => 'icon', + + ), + +); \ No newline at end of file diff --git a/config/packages/anahkiasen/former/TwitterBootstrap.php b/config/packages/anahkiasen/former/TwitterBootstrap.php new file mode 100644 index 000000000000..dfac6d7bc77e --- /dev/null +++ b/config/packages/anahkiasen/former/TwitterBootstrap.php @@ -0,0 +1,14 @@ + array( + + 'tag' => 'i', + 'set' => null, + 'prefix' => 'icon', + + ), + +); \ No newline at end of file diff --git a/config/packages/anahkiasen/former/TwitterBootstrap3.php b/config/packages/anahkiasen/former/TwitterBootstrap3.php new file mode 100644 index 000000000000..fad6b7882c89 --- /dev/null +++ b/config/packages/anahkiasen/former/TwitterBootstrap3.php @@ -0,0 +1,26 @@ + array( + 'large' => 'lg', + 'medium' => 'md', + 'small' => 'sm', + 'mini' => 'xs', + ), + + // Width of labels for horizontal forms expressed as viewport => grid columns + 'labelWidths' => array( + 'large' => 4, + 'small' => 4, + ), + + // HTML markup and classes used by Bootstrap 3 for icons + 'icon' => array( + 'tag' => 'span', + 'set' => 'glyphicon', + 'prefix' => 'glyphicon', + ), + +); \ No newline at end of file diff --git a/config/packages/anahkiasen/former/ZurbFoundation.php b/config/packages/anahkiasen/former/ZurbFoundation.php new file mode 100644 index 000000000000..9223978736d5 --- /dev/null +++ b/config/packages/anahkiasen/former/ZurbFoundation.php @@ -0,0 +1,35 @@ + array( + + 'large' => '', + 'medium' => null, + 'small' => 'mobile-', + 'mini' => null, + + ), + + // Width of labels for horizontal forms expressed as viewport => grid columns + 'labelWidths' => array( + + 'large' => 2, + 'small' => 4, + + ), + + // Classes to be applied to wrapped labels in horizontal forms + 'wrappedLabelClasses' => array('right','inline'), + + // HTML markup and classes used by Foundation 3 for icons + 'icon' => array( + + 'tag' => 'i', + 'set' => null, + 'prefix' => 'fi', + + ), + +); \ No newline at end of file diff --git a/config/packages/anahkiasen/former/ZurbFoundation4.php b/config/packages/anahkiasen/former/ZurbFoundation4.php new file mode 100644 index 000000000000..4f55a44f9c40 --- /dev/null +++ b/config/packages/anahkiasen/former/ZurbFoundation4.php @@ -0,0 +1,36 @@ + array( + + 'large' => 'large', + 'medium' => null, + 'small' => 'small', + 'mini' => null, + + ), + + // Width of labels for horizontal forms expressed as viewport => grid columns + 'labelWidths' => array( + + 'small' => 3, + + ), + + // Classes to be applied to wrapped labels in horizontal forms + 'wrappedLabelClasses' => array('right','inline'), + + // HTML markup and classes used by Foundation 4 for icons + 'icon' => array( + + 'tag' => 'i', + 'set' => 'general', + 'prefix' => 'foundicon', + + ), + +); \ No newline at end of file diff --git a/app/config/packages/anahkiasen/former/config.php b/config/packages/anahkiasen/former/config.php old mode 100755 new mode 100644 similarity index 100% rename from app/config/packages/anahkiasen/former/config.php rename to config/packages/anahkiasen/former/config.php diff --git a/app/config/packages/ignited/laravel-omnipay/config.php b/config/packages/ignited/laravel-omnipay/config.php old mode 100755 new mode 100644 similarity index 100% rename from app/config/packages/ignited/laravel-omnipay/config.php rename to config/packages/ignited/laravel-omnipay/config.php diff --git a/app/database/migrations/.gitkeep b/config/packages/zizaco/confide/.gitkeep old mode 100755 new mode 100644 similarity index 100% rename from app/database/migrations/.gitkeep rename to config/packages/zizaco/confide/.gitkeep diff --git a/app/config/packages/zizaco/confide/config.php b/config/packages/zizaco/confide/config.php old mode 100755 new mode 100644 similarity index 100% rename from app/config/packages/zizaco/confide/config.php rename to config/packages/zizaco/confide/config.php diff --git a/app/config/queue.php b/config/queue.php old mode 100755 new mode 100644 similarity index 54% rename from app/config/queue.php rename to config/queue.php index da1512ca7d5e..9c39a13644a1 --- a/app/config/queue.php +++ b/config/queue.php @@ -1,6 +1,6 @@ 'sync', + 'default' => env('QUEUE_DRIVER', 'sync'), /* |-------------------------------------------------------------------------- @@ -28,51 +29,64 @@ return array( | */ - 'connections' => array( + 'connections' => [ - 'sync' => array( + 'sync' => [ 'driver' => 'sync', - ), + ], - 'beanstalkd' => array( + 'database' => [ + 'driver' => 'database', + 'table' => 'jobs', + 'queue' => 'default', + 'expire' => 60, + ], + + 'beanstalkd' => [ 'driver' => 'beanstalkd', 'host' => 'localhost', 'queue' => 'default', - ), + 'ttr' => 60, + ], - 'sqs' => array( + 'sqs' => [ 'driver' => 'sqs', 'key' => 'your-public-key', 'secret' => 'your-secret-key', 'queue' => 'your-queue-url', 'region' => 'us-east-1', - ), + ], - 'iron' => array( + 'iron' => [ 'driver' => 'iron', - 'project' => 'your-project-id', + 'host' => 'mq-aws-us-east-1.iron.io', 'token' => 'your-token', + 'project' => 'your-project-id', 'queue' => 'your-queue-name', - ), + 'encrypt' => true, + ], - ), + 'redis' => [ + 'driver' => 'redis', + 'queue' => 'default', + 'expire' => 60, + ], + ], - /* - |-------------------------------------------------------------------------- - | Failed Queue Jobs - |-------------------------------------------------------------------------- - | - | These options configure the behavior of failed queue job logging so you - | can control which database and table are used to store the jobs that - | have failed. You may change them to any database / table you wish. - | - */ + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control which database and table are used to store the jobs that + | have failed. You may change them to any database / table you wish. + | + */ - 'failed' => array( + 'failed' => [ + 'database' => 'mysql', 'table' => 'failed_jobs', + ], - 'database' => 'mysql', 'table' => 'failed_jobs', - - ), - -); +]; diff --git a/config/services.php b/config/services.php new file mode 100644 index 000000000000..dddc9866010f --- /dev/null +++ b/config/services.php @@ -0,0 +1,37 @@ + [ + 'domain' => '', + 'secret' => '', + ], + + 'mandrill' => [ + 'secret' => '', + ], + + 'ses' => [ + 'key' => '', + 'secret' => '', + 'region' => 'us-east-1', + ], + + 'stripe' => [ + 'model' => 'User', + 'secret' => '', + ], + +]; diff --git a/app/config/session.php b/config/session.php old mode 100755 new mode 100644 similarity index 73% rename from app/config/session.php rename to config/session.php index 64b3795f3d66..47470fabc72e --- a/app/config/session.php +++ b/config/session.php @@ -1,6 +1,6 @@ 'native', + 'driver' => env('SESSION_DRIVER', 'file'), /* |-------------------------------------------------------------------------- @@ -25,7 +25,7 @@ return array( | | Here you may specify the number of minutes that you wish the session | to be allowed to remain idle before it expires. If you want them - | to immediately expire when the browser closes, set it to zero. + | to immediately expire on the browser closing, set that option. | */ @@ -33,6 +33,19 @@ return array( 'expire_on_close' => false, + /* + |-------------------------------------------------------------------------- + | Session Encryption + |-------------------------------------------------------------------------- + | + | This option allows you to easily specify that all of your session data + | should be encrypted before it is stored. All encryption will be run + | automatically by Laravel and you can use the Session like normal. + | + */ + + 'encrypt' => false, + /* |-------------------------------------------------------------------------- | Session File Location @@ -44,16 +57,16 @@ return array( | */ - 'files' => storage_path().'/sessions', + 'files' => storage_path().'/framework/sessions', /* |-------------------------------------------------------------------------- | Session Database Connection |-------------------------------------------------------------------------- | - | When using the "database" session driver, you may specify the database - | connection that should be used to manage your sessions. This should - | correspond to a connection in your "database" configuration file. + | When using the "database" or "redis" session drivers, you may specify a + | connection that should be used to manage these sessions. This should + | correspond to a connection in your database configuration options. | */ @@ -83,7 +96,7 @@ return array( | */ - 'lottery' => array(2, 100), + 'lottery' => [2, 100], /* |-------------------------------------------------------------------------- @@ -124,18 +137,17 @@ return array( 'domain' => null, + /* + |-------------------------------------------------------------------------- + | HTTPS Only Cookies + |-------------------------------------------------------------------------- + | + | By setting this option to true, session cookies will only be sent back + | to the server if the browser has a HTTPS connection. This will keep + | the cookie from being sent to you if it can not be done securely. + | + */ - /* - |-------------------------------------------------------------------------- - | HTTPS Only Cookies - |-------------------------------------------------------------------------- - | - | By setting this option to true, session cookies will only be sent back - | to the server if the browser has a HTTPS connection. This will keep - | the cookie from being sent to you if it can not be done securely. - | - */ + 'secure' => false, - 'secure' => false, - -); +]; diff --git a/app/config/view.php b/config/view.php old mode 100755 new mode 100644 similarity index 61% rename from app/config/view.php rename to config/view.php index 08e56af1d6d6..88fc534aebe6 --- a/app/config/view.php +++ b/config/view.php @@ -1,6 +1,6 @@ array(__DIR__.'/../views'), + 'paths' => [ + realpath(base_path('resources/views')) + ], /* |-------------------------------------------------------------------------- - | Pagination View + | Compiled View Path |-------------------------------------------------------------------------- | - | This view will be used to render the pagination link output, and can - | be easily customized here to show any view you like. A clean view - | compatible with Twitter's Bootstrap is given to you by default. + | This option determines where all the compiled Blade templates will be + | stored for your application. Typically, this is within the storage + | directory. However, as usual, you are free to change this value. | */ - 'pagination' => 'pagination::bootstrap3', + 'compiled' => realpath(storage_path().'/framework/views'), -); +]; diff --git a/database/.gitignore b/database/.gitignore new file mode 100644 index 000000000000..9b1dffd90fdc --- /dev/null +++ b/database/.gitignore @@ -0,0 +1 @@ +*.sqlite diff --git a/app/database/seeds/.gitkeep b/database/migrations/.gitkeep old mode 100755 new mode 100644 similarity index 100% rename from app/database/seeds/.gitkeep rename to database/migrations/.gitkeep diff --git a/app/database/migrations/2013_11_05_180133_confide_setup_users_table.php b/database/migrations/2013_11_05_180133_confide_setup_users_table.php old mode 100755 new mode 100644 similarity index 100% rename from app/database/migrations/2013_11_05_180133_confide_setup_users_table.php rename to database/migrations/2013_11_05_180133_confide_setup_users_table.php diff --git a/app/database/migrations/2013_11_28_195703_setup_countries_table.php b/database/migrations/2013_11_28_195703_setup_countries_table.php old mode 100755 new mode 100644 similarity index 100% rename from app/database/migrations/2013_11_28_195703_setup_countries_table.php rename to database/migrations/2013_11_28_195703_setup_countries_table.php diff --git a/app/database/migrations/2014_02_13_151500_add_cascase_drops.php b/database/migrations/2014_02_13_151500_add_cascase_drops.php similarity index 100% rename from app/database/migrations/2014_02_13_151500_add_cascase_drops.php rename to database/migrations/2014_02_13_151500_add_cascase_drops.php diff --git a/app/database/migrations/2014_02_19_151817_add_support_for_invoice_designs.php b/database/migrations/2014_02_19_151817_add_support_for_invoice_designs.php similarity index 100% rename from app/database/migrations/2014_02_19_151817_add_support_for_invoice_designs.php rename to database/migrations/2014_02_19_151817_add_support_for_invoice_designs.php diff --git a/app/database/migrations/2014_03_03_155556_add_phone_to_account.php b/database/migrations/2014_03_03_155556_add_phone_to_account.php similarity index 100% rename from app/database/migrations/2014_03_03_155556_add_phone_to_account.php rename to database/migrations/2014_03_03_155556_add_phone_to_account.php diff --git a/app/database/migrations/2014_03_19_201454_add_language_support.php b/database/migrations/2014_03_19_201454_add_language_support.php similarity index 100% rename from app/database/migrations/2014_03_19_201454_add_language_support.php rename to database/migrations/2014_03_19_201454_add_language_support.php diff --git a/app/database/migrations/2014_03_20_200300_create_payment_libraries.php b/database/migrations/2014_03_20_200300_create_payment_libraries.php similarity index 100% rename from app/database/migrations/2014_03_20_200300_create_payment_libraries.php rename to database/migrations/2014_03_20_200300_create_payment_libraries.php diff --git a/app/database/migrations/2014_03_23_051736_enable_forcing_jspdf.php b/database/migrations/2014_03_23_051736_enable_forcing_jspdf.php similarity index 100% rename from app/database/migrations/2014_03_23_051736_enable_forcing_jspdf.php rename to database/migrations/2014_03_23_051736_enable_forcing_jspdf.php diff --git a/app/database/migrations/2014_03_25_102200_add_sort_and_recommended_to_gateways.php b/database/migrations/2014_03_25_102200_add_sort_and_recommended_to_gateways.php similarity index 100% rename from app/database/migrations/2014_03_25_102200_add_sort_and_recommended_to_gateways.php rename to database/migrations/2014_03_25_102200_add_sort_and_recommended_to_gateways.php diff --git a/app/database/migrations/2014_04_03_191105_add_pro_plan.php b/database/migrations/2014_04_03_191105_add_pro_plan.php similarity index 100% rename from app/database/migrations/2014_04_03_191105_add_pro_plan.php rename to database/migrations/2014_04_03_191105_add_pro_plan.php diff --git a/app/database/migrations/2014_04_17_100523_add_remember_token.php b/database/migrations/2014_04_17_100523_add_remember_token.php similarity index 100% rename from app/database/migrations/2014_04_17_100523_add_remember_token.php rename to database/migrations/2014_04_17_100523_add_remember_token.php diff --git a/app/database/migrations/2014_04_17_145108_add_custom_fields.php b/database/migrations/2014_04_17_145108_add_custom_fields.php similarity index 100% rename from app/database/migrations/2014_04_17_145108_add_custom_fields.php rename to database/migrations/2014_04_17_145108_add_custom_fields.php diff --git a/app/database/migrations/2014_04_23_170909_add_products_settings.php b/database/migrations/2014_04_23_170909_add_products_settings.php similarity index 100% rename from app/database/migrations/2014_04_23_170909_add_products_settings.php rename to database/migrations/2014_04_23_170909_add_products_settings.php diff --git a/app/database/migrations/2014_04_29_174315_add_advanced_settings.php b/database/migrations/2014_04_29_174315_add_advanced_settings.php similarity index 100% rename from app/database/migrations/2014_04_29_174315_add_advanced_settings.php rename to database/migrations/2014_04_29_174315_add_advanced_settings.php diff --git a/app/database/migrations/2014_05_17_175626_add_quotes.php b/database/migrations/2014_05_17_175626_add_quotes.php similarity index 100% rename from app/database/migrations/2014_05_17_175626_add_quotes.php rename to database/migrations/2014_05_17_175626_add_quotes.php diff --git a/app/database/migrations/2014_06_17_131940_add_accepted_credit_cards_to_account_gateways.php b/database/migrations/2014_06_17_131940_add_accepted_credit_cards_to_account_gateways.php similarity index 100% rename from app/database/migrations/2014_06_17_131940_add_accepted_credit_cards_to_account_gateways.php rename to database/migrations/2014_06_17_131940_add_accepted_credit_cards_to_account_gateways.php diff --git a/app/database/migrations/2014_07_13_142654_one_click_install.php b/database/migrations/2014_07_13_142654_one_click_install.php similarity index 100% rename from app/database/migrations/2014_07_13_142654_one_click_install.php rename to database/migrations/2014_07_13_142654_one_click_install.php diff --git a/app/database/migrations/2014_07_17_205900_support_hiding_quantity.php b/database/migrations/2014_07_17_205900_support_hiding_quantity.php similarity index 100% rename from app/database/migrations/2014_07_17_205900_support_hiding_quantity.php rename to database/migrations/2014_07_17_205900_support_hiding_quantity.php diff --git a/app/database/migrations/2014_07_24_171214_add_zapier_support.php b/database/migrations/2014_07_24_171214_add_zapier_support.php similarity index 100% rename from app/database/migrations/2014_07_24_171214_add_zapier_support.php rename to database/migrations/2014_07_24_171214_add_zapier_support.php diff --git a/app/database/migrations/2014_10_01_141248_add_company_vat_number.php b/database/migrations/2014_10_01_141248_add_company_vat_number.php similarity index 100% rename from app/database/migrations/2014_10_01_141248_add_company_vat_number.php rename to database/migrations/2014_10_01_141248_add_company_vat_number.php diff --git a/app/database/migrations/2014_10_05_141856_track_last_seen_message.php b/database/migrations/2014_10_05_141856_track_last_seen_message.php similarity index 100% rename from app/database/migrations/2014_10_05_141856_track_last_seen_message.php rename to database/migrations/2014_10_05_141856_track_last_seen_message.php diff --git a/app/database/migrations/2014_10_06_103529_add_timesheets.php b/database/migrations/2014_10_06_103529_add_timesheets.php similarity index 100% rename from app/database/migrations/2014_10_06_103529_add_timesheets.php rename to database/migrations/2014_10_06_103529_add_timesheets.php diff --git a/app/database/migrations/2014_10_06_195330_add_invoice_design_table.php b/database/migrations/2014_10_06_195330_add_invoice_design_table.php similarity index 100% rename from app/database/migrations/2014_10_06_195330_add_invoice_design_table.php rename to database/migrations/2014_10_06_195330_add_invoice_design_table.php diff --git a/app/database/migrations/2014_10_13_054100_add_invoice_number_settings.php b/database/migrations/2014_10_13_054100_add_invoice_number_settings.php similarity index 100% rename from app/database/migrations/2014_10_13_054100_add_invoice_number_settings.php rename to database/migrations/2014_10_13_054100_add_invoice_number_settings.php diff --git a/app/database/migrations/2014_10_14_225227_add_danish_translation.php b/database/migrations/2014_10_14_225227_add_danish_translation.php similarity index 85% rename from app/database/migrations/2014_10_14_225227_add_danish_translation.php rename to database/migrations/2014_10_14_225227_add_danish_translation.php index b7f8b42d5b42..226ac9b96126 100644 --- a/app/database/migrations/2014_10_14_225227_add_danish_translation.php +++ b/database/migrations/2014_10_14_225227_add_danish_translation.php @@ -22,7 +22,7 @@ class AddDanishTranslation extends Migration { */ public function down() { - $language = Language::whereLocale('da')->first(); + $language = \App\Models\Language::whereLocale('da')->first(); $language->delete(); } diff --git a/app/database/migrations/2014_10_22_174452_add_affiliate_price.php b/database/migrations/2014_10_22_174452_add_affiliate_price.php similarity index 100% rename from app/database/migrations/2014_10_22_174452_add_affiliate_price.php rename to database/migrations/2014_10_22_174452_add_affiliate_price.php diff --git a/app/database/migrations/2014_10_30_184126_add_company_id_number.php b/database/migrations/2014_10_30_184126_add_company_id_number.php similarity index 100% rename from app/database/migrations/2014_10_30_184126_add_company_id_number.php rename to database/migrations/2014_10_30_184126_add_company_id_number.php diff --git a/app/database/migrations/2014_11_04_200406_allow_null_client_currency.php b/database/migrations/2014_11_04_200406_allow_null_client_currency.php similarity index 100% rename from app/database/migrations/2014_11_04_200406_allow_null_client_currency.php rename to database/migrations/2014_11_04_200406_allow_null_client_currency.php diff --git a/app/database/migrations/2014_12_03_154119_add_discount_type.php b/database/migrations/2014_12_03_154119_add_discount_type.php similarity index 100% rename from app/database/migrations/2014_12_03_154119_add_discount_type.php rename to database/migrations/2014_12_03_154119_add_discount_type.php diff --git a/app/database/migrations/2015_02_12_102940_add_email_templates.php b/database/migrations/2015_02_12_102940_add_email_templates.php similarity index 100% rename from app/database/migrations/2015_02_12_102940_add_email_templates.php rename to database/migrations/2015_02_12_102940_add_email_templates.php diff --git a/app/database/migrations/2015_02_17_131714_support_token_billing.php b/database/migrations/2015_02_17_131714_support_token_billing.php similarity index 100% rename from app/database/migrations/2015_02_17_131714_support_token_billing.php rename to database/migrations/2015_02_17_131714_support_token_billing.php diff --git a/app/database/migrations/2015_02_27_081836_add_invoice_footer.php b/database/migrations/2015_02_27_081836_add_invoice_footer.php similarity index 100% rename from app/database/migrations/2015_02_27_081836_add_invoice_footer.php rename to database/migrations/2015_02_27_081836_add_invoice_footer.php diff --git a/app/database/migrations/2015_03_03_140259_add_tokens.php b/database/migrations/2015_03_03_140259_add_tokens.php similarity index 100% rename from app/database/migrations/2015_03_03_140259_add_tokens.php rename to database/migrations/2015_03_03_140259_add_tokens.php diff --git a/app/database/migrations/2015_03_09_151011_add_ip_to_activity.php b/database/migrations/2015_03_09_151011_add_ip_to_activity.php similarity index 100% rename from app/database/migrations/2015_03_09_151011_add_ip_to_activity.php rename to database/migrations/2015_03_09_151011_add_ip_to_activity.php diff --git a/app/database/migrations/2015_03_15_174122_add_pdf_email_attachment_option.php b/database/migrations/2015_03_15_174122_add_pdf_email_attachment_option.php similarity index 100% rename from app/database/migrations/2015_03_15_174122_add_pdf_email_attachment_option.php rename to database/migrations/2015_03_15_174122_add_pdf_email_attachment_option.php diff --git a/database/migrations/2015_03_30_100000_create_password_resets_table.php b/database/migrations/2015_03_30_100000_create_password_resets_table.php new file mode 100644 index 000000000000..30be80c253d2 --- /dev/null +++ b/database/migrations/2015_03_30_100000_create_password_resets_table.php @@ -0,0 +1,28 @@ + 'Y-M-d', 'picker_format' => 'yyyy-M-dd', 'label' => '2013-03-10')); PaymentLibrary::create(['name' => 'Omnipay']); - PaymentLibrary::create(['name' => 'PHP-Payments']); /* d, dd: Numeric date, no leading zero and leading zero, respectively. Eg, 5, 05. diff --git a/app/database/seeds/CountriesSeeder.php b/database/seeds/CountriesSeeder.php old mode 100755 new mode 100644 similarity index 100% rename from app/database/seeds/CountriesSeeder.php rename to database/seeds/CountriesSeeder.php diff --git a/app/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php old mode 100755 new mode 100644 similarity index 100% rename from app/database/seeds/DatabaseSeeder.php rename to database/seeds/DatabaseSeeder.php diff --git a/app/database/seeds/PaymentLibrariesSeeder.php b/database/seeds/PaymentLibrariesSeeder.php similarity index 98% rename from app/database/seeds/PaymentLibrariesSeeder.php rename to database/seeds/PaymentLibrariesSeeder.php index 186b656f769f..d676ea97058a 100644 --- a/app/database/seeds/PaymentLibrariesSeeder.php +++ b/database/seeds/PaymentLibrariesSeeder.php @@ -1,5 +1,7 @@ Concatenate files. - - - -## Getting Started -This plugin requires Grunt `~0.4.0` - -If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command: - -```shell -npm install grunt-contrib-concat --save-dev -``` - -Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript: - -```js -grunt.loadNpmTasks('grunt-contrib-concat'); -``` - - - - -## Concat task -_Run this task with the `grunt concat` command._ - -Task targets, files and options may be specified according to the Grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide. - -### Options - -#### separator -Type: `String` -Default: `grunt.util.linefeed` - -Concatenated files will be joined on this string. If you're post-processing concatenated JavaScript files with a minifier, you may need to use a semicolon `';'` as the separator. - -#### banner -Type: `String` -Default: empty string - -This string will be prepended to the beginning of the concatenated output. It is processed using [grunt.template.process][], using the default options. - -_(Default processing options are explained in the [grunt.template.process][] documentation)_ - -#### footer -Type: `String` -Default: empty string - -This string will be appended to the end of the concatenated output. It is processed using [grunt.template.process][], using the default options. - -_(Default processing options are explained in the [grunt.template.process][] documentation)_ - -#### stripBanners -Type: `Boolean` `Object` -Default: `false` - -Strip JavaScript banner comments from source files. - -* `false` - No comments are stripped. -* `true` - `/* ... */` block comments are stripped, but _NOT_ `/*! ... */` comments. -* `options` object: - * By default, behaves as if `true` were specified. - * `block` - If true, _all_ block comments are stripped. - * `line` - If true, any contiguous _leading_ `//` line comments are stripped. - -#### process -Type: `Boolean` `Object` `Function` -Default: `false` - -Process source files before concatenating, either as [templates][] or with a custom function. - -* `false` - No processing will occur. -* `true` - Process source files using [grunt.template.process][] defaults. -* `data` object - Process source files using [grunt.template.process][], using the specified options. -* `function(src, filepath)` - Process source files using the given function, called once for each file. The returned value will be used as source code. - -_(Default processing options are explained in the [grunt.template.process][] documentation)_ - - [templates]: https://github.com/gruntjs/grunt-docs/blob/master/grunt.template.md - [grunt.template.process]: https://github.com/gruntjs/grunt-docs/blob/master/grunt.template.md#grunttemplateprocess - -### Usage Examples - -#### Concatenating with a custom separator - -In this example, running `grunt concat:dist` (or `grunt concat` because `concat` is a [multi task][multitask]) will concatenate the three specified source files (in order), joining files with `;` and writing the output to `dist/built.js`. - -```js -// Project configuration. -grunt.initConfig({ - concat: { - options: { - separator: ';', - }, - dist: { - src: ['src/intro.js', 'src/project.js', 'src/outro.js'], - dest: 'dist/built.js', - }, - }, -}); -``` - -#### Banner comments - -In this example, running `grunt concat:dist` will first strip any preexisting banner comment from the `src/project.js` file, then concatenate the result with a newly-generated banner comment, writing the output to `dist/built.js`. - -This generated banner will be the contents of the `banner` template string interpolated with the config object. In this case, those properties are the values imported from the `package.json` file (which are available via the `pkg` config property) plus today's date. - -_Note: you don't have to use an external JSON file. It's also valid to create the `pkg` object inline in the config. That being said, if you already have a JSON file, you might as well reference it._ - -```js -// Project configuration. -grunt.initConfig({ - pkg: grunt.file.readJSON('package.json'), - concat: { - options: { - stripBanners: true, - banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' + - '<%= grunt.template.today("yyyy-mm-dd") %> */', - }, - dist: { - src: ['src/project.js'], - dest: 'dist/built.js', - }, - }, -}); -``` - -#### Multiple targets - -In this example, running `grunt concat` will build two separate files. One "basic" version, with the main file essentially just copied to `dist/basic.js`, and another "with_extras" concatenated version written to `dist/with_extras.js`. - -While each concat target can be built individually by running `grunt concat:basic` or `grunt concat:extras`, running `grunt concat` will build all concat targets. This is because `concat` is a [multi task][multitask]. - -```js -// Project configuration. -grunt.initConfig({ - concat: { - basic: { - src: ['src/main.js'], - dest: 'dist/basic.js', - }, - extras: { - src: ['src/main.js', 'src/extras.js'], - dest: 'dist/with_extras.js', - }, - }, -}); -``` - -#### Multiple files per target - -Like the previous example, in this example running `grunt concat` will build two separate files. One "basic" version, with the main file essentially just copied to `dist/basic.js`, and another "with_extras" concatenated version written to `dist/with_extras.js`. - -This example differs in that both files are built under the same target. - -Using the `files` object, you can have list any number of source-destination pairs. - -```js -// Project configuration. -grunt.initConfig({ - concat: { - basic_and_extras: { - files: { - 'dist/basic.js': ['src/main.js'], - 'dist/with_extras.js': ['src/main.js', 'src/extras.js'], - }, - }, - }, -}); -``` - -#### Dynamic filenames - -Filenames can be generated dynamically by using `<%= %>` delimited underscore templates as filenames. - -In this example, running `grunt concat:dist` generates a destination file whose name is generated from the `name` and `version` properties of the referenced `package.json` file (via the `pkg` config property). - -```js -// Project configuration. -grunt.initConfig({ - pkg: grunt.file.readJSON('package.json'), - concat: { - dist: { - src: ['src/main.js'], - dest: 'dist/<%= pkg.name %>-<%= pkg.version %>.js', - }, - }, -}); -``` - -#### Advanced dynamic filenames - -In this more involved example, running `grunt concat` will build two separate files (because `concat` is a [multi task][multitask]). The destination file paths will be expanded dynamically based on the specified templates, recursively if necessary. - -For example, if the `package.json` file contained `{"name": "awesome", "version": "1.0.0"}`, the files `dist/awesome/1.0.0/basic.js` and `dist/awesome/1.0.0/with_extras.js` would be generated. - -```js -// Project configuration. -grunt.initConfig({ - pkg: grunt.file.readJSON('package.json'), - dirs: { - src: 'src/files', - dest: 'dist/<%= pkg.name %>/<%= pkg.version %>', - }, - concat: { - basic: { - src: ['<%= dirs.src %>/main.js'], - dest: '<%= dirs.dest %>/basic.js', - }, - extras: { - src: ['<%= dirs.src %>/main.js', '<%= dirs.src %>/extras.js'], - dest: '<%= dirs.dest %>/with_extras.js', - }, - }, -}); -``` - -#### Invalid or Missing Files Warning -If you would like the `concat` task to warn if a given file is missing or invalid be sure to set `nonull` to `true`: - -```js -grunt.initConfig({ - concat: { - missing: { - src: ['src/invalid_or_missing_file'], - dest: 'compiled.js', - nonull: true, - }, - }, -}); -``` - -See [configuring files for a task](http://gruntjs.com/configuring-tasks#files) for how to configure file globbing in Grunt. - - -#### Custom process function -If you would like to do any custom processing before concatenating, use a custom process function: - -```js -grunt.initConfig({ - concat: { - dist: { - options: { - // Replace all 'use strict' statements in the code with a single one at the top - banner: "'use strict';\n", - process: function(src, filepath) { - return '// Source: ' + filepath + '\n' + - src.replace(/(^|\n)[ \t]*('use strict'|"use strict");?\s*/g, '$1'); - }, - }, - files: { - 'dist/built.js': ['src/project.js'], - }, - }, - }, -}); -``` - -[multitask]: http://gruntjs.com/creating-tasks#multi-tasks - - -## Release History - - * 2014-03-21   v0.4.0   README updates. Output updates. - * 2013-04-25   v0.3.0   Add option to process files with a custom function. - * 2013-04-08   v0.2.0   Don't normalize separator to allow user to set LF even on a Windows environment. - * 2013-02-22   v0.1.3   Support footer option. - * 2013-02-15   v0.1.2   First official release for Grunt 0.4.0. - * 2013-01-18   v0.1.2rc6   Updating grunt/gruntplugin dependencies to rc6. Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions. - * 2013-01-09   v0.1.2rc5   Updating to work with grunt v0.4.0rc5. Switching back to this.files api. - * 2012-11-13   v0.1.1   Switch to this.file api internally. - * 2012-10-03   v0.1.0   Work in progress, not yet officially released. - ---- - -Task submitted by ["Cowboy" Ben Alman](http://benalman.com/) - -*This file was generated on Mon Mar 31 2014 11:20:28.* diff --git a/node_modules/grunt-contrib-concat/node_modules/chalk/index.js b/node_modules/grunt-contrib-concat/node_modules/chalk/index.js deleted file mode 100644 index a21f702233e6..000000000000 --- a/node_modules/grunt-contrib-concat/node_modules/chalk/index.js +++ /dev/null @@ -1,63 +0,0 @@ -'use strict'; -var ansi = require('ansi-styles'); -var stripAnsi = require('strip-ansi'); -var hasColor = require('has-color'); -var defineProps = Object.defineProperties; -var chalk = module.exports; - -var styles = (function () { - var ret = {}; - - ansi.grey = ansi.gray; - - Object.keys(ansi).forEach(function (key) { - ret[key] = { - get: function () { - this._styles.push(key); - return this; - } - }; - }); - - return ret; -})(); - -function init() { - var ret = {}; - - Object.keys(styles).forEach(function (name) { - ret[name] = { - get: function () { - var obj = defineProps(function self() { - var str = [].slice.call(arguments).join(' '); - - if (!chalk.enabled) { - return str; - } - - return self._styles.reduce(function (str, name) { - var code = ansi[name]; - return str ? code.open + str + code.close : ''; - }, str); - }, styles); - - obj._styles = []; - - return obj[name]; - } - } - }); - - return ret; -} - -defineProps(chalk, init()); - -chalk.styles = ansi; -chalk.stripColor = stripAnsi; -chalk.supportsColor = hasColor; - -// detect mode if not set manually -if (chalk.enabled === undefined) { - chalk.enabled = chalk.supportsColor; -} diff --git a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/.bin/strip-ansi b/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/.bin/strip-ansi deleted file mode 120000 index b65c9f81df9d..000000000000 --- a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/.bin/strip-ansi +++ /dev/null @@ -1 +0,0 @@ -../strip-ansi/cli.js \ No newline at end of file diff --git a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/ansi-styles/ansi-styles.js b/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/ansi-styles/ansi-styles.js deleted file mode 100644 index 3da548c405db..000000000000 --- a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/ansi-styles/ansi-styles.js +++ /dev/null @@ -1,38 +0,0 @@ -'use strict'; -var styles = module.exports; - -var codes = { - reset: [0, 0], - - bold: [1, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - strikethrough: [9, 29], - - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - gray: [90, 39], - - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49] -}; - -Object.keys(codes).forEach(function (key) { - var val = codes[key]; - var style = styles[key] = {}; - style.open = '\x1b[' + val[0] + 'm'; - style.close = '\x1b[' + val[1] + 'm'; -}); diff --git a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/ansi-styles/package.json b/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/ansi-styles/package.json deleted file mode 100644 index 2d61dabe918d..000000000000 --- a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/ansi-styles/package.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "name": "ansi-styles", - "version": "1.0.0", - "description": "ANSI escape codes for colorizing strings in the terminal", - "keywords": [ - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "homepage": "https://github.com/sindresorhus/ansi-styles", - "bugs": { - "url": "https://github.com/sindresorhus/ansi-styles/issues" - }, - "license": "MIT", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "http://sindresorhus.com" - }, - "files": [ - "ansi-styles.js" - ], - "main": "ansi-styles", - "repository": { - "type": "git", - "url": "git://github.com/sindresorhus/ansi-styles.git" - }, - "scripts": { - "test": "mocha" - }, - "devDependencies": { - "mocha": "~1.12.0" - }, - "engines": { - "node": ">=0.8.0" - }, - "readme": "# ansi-styles [![Build Status](https://secure.travis-ci.org/sindresorhus/ansi-styles.png?branch=master)](http://travis-ci.org/sindresorhus/ansi-styles)\n\n> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for colorizing strings in the terminal.\n\nYou probably want the higher-level [chalk](https://github.com/sindresorhus/chalk) module for styling your strings.\n\n![screenshot](screenshot.png)\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/ansi-styles): `npm install --save ansi-styles`\n\n\n## Example\n\n```js\nvar ansi = require('ansi-styles');\n\nconsole.log(ansi.green.open + 'Hello world!' + ansi.green.close);\n```\n\n## API\n\nEach style has an `open` and `close` property.\n\n\n## Styles\n\n### General\n\n- reset\n- bold\n- italic\n- underline\n- inverse\n- strikethrough\n\n### Text colors\n\n- black\n- red\n- green\n- yellow\n- blue\n- magenta\n- cyan\n- white\n- gray\n\n### Background colors\n\n- bgBlack\n- bgRed\n- bgGreen\n- bgYellow\n- bgBlue\n- bgMagenta\n- bgCyan\n- bgWhite\n\n\n## License\n\nMIT © [Sindre Sorhus](http://sindresorhus.com)\n", - "readmeFilename": "readme.md", - "_id": "ansi-styles@1.0.0", - "_from": "ansi-styles@~1.0.0" -} diff --git a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/ansi-styles/readme.md b/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/ansi-styles/readme.md deleted file mode 100644 index 4ac8cbd0ab76..000000000000 --- a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/ansi-styles/readme.md +++ /dev/null @@ -1,65 +0,0 @@ -# ansi-styles [![Build Status](https://secure.travis-ci.org/sindresorhus/ansi-styles.png?branch=master)](http://travis-ci.org/sindresorhus/ansi-styles) - -> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for colorizing strings in the terminal. - -You probably want the higher-level [chalk](https://github.com/sindresorhus/chalk) module for styling your strings. - -![screenshot](screenshot.png) - - -## Install - -Install with [npm](https://npmjs.org/package/ansi-styles): `npm install --save ansi-styles` - - -## Example - -```js -var ansi = require('ansi-styles'); - -console.log(ansi.green.open + 'Hello world!' + ansi.green.close); -``` - -## API - -Each style has an `open` and `close` property. - - -## Styles - -### General - -- reset -- bold -- italic -- underline -- inverse -- strikethrough - -### Text colors - -- black -- red -- green -- yellow -- blue -- magenta -- cyan -- white -- gray - -### Background colors - -- bgBlack -- bgRed -- bgGreen -- bgYellow -- bgBlue -- bgMagenta -- bgCyan -- bgWhite - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/has-color/index.js b/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/has-color/index.js deleted file mode 100644 index 092d0baef669..000000000000 --- a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/has-color/index.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; -module.exports = (function () { - if (process.argv.indexOf('--no-color') !== -1) { - return false; - } - - if (process.argv.indexOf('--color') !== -1) { - return true; - } - - if (process.stdout && !process.stdout.isTTY) { - return false; - } - - if (process.platform === 'win32') { - return true; - } - - if ('COLORTERM' in process.env) { - return true; - } - - if (process.env.TERM === 'dumb') { - return false; - } - - if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) { - return true; - } - - return false; -})(); diff --git a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/has-color/package.json b/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/has-color/package.json deleted file mode 100644 index e956888c6ad3..000000000000 --- a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/has-color/package.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "name": "has-color", - "version": "0.1.7", - "description": "Detect whether a terminal supports color", - "license": "MIT", - "repository": { - "type": "git", - "url": "git://github.com/sindresorhus/has-color" - }, - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "http://sindresorhus.com" - }, - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "test": "mocha" - }, - "files": [ - "index.js" - ], - "keywords": [ - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "ansi", - "styles", - "tty", - "rgb", - "256", - "shell", - "xterm", - "command-line", - "support", - "capability", - "detect" - ], - "devDependencies": { - "mocha": "*" - }, - "readme": "# has-color [![Build Status](https://travis-ci.org/sindresorhus/has-color.svg?branch=master)](https://travis-ci.org/sindresorhus/has-color)\n\n> Detect whether a terminal supports color.\n\nUsed in the terminal color module [chalk](https://github.com/sindresorhus/chalk).\n\n\n## Install\n\n```bash\n$ npm install --save has-color\n```\n\n\n## Usage\n\n```js\nvar hasColor = require('has-color');\n\nif (hasColor) {\n\tconsole.log('Terminal supports color.');\n}\n```\n\nIt obeys the `--color` and `--no-color` CLI flags.\n\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT) © [Sindre Sorhus](http://sindresorhus.com)\n", - "readmeFilename": "readme.md", - "bugs": { - "url": "https://github.com/sindresorhus/has-color/issues" - }, - "homepage": "https://github.com/sindresorhus/has-color", - "_id": "has-color@0.1.7", - "dist": { - "shasum": "1b80986f9e0b4cd0a22bd67b4cd4f04c0363375f" - }, - "_from": "has-color@~0.1.0", - "_resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz" -} diff --git a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/has-color/readme.md b/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/has-color/readme.md deleted file mode 100644 index 37bbd8991a64..000000000000 --- a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/has-color/readme.md +++ /dev/null @@ -1,30 +0,0 @@ -# has-color [![Build Status](https://travis-ci.org/sindresorhus/has-color.svg?branch=master)](https://travis-ci.org/sindresorhus/has-color) - -> Detect whether a terminal supports color. - -Used in the terminal color module [chalk](https://github.com/sindresorhus/chalk). - - -## Install - -```bash -$ npm install --save has-color -``` - - -## Usage - -```js -var hasColor = require('has-color'); - -if (hasColor) { - console.log('Terminal supports color.'); -} -``` - -It obeys the `--color` and `--no-color` CLI flags. - - -## License - -[MIT](http://opensource.org/licenses/MIT) © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/cli.js b/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/cli.js deleted file mode 100755 index f8019cdae576..000000000000 --- a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/cli.js +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env node -'use strict'; -var fs = require('fs'); -var strip = require('./index'); -var input = process.argv[2]; - -if (process.argv.indexOf('-h') !== -1 || process.argv.indexOf('--help') !== -1) { - console.log('strip-ansi > '); - console.log('or'); - console.log('cat | strip-ansi > '); - return; -} - -if (process.argv.indexOf('-v') !== -1 || process.argv.indexOf('--version') !== -1) { - console.log(require('./package').version); - return; -} - -if (input) { - process.stdout.write(strip(fs.readFileSync(input, 'utf8'))); - return; -} - -process.stdin.setEncoding('utf8'); -process.stdin.on('data', function (data) { - process.stdout.write(strip(data)); -}); diff --git a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/index.js b/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/index.js deleted file mode 100644 index 62320c5914a0..000000000000 --- a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/index.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; -module.exports = function (str) { - return typeof str === 'string' ? str.replace(/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]/g, '') : str; -}; diff --git a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/package.json b/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/package.json deleted file mode 100644 index 7ca2b5d14da6..000000000000 --- a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/package.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "strip-ansi", - "version": "0.1.1", - "description": "Strip ANSI escape codes (used for colorizing strings in the terminal)", - "license": "MIT", - "bin": { - "strip-ansi": "cli.js" - }, - "repository": { - "type": "git", - "url": "git://github.com/sindresorhus/strip-ansi" - }, - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "http://sindresorhus.com" - }, - "engines": { - "node": ">=0.8.0" - }, - "scripts": { - "test": "mocha" - }, - "files": [ - "index.js", - "cli.js" - ], - "keywords": [ - "strip", - "trim", - "remove", - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "devDependencies": { - "mocha": "~1.x" - }, - "readme": "# strip-ansi [![Build Status](https://secure.travis-ci.org/sindresorhus/strip-ansi.png?branch=master)](http://travis-ci.org/sindresorhus/strip-ansi)\n\n> Strip [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) (used for colorizing strings in the terminal)\n\nUsed in the terminal color module [chalk](https://github.com/sindresorhus/chalk).\n\n\n## Install\n\nInstall locally with [npm](https://npmjs.org/package/strip-ansi):\n\n```\nnpm install --save strip-ansi\n```\n\nOr globally if you want to use it as a CLI app:\n\n```\nnpm install --global strip-ansi\n```\n\nYou can then use it in your Terminal like:\n\n```\nstrip-ansi file-with-color-codes\n```\n\nOr pipe something to it:\n\n```\nls | strip-ansi\n```\n\n\n## Example\n\n```js\nvar stripAnsi = require('strip-ansi');\nstripAnsi('\\x1b[4mcake\\x1b[0m');\n//=> cake\n```\n\n\n## License\n\nMIT © [Sindre Sorhus](http://sindresorhus.com)\n", - "readmeFilename": "readme.md", - "bugs": { - "url": "https://github.com/sindresorhus/strip-ansi/issues" - }, - "homepage": "https://github.com/sindresorhus/strip-ansi", - "_id": "strip-ansi@0.1.1", - "_from": "strip-ansi@~0.1.0" -} diff --git a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/readme.md b/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/readme.md deleted file mode 100644 index eb661b3d829b..000000000000 --- a/node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/readme.md +++ /dev/null @@ -1,46 +0,0 @@ -# strip-ansi [![Build Status](https://secure.travis-ci.org/sindresorhus/strip-ansi.png?branch=master)](http://travis-ci.org/sindresorhus/strip-ansi) - -> Strip [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) (used for colorizing strings in the terminal) - -Used in the terminal color module [chalk](https://github.com/sindresorhus/chalk). - - -## Install - -Install locally with [npm](https://npmjs.org/package/strip-ansi): - -``` -npm install --save strip-ansi -``` - -Or globally if you want to use it as a CLI app: - -``` -npm install --global strip-ansi -``` - -You can then use it in your Terminal like: - -``` -strip-ansi file-with-color-codes -``` - -Or pipe something to it: - -``` -ls | strip-ansi -``` - - -## Example - -```js -var stripAnsi = require('strip-ansi'); -stripAnsi('\x1b[4mcake\x1b[0m'); -//=> cake -``` - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/grunt-contrib-concat/node_modules/chalk/package.json b/node_modules/grunt-contrib-concat/node_modules/chalk/package.json deleted file mode 100644 index 853b0144c71a..000000000000 --- a/node_modules/grunt-contrib-concat/node_modules/chalk/package.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "name": "chalk", - "version": "0.4.0", - "description": "Terminal string styling done right. Created because the `colors` module does some really horrible things.", - "license": "MIT", - "repository": { - "type": "git", - "url": "git://github.com/sindresorhus/chalk" - }, - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "http://sindresorhus.com" - }, - "engines": { - "node": ">=0.8.0" - }, - "scripts": { - "test": "mocha" - }, - "files": [ - "index.js" - ], - "keywords": [ - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "ansi", - "styles", - "tty", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "dependencies": { - "has-color": "~0.1.0", - "ansi-styles": "~1.0.0", - "strip-ansi": "~0.1.0" - }, - "devDependencies": { - "mocha": "~1.x" - }, - "readme": "# \"chalk\"\n\n> Terminal string styling done right\n\n[![Build Status](https://secure.travis-ci.org/sindresorhus/chalk.png?branch=master)](http://travis-ci.org/sindresorhus/chalk)\n\n[colors.js](https://github.com/Marak/colors.js) is currently the most popular string styling module, but it has serious deficiencies like extending String.prototype which causes all kinds of [problems](https://github.com/yeoman/yo/issues/68). Although there are other ones, they either do too much or not enough.\n\n**Chalk is a clean and focused alternative.**\n\n![screenshot](screenshot.png)\n\n\n## Why\n\n- **Doesn't extend String.prototype**\n- Expressive API\n- Clean and focused\n- Auto-detects color support\n- Actively maintained\n- [Used by 150+ modules](https://npmjs.org/browse/depended/chalk)\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/chalk): `npm install --save chalk`\n\n\n## Example\n\nChalk comes with an easy to use composable API where you just chain and nest the styles you want.\n\n```js\nvar chalk = require('chalk');\n\n// style a string\nconsole.log( chalk.blue('Hello world!') );\n\n// combine styled and normal strings\nconsole.log( chalk.blue('Hello'), 'World' + chalk.red('!') );\n\n// compose multiple styles using the chainable API\nconsole.log( chalk.blue.bgRed.bold('Hello world!') );\n\n// nest styles\nconsole.log( chalk.red('Hello', chalk.underline.bgBlue('world') + '!') );\n\n// pass in multiple arguments\nconsole.log( chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz') );\n```\n\nYou can easily define your own themes.\n\n```js\nvar chalk = require('chalk');\nvar error = chalk.bold.red;\nconsole.log(error('Error!'));\n```\n\n\n## API\n\n### chalk.` - - - - - - - - - - - \ No newline at end of file diff --git a/node_modules/grunt/node_modules/iconv-lite/test/greek-test.js b/node_modules/grunt/node_modules/iconv-lite/test/greek-test.js deleted file mode 100644 index 0394ee6f5581..000000000000 --- a/node_modules/grunt/node_modules/iconv-lite/test/greek-test.js +++ /dev/null @@ -1,79 +0,0 @@ -var vows = require('vows'), - assert = require('assert'), - iconv = require(__dirname+'/../'); - -var baseStrings = { - empty: "", - hi: "Γειά!", - ascii: '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f'+ - ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f', - greek: "αβγδεζηθικλμνξοπÏστυφχψωΑΒΓΔΕΖΗΘΙΚΛΜÎΞΟΠΡΣΤΥΦΧΨΩάέήίόÏώΆΈΉΊΌΎÎϊϋΪΫ", - untranslatable: "Åçþÿ¿" -}; - -var encodings = [{ - name: "windows1253", - variations: ['windows-1253', 'win-1253', 'win1253', 'cp1253', 'cp-1253', 1253], - encodedStrings: { - empty: new Buffer(''), - hi: new Buffer('\xc3\xe5\xe9\xdc!', 'binary'), - ascii: new Buffer(baseStrings.ascii, 'binary'), - greek: new Buffer('\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xdc\xdd\xde\xdf\xfc\xfd\xfe\xa2\xb8\xb9\xba\xbc\xbe\xbf\xfa\xfb\xda\xdb', 'binary'), - } -}, { - name: "iso88597", - variations: ['iso-8859-7', 'greek', 'greek8', 'cp28597', 'cp-28597', 28597], - encodedStrings: { - empty: new Buffer(''), - hi: new Buffer('\xc3\xe5\xe9\xdc!', 'binary'), - ascii: new Buffer(baseStrings.ascii, 'binary'), - greek: new Buffer('\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xdc\xdd\xde\xdf\xfc\xfd\xfe\xb6\xb8\xb9\xba\xbc\xbe\xbf\xfa\xfb\xda\xdb', 'binary'), - } -}, { - name: "cp737", - variations: ['cp-737', 737], - encodedStrings: { - empty: new Buffer(''), - hi: new Buffer('\x82\x9c\xa0\xe1!', 'binary'), - ascii: new Buffer(baseStrings.ascii, 'binary'), - greek: new Buffer('\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xab\xac\xad\xae\xaf\xe0\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\xe1\xe2\xe3\xe5\xe6\xe7\xe9\xea\xeb\xec\xed\xee\xef\xf0\xe4\xe8\xf4\xf5', 'binary'), - } -}]; - -var testsBatch = {}; -encodings.forEach(function(encoding) { - var enc = encoding.variations[0]; - var key = "hi"; - var tests = { - "Convert to empty buffer": function() { - assert.strictEqual(iconv.toEncoding("", enc).toString('binary'), new Buffer('').toString('binary')); - }, - "Convert from empty buffer": function() { - assert.strictEqual(iconv.fromEncoding(new Buffer(''), enc), ""); - }, - "Convert from buffer": function() { - for (var key in encoding.encodedStrings) - assert.strictEqual(iconv.fromEncoding(encoding.encodedStrings[key], enc), - baseStrings[key]); - }, - "Convert to buffer": function() { - for (var key in encoding.encodedStrings) - assert.strictEqual(iconv.toEncoding(baseStrings[key], enc).toString('binary'), - encoding.encodedStrings[key].toString('binary')); - }, - "Try different variations of encoding": function() { - encoding.variations.forEach(function(enc) { - assert.strictEqual(iconv.fromEncoding(encoding.encodedStrings[key], enc), baseStrings[key]); - assert.strictEqual(iconv.toEncoding(baseStrings[key], enc).toString('binary'), encoding.encodedStrings[key].toString('binary')); - }); - }, - "Untranslatable chars are converted to defaultCharSingleByte": function() { - var expected = baseStrings.untranslatable.split('').map(function(c) {return iconv.defaultCharSingleByte; }).join(''); - assert.strictEqual(iconv.toEncoding(baseStrings.untranslatable, enc).toString('binary'), expected); // Only '?' characters. - } - }; - - testsBatch[encoding.name+":"] = tests; -}); - -vows.describe("Test Greek encodings").addBatch(testsBatch).export(module); diff --git a/node_modules/grunt/node_modules/iconv-lite/test/main-test.js b/node_modules/grunt/node_modules/iconv-lite/test/main-test.js deleted file mode 100644 index 50177f221837..000000000000 --- a/node_modules/grunt/node_modules/iconv-lite/test/main-test.js +++ /dev/null @@ -1,55 +0,0 @@ -var vows = require('vows'), - assert = require('assert'), - iconv = require(__dirname+'/../'); - -var testString = "Hello123!"; -var testStringLatin1 = "Hello123!£Å÷×çþÿ¿®"; -var testStringBase64 = "SGVsbG8xMjMh"; - -vows.describe("Generic UTF8-UCS2 tests").addBatch({ - "Vows is working": function() {}, - "Return values are of correct types": function() { - assert.ok(iconv.toEncoding(testString, "utf8") instanceof Buffer); - - var s = iconv.fromEncoding(new Buffer(testString), "utf8"); - assert.strictEqual(Object.prototype.toString.call(s), "[object String]"); - }, - "Internal encodings all correctly encoded/decoded": function() { - ['utf8', "UTF-8", "UCS2", "binary", ""].forEach(function(enc) { - assert.strictEqual(iconv.toEncoding(testStringLatin1, enc).toString(enc), testStringLatin1); - assert.strictEqual(iconv.fromEncoding(new Buffer(testStringLatin1, enc), enc), testStringLatin1); - }); - }, - "Base64 correctly encoded/decoded": function() { - assert.strictEqual(iconv.toEncoding(testStringBase64, "base64").toString("binary"), testString); - assert.strictEqual(iconv.fromEncoding(new Buffer(testString, "binary"), "base64"), testStringBase64); - }, - "Latin1 correctly encoded/decoded": function() { - assert.strictEqual(iconv.toEncoding(testStringLatin1, "latin1").toString("binary"), testStringLatin1); - assert.strictEqual(iconv.fromEncoding(new Buffer(testStringLatin1, "binary"), "latin1"), testStringLatin1); - }, - "Convert from string, not buffer (binary encoding used)": function() { - assert.strictEqual(iconv.fromEncoding(testStringLatin1, "binary"), testStringLatin1); - }, - "Convert to string, not buffer (utf8 used)": function() { - var res = iconv.toEncoding(new Buffer(testStringLatin1, "utf8")); - assert.ok(res instanceof Buffer); - assert.strictEqual(res.toString("utf8"), testStringLatin1); - }, - "Throws on unknown encodings": function() { - assert.throws(function() { iconv.toEncoding("a", "xxx"); }); - assert.throws(function() { iconv.fromEncoding("a", "xxx"); }); - }, - "Convert non-strings and non-buffers": function() { - assert.strictEqual(iconv.toEncoding({}, "utf8").toString(), "[object Object]"); - assert.strictEqual(iconv.toEncoding(10, "utf8").toString(), "10"); - assert.strictEqual(iconv.toEncoding(undefined, "utf8").toString(), ""); - assert.strictEqual(iconv.fromEncoding({}, "utf8"), "[object Object]"); - assert.strictEqual(iconv.fromEncoding(10, "utf8"), "10"); - assert.strictEqual(iconv.fromEncoding(undefined, "utf8"), ""); - }, - "Aliases encode and decode work the same as toEncoding and fromEncoding": function() { - assert.strictEqual(iconv.toEncoding(testString, "latin1").toString("binary"), iconv.encode(testString, "latin1").toString("binary")); - assert.strictEqual(iconv.fromEncoding(testStringLatin1, "latin1"), iconv.decode(testStringLatin1, "latin1")); - }, -}).export(module) diff --git a/node_modules/grunt/node_modules/iconv-lite/test/performance.js b/node_modules/grunt/node_modules/iconv-lite/test/performance.js deleted file mode 100644 index 835deac5792e..000000000000 --- a/node_modules/grunt/node_modules/iconv-lite/test/performance.js +++ /dev/null @@ -1,67 +0,0 @@ - -var iconv = require('iconv'); -var iconv_lite = require("../index"); - -var encoding = process.argv[2] || "windows-1251"; -var convertTimes = 10000; - -var encodingStrings = { - 'windows-1251': 'This is a test string 32 chars..', - 'gbk': '这是中文字符测试。。ï¼@ï¿¥%12', - 'utf8': '这是中文字符测试。。ï¼@ï¿¥%12This is a test string 48 chars..', -}; -// Test encoding. -var str = encodingStrings[encoding]; -if (!str) { - throw new Error('Don\'t support ' + encoding + ' performance test.'); -} -for (var i = 0; i < 13; i++) { - str = str + str; -} - -console.log('\n' + encoding + ' charset performance test:'); -console.log("\nEncoding "+str.length+" chars "+convertTimes+" times:"); - -var start = Date.now(); -var converter = new iconv.Iconv("utf8", encoding); -for (var i = 0; i < convertTimes; i++) { - var b = converter.convert(str); -} -var duration = Date.now() - start; -var mbs = convertTimes*b.length/duration/1024; - -console.log("iconv: "+duration+"ms, "+mbs.toFixed(2)+" Mb/s."); - -var start = Date.now(); -for (var i = 0; i < convertTimes; i++) { - var b = iconv_lite.encode(str, encoding); -} -var duration = Date.now() - start; -var mbs = convertTimes*b.length/duration/1024; - -console.log("iconv-lite: "+duration+"ms, "+mbs.toFixed(2)+" Mb/s."); - - -// Test decoding. -var buf = iconv_lite.encode(str, encoding); -console.log("\nDecoding "+buf.length+" bytes "+convertTimes+" times:"); - -var start = Date.now(); -var converter = new iconv.Iconv(encoding, "utf8"); -for (var i = 0; i < convertTimes; i++) { - var s = converter.convert(buf).toString(); -} -var duration = Date.now() - start; -var mbs = convertTimes*buf.length/duration/1024; - -console.log("iconv: "+duration+"ms, "+mbs.toFixed(2)+" Mb/s."); - -var start = Date.now(); -for (var i = 0; i < convertTimes; i++) { - var s = iconv_lite.decode(buf, encoding); -} -var duration = Date.now() - start; -var mbs = convertTimes*buf.length/duration/1024; - -console.log("iconv-lite: "+duration+"ms, "+mbs.toFixed(2)+" Mb/s."); - diff --git a/node_modules/grunt/node_modules/iconv-lite/test/turkish-test.js b/node_modules/grunt/node_modules/iconv-lite/test/turkish-test.js deleted file mode 100644 index b2eb68e67c6d..000000000000 --- a/node_modules/grunt/node_modules/iconv-lite/test/turkish-test.js +++ /dev/null @@ -1,90 +0,0 @@ -var vows = require('vows'), - assert = require('assert'), - iconv = require(__dirname+'/../'); - -var ascii = '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f'+ - ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f'; - -var encodings = [{ - name: "windows1254", - variations: ['windows-1254', 'win-1254', 'win1254', 'cp1254', 'cp-1254', 1254], - strings: { - empty: "", - ascii: ascii, - turkish: "€‚ƒ„…†‡ˆ‰Š‹Œ‘’“â€â€¢â€“—˜™š›œŸ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊËÌÃÃŽÃĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ", - untranslatable: "\x81\x8d\x8e\x8f\x90\x9d\x9e" - }, - encodedStrings: { - empty: new Buffer(''), - ascii: new Buffer(ascii, 'binary'), - turkish: new Buffer( - '\x80\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c' + - '\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9f' + - '\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xae\xaf' + - '\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf' + - '\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf' + - '\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf' + - '\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef' + - '\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff', - 'binary'), - } -}, { - name: "iso88599", - variations: ['iso-8859-9', 'turkish', 'turkish8', 'cp28599', 'cp-28599', 28599], - strings: { - empty: "", - ascii: ascii, - turkish: "\xa0¡¢£¤¥¦§¨©ª«¬\xad®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊËÌÃÃŽÃĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ", - untranslatable: '' - }, - encodedStrings: { - empty: new Buffer(''), - ascii: new Buffer(ascii, 'binary'), - turkish: new Buffer( - '\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf' + - '\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf' + - '\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf' + - '\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf' + - '\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef' + - '\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff', - 'binary') - } -}]; - -var testsBatch = {}; -encodings.forEach(function(encoding) { - var enc = encoding.variations[0]; - var key = "turkish"; - var tests = { - "Convert to empty buffer": function() { - assert.strictEqual(iconv.toEncoding("", enc).toString('binary'), new Buffer('').toString('binary')); - }, - "Convert from empty buffer": function() { - assert.strictEqual(iconv.fromEncoding(new Buffer(''), enc), ""); - }, - "Convert from buffer": function() { - for (var key in encoding.encodedStrings) - assert.strictEqual(iconv.fromEncoding(encoding.encodedStrings[key], enc), - encoding.strings[key]); - }, - "Convert to buffer": function() { - for (var key in encoding.encodedStrings) - assert.strictEqual(iconv.toEncoding(encoding.strings[key], enc).toString('binary'), - encoding.encodedStrings[key].toString('binary')); - }, - "Try different variations of encoding": function() { - encoding.variations.forEach(function(enc) { - assert.strictEqual(iconv.fromEncoding(encoding.encodedStrings[key], enc), encoding.strings[key]); - assert.strictEqual(iconv.toEncoding(encoding.strings[key], enc).toString('binary'), encoding.encodedStrings[key].toString('binary')); - }); - }, - "Untranslatable chars are converted to defaultCharSingleByte": function() { - var expected = encoding.strings.untranslatable.split('').map(function(c) {return iconv.defaultCharSingleByte; }).join(''); - assert.strictEqual(iconv.toEncoding(encoding.strings.untranslatable, enc).toString('binary'), expected); // Only '?' characters. - } - }; - - testsBatch[encoding.name+":"] = tests; -}); - -vows.describe("Test Turkish encodings").addBatch(testsBatch).export(module); diff --git a/node_modules/grunt/node_modules/js-yaml/HISTORY.md b/node_modules/grunt/node_modules/js-yaml/HISTORY.md deleted file mode 100644 index dfc48c2b173f..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/HISTORY.md +++ /dev/null @@ -1,155 +0,0 @@ -2.0.5 / 2013-04-26 ------------------- - -* Close security issue in !!js/function constructor. - Big thanks to @nealpoole for security audit. - - -2.0.4 / 2013-04-08 ------------------- - -* Updated .npmignore to reduce package size - - -2.0.3 / 2013-02-26 ------------------- - -* Fixed dumping of empty arrays ans objects. ([] and {} instead of null) - - -2.0.2 / 2013-02-15 ------------------- - -* Fixed input validation: tabs are printable characters. - - -2.0.1 / 2013-02-09 ------------------- - -* Fixed error, when options not passed to function cass - - -2.0.0 / 2013-02-09 ------------------- - -* Full rewrite. New architecture. Fast one-stage parsing. -* Changed custom types API. -* Added YAML dumper. - - -1.0.3 / 2012-11-05 ------------------- - -* Fixed utf-8 files loading. - - -1.0.2 / 2012-08-02 ------------------- - -* Pull out hand-written shims. Use ES5-Shims for old browsers support. See #44. -* Fix timstamps incorectly parsed in local time when no time part specified. - - -1.0.1 / 2012-07-07 ------------------- - -* Fixes `TypeError: 'undefined' is not an object` under Safari. Thanks Phuong. -* Fix timestamps incorrectly parsed in local time. Thanks @caolan. Closes #46. - - -1.0.0 / 2012-07-01 ------------------- - -* `y`, `yes`, `n`, `no`, `on`, `off` are not converted to Booleans anymore. - Fixes #42. -* `require(filename)` now returns a single document and throws an Error if - file contains more than one document. -* CLI was merged back from js-yaml.bin - - -0.3.7 / 2012-02-28 ------------------- - -* Fix export of `addConstructor()`. Closes #39. - - -0.3.6 / 2012-02-22 ------------------- - -* Removed AMD parts - too buggy to use. Need help to rewrite from scratch -* Removed YUI compressor warning (renamed `double` variable). Closes #40. - - -0.3.5 / 2012-01-10 ------------------- - -* Workagound for .npmignore fuckup under windows. Thanks to airportyh. - - -0.3.4 / 2011-12-24 ------------------- - -* Fixes str[] for oldIEs support. -* Adds better has change support for browserified demo. -* improves compact output of Error. Closes #33. - - -0.3.3 / 2011-12-20 ------------------- - -* jsyaml executable moved to separate module. -* adds `compact` stringification of Errors. - - -0.3.2 / 2011-12-16 ------------------- - -* Fixes ug with block style scalars. Closes #26. -* All sources are passing JSLint now. -* Fixes bug in Safari. Closes #28. -* Fixes bug in Opers. Closes #29. -* Improves browser support. Closes #20. -* Added jsyaml executable. -* Added !!js/function support. Closes #12. - - -0.3.1 / 2011-11-18 ------------------- - -* Added AMD support for browserified version. -* Wrapped browserified js-yaml into closure. -* Fixed the resolvement of non-specific tags. Closes #17. -* Added permalinks for online demo YAML snippets. Now we have YPaste service, lol. -* Added !!js/regexp and !!js/undefined types. Partially solves #12. -* Fixed !!set mapping. -* Fixed month parse in dates. Closes #19. - - -0.3.0 / 2011-11-09 ------------------- - -* Removed JS.Class dependency. Closes #3. -* Added browserified version. Closes #13. -* Added live demo of browserified version. -* Ported some of the PyYAML tests. See #14. -* Fixed timestamp bug when fraction was given. - - -0.2.2 / 2011-11-06 ------------------- - -* Fixed crash on docs without ---. Closes #8. -* Fixed miltiline string parse -* Fixed tests/comments for using array as key - - -0.2.1 / 2011-11-02 ------------------- - -* Fixed short file read (<4k). Closes #9. - - -0.2.0 / 2011-11-02 ------------------- - -* First public release diff --git a/node_modules/grunt/node_modules/js-yaml/LICENSE b/node_modules/grunt/node_modules/js-yaml/LICENSE deleted file mode 100644 index 0f16ee957d42..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -(The MIT License) - -Copyright (C) 2011, 2013 by Vitaly Puzrin - -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. diff --git a/node_modules/grunt/node_modules/js-yaml/README.md b/node_modules/grunt/node_modules/js-yaml/README.md deleted file mode 100644 index e326d6026845..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/README.md +++ /dev/null @@ -1,249 +0,0 @@ -JS-YAML - YAML 1.2 parser and serializer for JavaScript -======================================================= - -[![Build Status](https://secure.travis-ci.org/nodeca/js-yaml.png)](http://travis-ci.org/nodeca/js-yaml) - -[Online Demo](http://nodeca.github.com/js-yaml/) - - -This is an implementation of [YAML](http://yaml.org/), a human friendly data -serialization language. Started as [PyYAML](http://pyyaml.org/) port, it was -completely rewritten from scratch. Now it's very fast, and supports 1.2 spec. - - -Breaking changes in 1.x.x -> 2.0.x ----------------------------------- - -If your have not used __custom__ tags or loader classes - no changes needed. Just -upgrade library and enjoy high parse speed. - -In other case, you should rewrite your tag constructors and custom loader -classes, to conform new schema-based API. See -[examples](https://github.com/nodeca/js-yaml/tree/master/examples) and -[wiki](https://github.com/nodeca/js-yaml/wiki) for details. -Note, that parser internals were completely rewritten. - - -Installation ------------- - -### YAML module for node.js - -``` -npm install js-yaml -``` - - -### CLI executable - -If you want to inspect your YAML files from CLI, install js-yaml globally: - -``` -npm install js-yaml -g -``` - -#### Usage - -``` -usage: js-yaml [-h] [-v] [-c] [-j] [-t] file - -Positional arguments: - file File with YAML document(s) - -Optional arguments: - -h, --help Show this help message and exit. - -v, --version Show program's version number and exit. - -c, --compact Display errors in compact mode - -j, --to-json Output a non-funky boring JSON - -t, --trace Show stack trace on error -``` - - -### Bundled YAML library for browsers - -``` html - - -``` - -Browser support was done mostly for online demo. If you find any errors - feel -free to send pull requests with fixes. Also note, that IE and other old browsers -needs [es5-shims](https://github.com/kriskowal/es5-shim) to operate. - - -API ---- - -Here we cover the most 'useful' methods. If you need advanced details (creating -your own tags), see [wiki](https://github.com/nodeca/js-yaml/wiki) and -[examples](https://github.com/nodeca/js-yaml/tree/master/examples) for more -info. - -In node.js JS-YAML automatically registers handlers for `.yml` and `.yaml` -files. You can load them just with `require`. That's mostly equivalent to -calling `load()` on fetched content of a file. Just with one string! - -``` javascript -require('js-yaml'); - -// Get document, or throw exception on error -try { - var doc = require('/home/ixti/example.yml'); - console.log(doc); -} catch (e) { - console.log(e); -} -``` - - -### load (string [ , options ]) - -Parses `string` as single YAML document. Returns a JavaScript object or throws -`YAMLException` on error. - -NOTE: This function **does not** understands multi-document sources, it throws -exception on those. - -options: - -- `filename` _(default: null)_ - string to be used as a file path in - error/warning messages. -- `strict` _(default - false)_ makes the loader to throw errors instead of - warnings. -- `schema` _(default: `DEFAULT_SCHEMA`)_ - specifies a schema to use. - - -### loadAll (string, iterator [ , options ]) - -Same as `load()`, but understands multi-document sources and apply `iterator` to -each document. - -``` javascript -var yaml = require('js-yaml'); - -yaml.loadAll(data, function (doc) { - console.log(doc); -}); -``` - - -### safeLoad (string [ , options ]) - -Same as `load()` but uses `SAFE_SCHEMA` by default - only recommended tags of -YAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`). - - -### safeLoadAll (string, iterator [ , options ]) - -Same as `loadAll()` but uses `SAFE_SCHEMA` by default - only recommended tags of -YAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`). - - -### dump (object [ , options ]) - -Serializes `object` as YAML document. - -options: - -- `indent` _(default: 2)_ - indentation width to use (in spaces). -- `flowLevel` (default: -1) - specifies level of nesting, when to switch from - block to flow style for collections. -1 means block style everwhere -- `styles` - "tag" => "style" map. Each tag may have own set of styles. -- `schema` _(default: `DEFAULT_SCHEMA`)_ specifies a schema to use. - -styles: - -``` none -!!null - "canonical" => "~" - -!!int - "binary" => "0b1", "0b101010", "0b1110001111010" - "octal" => "01", "052", "016172" - "decimal" => "1", "42", "7290" - "hexadecimal" => "0x1", "0x2A", "0x1C7A" - -!!null, !!bool, !!float - "lowercase" => "null", "true", "false", ".nan", '.inf' - "uppercase" => "NULL", "TRUE", "FALSE", ".NAN", '.INF' - "camelcase" => "Null", "True", "False", ".NaN", '.Inf' -``` - -By default, !!int uses `decimal`, and !!null, !!bool, !!float use `lowercase`. - - -### safeDump (object [ , options ]) - -Same as `dump()` but uses `SAFE_SCHEMA` by default - only recommended tags of -YAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`). - - -Supported YAML types --------------------- - -The list of standard YAML tags and corresponding JavaScipt types. See also -[YAML tag discussion](http://pyyaml.org/wiki/YAMLTagDiscussion) and -[YAML types repository](http://yaml.org/type/). - -``` -!!null '' # null -!!bool 'yes' # bool -!!int '3...' # number -!!float '3.14...' # number -!!binary '...base64...' # buffer -!!timestamp 'YYYY-...' # date -!!omap [ ... ] # array of key-value pairs -!!pairs [ ... ] # array or array pairs -!!set { ... } # array of objects with given keys and null values -!!str '...' # string -!!seq [ ... ] # array -!!map { ... } # object -``` - -**JavaScript-specific tags** - -``` -!!js/regexp /pattern/gim # RegExp -!!js/undefined '' # Undefined -!!js/function 'function () {...}' # Function -``` - - - - -## Caveats - -Note, that you use arrays or objects as key in JS-YAML. JS do not allows objects -or array as keys, and stringifies (by calling .toString method) them at the -moment of adding them. - -``` yaml ---- -? [ foo, bar ] -: - baz -? { foo: bar } -: - baz - - baz -``` - -``` javascript -{ "foo,bar": ["baz"], "[object Object]": ["baz", "baz"] } -``` - -Also, reading of properties on implicit block mapping keys is not supported yet. -So, the following YAML document cannot be loaded. - -``` yaml -&anchor foo: - foo: bar - *anchor: duplicate key - baz: bat - *anchor: duplicate key -``` - -## License - -View the [LICENSE](https://github.com/nodeca/js-yaml/blob/master/LICENSE) file -(MIT). diff --git a/node_modules/grunt/node_modules/js-yaml/bin/js-yaml.js b/node_modules/grunt/node_modules/js-yaml/bin/js-yaml.js deleted file mode 100755 index 5110a4c7ab65..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/bin/js-yaml.js +++ /dev/null @@ -1,125 +0,0 @@ -#!/usr/bin/env node - - -'use strict'; - - -// stdlib -var fs = require('fs'); -var util = require('util'); - - -// 3rd-party -var ArgumentParser = require('argparse').ArgumentParser; - - -// internal -var yaml = require('..'); - - -//////////////////////////////////////////////////////////////////////////////// - - -var cli = new ArgumentParser({ - prog: 'js-yaml', - version: require('../package.json').version, - addHelp: true -}); - - -cli.addArgument(['-c', '--compact'], { - help: 'Display errors in compact mode', - action: 'storeTrue' -}); - - -cli.addArgument(['-j', '--to-json'], { - help: 'Output a non-funky boring JSON', - dest: 'json', - action: 'storeTrue' -}); - - -cli.addArgument(['-t', '--trace'], { - help: 'Show stack trace on error', - action: 'storeTrue' -}); - - -cli.addArgument(['file'], { - help: 'File to read' -}); - - -//////////////////////////////////////////////////////////////////////////////// - - -var options = cli.parseArgs(); - - -//////////////////////////////////////////////////////////////////////////////// - - -fs.readFile(options.file, 'utf8', function (error, input) { - var output, isYaml; - - if (error) { - if ('ENOENT' === error.code) { - console.error('File not found: ' + options.file); - process.exit(2); - } - - console.error( - options.trace && error.stack || - error.message || - String(error)); - - process.exit(1); - } - - try { - output = JSON.parse(input); - isYaml = false; - } catch (error) { - if (error instanceof SyntaxError) { - try { - output = []; - yaml.loadAll(input, function (doc) { output.push(doc); }, {}); - isYaml = true; - - if (0 === output.length) { - output = null; - } else if (1 === output.length) { - output = output[0]; - } - } catch (error) { - if (options.trace && error.stack) { - console.error(error.stack); - } else { - console.error(error.toString(options.compact)); - } - - process.exit(1); - } - } else { - console.error( - options.trace && error.stack || - error.message || - String(error)); - - process.exit(1); - } - } - - if (isYaml) { - if (options.json) { - console.log(JSON.stringify(output, null, ' ')); - } else { - console.log("\n" + util.inspect(output, false, 10, true) + "\n"); - } - } else { - console.log(yaml.dump(output)); - } - - process.exit(0); -}); diff --git a/node_modules/grunt/node_modules/js-yaml/examples/custom_types.js b/node_modules/grunt/node_modules/js-yaml/examples/custom_types.js deleted file mode 100644 index 1cb987c16cdd..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/examples/custom_types.js +++ /dev/null @@ -1,104 +0,0 @@ -'use strict'; - - -var fs = require('fs'); -var path = require('path'); -var util = require('util'); -var yaml = require('../lib/js-yaml'); - - -// Let define a couple of classes... - -function Point(x, y, z) { - this.klass = 'Point'; - this.x = x; - this.y = y; - this.z = z; -} - - -function Space(height, width, points) { - if (points) { - if (!points.every(function (point) { return point instanceof Point; })) { - throw new Error('A non-Point inside a points array!'); - } - } - - this.klass = 'Space'; - this.height = height; - this.width = width; - this.points = points; -} - - -// Let define YAML types to load and dump our Point/Space objects. - -var pointYamlType = new yaml.Type('!point', { - // The information used to load a Point. - loader: { - kind: 'array', // It must be an array. (sequence in YAML) - resolver: function (object) { - // It must contain exactly tree elements. - if (3 === object.length) { - return new Point(object[0], object[1], object[2]); - - // Otherwise, it is NOT a Point. - } else { - return yaml.NIL; - } - } - }, - // The information used to dump a Point. - dumper: { - kind: 'object', // It must be an object but not an array. - instanceOf: Point, // Also, it must be an instance of Point class. - representer: function (point) { - // And it should be represented in YAML as three-element sequence. - return [ point.x, point.y, point.z ]; - } - } -}); - - -var spaceYamlType = new yaml.Type('!space', { - loader: { - kind: 'object', // 'object' here means 'mapping' in YAML. - resolver: function (object) { - return new Space(object.height, object.width, object.points); - } - }, - dumper: { - kind: 'object', - instanceOf: Space - // The representer is omitted here. So, Space objects will be dumped as is. - // That is regular mapping with three key-value pairs but with !space tag. - } -}); - - -// After our types are defined, it's time to join them into a schema. - -var SPACE_SCHEMA = yaml.Schema.create([ spaceYamlType, pointYamlType ]); - - -// And read a document using that schema. - -fs.readFile(path.join(__dirname, 'custom_types.yaml'), 'utf8', function (error, data) { - var loaded; - - if (!error) { - loaded = yaml.load(data, { schema: SPACE_SCHEMA }); - console.log(util.inspect(loaded, false, 20, true)); - } else { - console.error(error.stack || error.message || String(error)); - } -}); - - -// There are some exports to play with this example interactively. - -module.exports.Point = Point; -module.exports.Space = Space; -module.exports.pointYamlType = pointYamlType; -module.exports.spaceYamlType = spaceYamlType; -module.exports.SPACE_SCHEMA = SPACE_SCHEMA; diff --git a/node_modules/grunt/node_modules/js-yaml/examples/custom_types.yaml b/node_modules/grunt/node_modules/js-yaml/examples/custom_types.yaml deleted file mode 100644 index 033134f5ec30..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/examples/custom_types.yaml +++ /dev/null @@ -1,18 +0,0 @@ -subject: Custom types in JS-YAML -spaces: -- !space - height: 1000 - width: 1000 - points: - - !point [ 10, 43, 23 ] - - !point [ 165, 0, 50 ] - - !point [ 100, 100, 100 ] - -- !space - height: 64 - width: 128 - points: - - !point [ 12, 43, 0 ] - - !point [ 1, 4, 90 ] - -- !space {} # An empty space diff --git a/node_modules/grunt/node_modules/js-yaml/examples/dumper.js b/node_modules/grunt/node_modules/js-yaml/examples/dumper.js deleted file mode 100644 index 7952b18d29a4..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/examples/dumper.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - - -var yaml = require('../lib/js-yaml'); -var object = require('./dumper.json'); - - -console.log(yaml.dump(object, { - flowLevel: 3, - styles: { - '!!int' : 'hexadecimal', - '!!null' : 'camelcase' - } -})); - - -// Output: -//============================================================================== -// name: Wizzard -// level: 0x11 -// sanity: Null -// inventory: -// - name: Hat -// features: [magic, pointed] -// traits: {} -// - name: Staff -// features: [] -// traits: {damage: 0xA} -// - name: Cloak -// features: [old] -// traits: {defence: 0x0, comfort: 0x3} diff --git a/node_modules/grunt/node_modules/js-yaml/examples/dumper.json b/node_modules/grunt/node_modules/js-yaml/examples/dumper.json deleted file mode 100644 index 9f54c053e517..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/examples/dumper.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name" : "Wizzard", - "level" : 17, - "sanity" : null, - "inventory" : [ - { - "name" : "Hat", - "features" : [ "magic", "pointed" ], - "traits" : {} - }, - { - "name" : "Staff", - "features" : [], - "traits" : { "damage" : 10 } - }, - { - "name" : "Cloak", - "features" : [ "old" ], - "traits" : { "defence" : 0, "comfort" : 3 } - } - ] -} diff --git a/node_modules/grunt/node_modules/js-yaml/examples/sample_document.js b/node_modules/grunt/node_modules/js-yaml/examples/sample_document.js deleted file mode 100644 index 1ce370d896f5..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/examples/sample_document.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - - -var inspect = require('util').inspect; - -// just require jsyaml -require('../lib/js-yaml'); - - -try { - var doc = require(__dirname + '/sample_document.yaml'); - console.log(inspect(doc, false, 10, true)); -} catch (e) { - console.log(e.stack || e.toString()); -} diff --git a/node_modules/grunt/node_modules/js-yaml/examples/sample_document.yaml b/node_modules/grunt/node_modules/js-yaml/examples/sample_document.yaml deleted file mode 100644 index 4479ee9c0783..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/examples/sample_document.yaml +++ /dev/null @@ -1,197 +0,0 @@ ---- -# Collection Types ############################################################# -################################################################################ - -# http://yaml.org/type/map.html -----------------------------------------------# - -map: - # Unordered set of key: value pairs. - Block style: !!map - Clark : Evans - Ingy : döt Net - Oren : Ben-Kiki - Flow style: !!map { Clark: Evans, Ingy: döt Net, Oren: Ben-Kiki } - -# http://yaml.org/type/omap.html ----------------------------------------------# - -omap: - # Explicitly typed ordered map (dictionary). - Bestiary: !!omap - - aardvark: African pig-like ant eater. Ugly. - - anteater: South-American ant eater. Two species. - - anaconda: South-American constrictor snake. Scaly. - # Etc. - # Flow style - Numbers: !!omap [ one: 1, two: 2, three : 3 ] - -# http://yaml.org/type/pairs.html ---------------------------------------------# - -pairs: - # Explicitly typed pairs. - Block tasks: !!pairs - - meeting: with team. - - meeting: with boss. - - break: lunch. - - meeting: with client. - Flow tasks: !!pairs [ meeting: with team, meeting: with boss ] - -# http://yaml.org/type/set.html -----------------------------------------------# - -set: - # Explicitly typed set. - baseball players: !!set - ? Mark McGwire - ? Sammy Sosa - ? Ken Griffey - # Flow style - baseball teams: !!set { Boston Red Sox, Detroit Tigers, New York Yankees } - -# http://yaml.org/type/seq.html -----------------------------------------------# - -seq: - # Ordered sequence of nodes - Block style: !!seq - - Mercury # Rotates - no light/dark sides. - - Venus # Deadliest. Aptly named. - - Earth # Mostly dirt. - - Mars # Seems empty. - - Jupiter # The king. - - Saturn # Pretty. - - Uranus # Where the sun hardly shines. - - Neptune # Boring. No rings. - - Pluto # You call this a planet? - Flow style: !!seq [ Mercury, Venus, Earth, Mars, # Rocks - Jupiter, Saturn, Uranus, Neptune, # Gas - Pluto ] # Overrated - - -# Scalar Types ################################################################# -################################################################################ - -# http://yaml.org/type/binary.html --------------------------------------------# - -binary: - canonical: !!binary "\ - R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5\ - OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+\ - +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC\ - AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs=" - generic: !!binary | - R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5 - OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+ - +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC - AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs= - description: - The binary value above is a tiny arrow encoded as a gif image. - -# http://yaml.org/type/bool.html ----------------------------------------------# - -bool: - - true - - True - - TRUE - - false - - False - - FALSE - -# http://yaml.org/type/float.html ---------------------------------------------# - -float: - canonical: 6.8523015e+5 - exponentioal: 685.230_15e+03 - fixed: 685_230.15 - sexagesimal: 190:20:30.15 - negative infinity: -.inf - not a number: .NaN - -# http://yaml.org/type/int.html -----------------------------------------------# - -int: - canonical: 685230 - decimal: +685_230 - octal: 02472256 - hexadecimal: 0x_0A_74_AE - binary: 0b1010_0111_0100_1010_1110 - sexagesimal: 190:20:30 - -# http://yaml.org/type/merge.html ---------------------------------------------# - -merge: - - &CENTER { x: 1, y: 2 } - - &LEFT { x: 0, y: 2 } - - &BIG { r: 10 } - - &SMALL { r: 1 } - - # All the following maps are equal: - - - # Explicit keys - x: 1 - y: 2 - r: 10 - label: nothing - - - # Merge one map - << : *CENTER - r: 10 - label: center - - - # Merge multiple maps - << : [ *CENTER, *BIG ] - label: center/big - - - # Override - << : [ *BIG, *LEFT, *SMALL ] - x: 1 - label: big/left/small - -# http://yaml.org/type/null.html ----------------------------------------------# - -null: - # This mapping has four keys, - # one has a value. - empty: - canonical: ~ - english: null - ~: null key - # This sequence has five - # entries, two have values. - sparse: - - ~ - - 2nd entry - - - - 4th entry - - Null - -# http://yaml.org/type/str.html -----------------------------------------------# - -string: abcd - -# http://yaml.org/type/timestamp.html -----------------------------------------# - -timestamp: - canonical: 2001-12-15T02:59:43.1Z - valid iso8601: 2001-12-14t21:59:43.10-05:00 - space separated: 2001-12-14 21:59:43.10 -5 - no time zone (Z): 2001-12-15 2:59:43.10 - date (00:00:00Z): 2002-12-14 - - -# JavaScript Specific Types #################################################### -################################################################################ - -# https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp - -regexp: - simple: !!js/regexp foobar - modifiers: !!js/regexp /foobar/mi - -# https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/undefined - -undefined: !!js/undefined ~ - -# https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function - -function: !!js/function > - function foobar() { - return 'Wow! JS-YAML Rocks!'; - } diff --git a/node_modules/grunt/node_modules/js-yaml/index.js b/node_modules/grunt/node_modules/js-yaml/index.js deleted file mode 100644 index 40606ddc2f38..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lib/js-yaml.js'); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml.js deleted file mode 100644 index a5146a3263fd..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict'; - - -var loader = require('./js-yaml/loader'); -var dumper = require('./js-yaml/dumper'); - - -function deprecated(name) { - return function () { - throw new Error('Function ' + name + ' is deprecated and cannot be used.'); - }; -} - - -module.exports.Type = require('./js-yaml/type'); -module.exports.Schema = require('./js-yaml/schema'); -module.exports.MINIMAL_SCHEMA = require('./js-yaml/schema/minimal'); -module.exports.SAFE_SCHEMA = require('./js-yaml/schema/safe'); -module.exports.DEFAULT_SCHEMA = require('./js-yaml/schema/default'); -module.exports.load = loader.load; -module.exports.loadAll = loader.loadAll; -module.exports.safeLoad = loader.safeLoad; -module.exports.safeLoadAll = loader.safeLoadAll; -module.exports.dump = dumper.dump; -module.exports.safeDump = dumper.safeDump; -module.exports.YAMLException = require('./js-yaml/exception'); -module.exports.scan = deprecated('scan'); -module.exports.parse = deprecated('parse'); -module.exports.compose = deprecated('compose'); -module.exports.addConstructor = deprecated('addConstructor'); - - -require('./js-yaml/require'); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/common.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/common.js deleted file mode 100644 index cc7f824cc517..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/common.js +++ /dev/null @@ -1,60 +0,0 @@ -'use strict'; - - -var NIL = {}; - - -function isNothing(subject) { - return (undefined === subject) || (null === subject); -} - - -function isObject(subject) { - return ('object' === typeof subject) && (null !== subject); -} - - -function toArray(sequence) { - if (Array.isArray(sequence)) { - return sequence; - } else if (isNothing(sequence)) { - return []; - } else { - return [ sequence ]; - } -} - - -function extend(target, source) { - var index, length, key, sourceKeys; - - if (source) { - sourceKeys = Object.keys(source); - - for (index = 0, length = sourceKeys.length; index < length; index += 1) { - key = sourceKeys[index]; - target[key] = source[key]; - } - } - - return target; -} - - -function repeat(string, count) { - var result = '', cycle; - - for (cycle = 0; cycle < count; cycle += 1) { - result += string; - } - - return result; -} - - -module.exports.NIL = NIL; -module.exports.isNothing = isNothing; -module.exports.isObject = isObject; -module.exports.toArray = toArray; -module.exports.repeat = repeat; -module.exports.extend = extend; diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/dumper.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/dumper.js deleted file mode 100644 index 2385f569bce2..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/dumper.js +++ /dev/null @@ -1,437 +0,0 @@ -'use strict'; - - -var common = require('./common'); -var NIL = common.NIL; -var YAMLException = require('./exception'); -var DEFAULT_SCHEMA = require('./schema/default'); -var SAFE_SCHEMA = require('./schema/safe'); - - -var _hasOwnProperty = Object.prototype.hasOwnProperty; - - -var CHAR_TAB = 0x09; /* Tab */ -var CHAR_LINE_FEED = 0x0A; /* LF */ -var CHAR_CARRIAGE_RETURN = 0x0D; /* CR */ -var CHAR_SPACE = 0x20; /* Space */ -var CHAR_EXCLAMATION = 0x21; /* ! */ -var CHAR_DOUBLE_QUOTE = 0x22; /* " */ -var CHAR_SHARP = 0x23; /* # */ -var CHAR_PERCENT = 0x25; /* % */ -var CHAR_AMPERSAND = 0x26; /* & */ -var CHAR_SINGLE_QUOTE = 0x27; /* ' */ -var CHAR_ASTERISK = 0x2A; /* * */ -var CHAR_COMMA = 0x2C; /* , */ -var CHAR_MINUS = 0x2D; /* - */ -var CHAR_COLON = 0x3A; /* : */ -var CHAR_GREATER_THAN = 0x3E; /* > */ -var CHAR_QUESTION = 0x3F; /* ? */ -var CHAR_COMMERCIAL_AT = 0x40; /* @ */ -var CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */ -var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */ -var CHAR_GRAVE_ACCENT = 0x60; /* ` */ -var CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */ -var CHAR_VERTICAL_LINE = 0x7C; /* | */ -var CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */ - - -var ESCAPE_SEQUENCES = {}; - -ESCAPE_SEQUENCES[0x00] = '\\0'; -ESCAPE_SEQUENCES[0x07] = '\\a'; -ESCAPE_SEQUENCES[0x08] = '\\b'; -ESCAPE_SEQUENCES[0x09] = '\\t'; -ESCAPE_SEQUENCES[0x0A] = '\\n'; -ESCAPE_SEQUENCES[0x0B] = '\\v'; -ESCAPE_SEQUENCES[0x0C] = '\\f'; -ESCAPE_SEQUENCES[0x0D] = '\\r'; -ESCAPE_SEQUENCES[0x1B] = '\\e'; -ESCAPE_SEQUENCES[0x22] = '\\"'; -ESCAPE_SEQUENCES[0x5C] = '\\\\'; -ESCAPE_SEQUENCES[0x85] = '\\N'; -ESCAPE_SEQUENCES[0xA0] = '\\_'; -ESCAPE_SEQUENCES[0x2028] = '\\L'; -ESCAPE_SEQUENCES[0x2029] = '\\P'; - - -function kindOf(object) { - var kind = typeof object; - - if (null === object) { - return 'null'; - } else if ('number' === kind) { - return 0 === object % 1 ? 'integer' : 'float'; - } else if ('object' === kind && Array.isArray(object)) { - return 'array'; - } else { - return kind; - } -} - - -function compileStyleMap(schema, map) { - var result, keys, index, length, tag, style, type; - - if (null === map) { - return {}; - } - - result = {}; - keys = Object.keys(map); - - for (index = 0, length = keys.length; index < length; index += 1) { - tag = keys[index]; - style = String(map[tag]); - - if ('!!' === tag.slice(0, 2)) { - tag = 'tag:yaml.org,2002:' + tag.slice(2); - } - - type = schema.compiledTypeMap[tag]; - - if (type && type.dumper) { - if (_hasOwnProperty.call(type.dumper.styleAliases, style)) { - style = type.dumper.styleAliases[style]; - } - } - - result[tag] = style; - } - - return result; -} - - -function encodeHex(character) { - var string, handle, length; - - string = character.toString(16).toUpperCase(); - - if (character <= 0xFF) { - handle = 'x'; - length = 2; - } else if (character <= 0xFFFF) { - handle = 'u'; - length = 4; - } else if (character <= 0xFFFFFFFF) { - handle = 'U'; - length = 8; - } else { - throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF'); - } - - return '\\' + handle + common.repeat('0', length - string.length) + string; -} - - -function dump(input, options) { - options = options || {}; - - var schema = options['schema'] || DEFAULT_SCHEMA, - indent = Math.max(1, (options['indent'] || 2)), - flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']), - styleMap = compileStyleMap(schema, options['styles'] || null), - - implicitTypes = schema.compiledImplicit, - explicitTypes = schema.compiledExplicit, - - kind, - tag, - result; - - function generateNextLine(level) { - return '\n' + common.repeat(' ', indent * level); - } - - function testImplicitResolving(object) { - var index, length, type; - - for (index = 0, length = implicitTypes.length; index < length; index += 1) { - type = implicitTypes[index]; - - if (null !== type.loader && - NIL !== type.loader.resolver(object, false)) { - return true; - } - } - - return false; - } - - function writeScalar(object) { - var isQuoted, checkpoint, position, length, character; - - result = ''; - isQuoted = false; - checkpoint = 0; - - if (0 === object.length || - CHAR_SPACE === object.charCodeAt(0) || - CHAR_SPACE === object.charCodeAt(object.length - 1)) { - isQuoted = true; - } - - for (position = 0, length = object.length; position < length; position += 1) { - character = object.charCodeAt(position); - - if (!isQuoted) { - if (CHAR_TAB === character || - CHAR_LINE_FEED === character || - CHAR_CARRIAGE_RETURN === character || - CHAR_COMMA === character || - CHAR_LEFT_SQUARE_BRACKET === character || - CHAR_RIGHT_SQUARE_BRACKET === character || - CHAR_LEFT_CURLY_BRACKET === character || - CHAR_RIGHT_CURLY_BRACKET === character || - CHAR_SHARP === character || - CHAR_AMPERSAND === character || - CHAR_ASTERISK === character || - CHAR_EXCLAMATION === character || - CHAR_VERTICAL_LINE === character || - CHAR_GREATER_THAN === character || - CHAR_SINGLE_QUOTE === character || - CHAR_DOUBLE_QUOTE === character || - CHAR_PERCENT === character || - CHAR_COMMERCIAL_AT === character || - CHAR_GRAVE_ACCENT === character || - CHAR_QUESTION === character || - CHAR_COLON === character || - CHAR_MINUS === character) { - isQuoted = true; - } - } - - if (ESCAPE_SEQUENCES[character] || - !((0x00020 <= character && character <= 0x00007E) || - (0x00085 === character) || - (0x000A0 <= character && character <= 0x00D7FF) || - (0x0E000 <= character && character <= 0x00FFFD) || - (0x10000 <= character && character <= 0x10FFFF))) { - result += object.slice(checkpoint, position); - result += ESCAPE_SEQUENCES[character] || encodeHex(character); - checkpoint = position + 1; - isQuoted = true; - } - } - - if (checkpoint < position) { - result += object.slice(checkpoint, position); - } - - if (!isQuoted && testImplicitResolving(result)) { - isQuoted = true; - } - - if (isQuoted) { - result = '"' + result + '"'; - } - } - - function writeFlowSequence(level, object) { - var _result = '', - _tag = tag, - index, - length; - - for (index = 0, length = object.length; index < length; index += 1) { - if (0 !== index) { - _result += ', '; - } - - writeNode(level, object[index], false, false); - _result += result; - } - - tag = _tag; - result = '[' + _result + ']'; - } - - function writeBlockSequence(level, object, compact) { - var _result = '', - _tag = tag, - index, - length; - - for (index = 0, length = object.length; index < length; index += 1) { - if (!compact || 0 !== index) { - _result += generateNextLine(level); - } - - writeNode(level + 1, object[index], true, true); - _result += '- ' + result; - } - - tag = _tag; - result = _result; - } - - function writeFlowMapping(level, object) { - var _result = '', - _tag = tag, - objectKeyList = Object.keys(object), - index, - length, - objectKey, - objectValue; - - for (index = 0, length = objectKeyList.length; index < length; index += 1) { - if (0 !== index) { - _result += ', '; - } - - objectKey = objectKeyList[index]; - objectValue = object[objectKey]; - - writeNode(level, objectKey, false, false); - - if (result.length > 1024) { - _result += '? '; - } - - _result += result + ': '; - writeNode(level, objectValue, false, false); - _result += result; - } - - tag = _tag; - result = '{' + _result + '}'; - } - - function writeBlockMapping(level, object, compact) { - var _result = '', - _tag = tag, - objectKeyList = Object.keys(object), - index, - length, - objectKey, - objectValue, - explicitPair; - - for (index = 0, length = objectKeyList.length; index < length; index += 1) { - if (!compact || 0 !== index) { - _result += generateNextLine(level); - } - - objectKey = objectKeyList[index]; - objectValue = object[objectKey]; - - writeNode(level + 1, objectKey, true, true); - explicitPair = (null !== tag && '?' !== tag && result.length <= 1024); - - if (explicitPair) { - _result += '? '; - } - - _result += result; - - if (explicitPair) { - _result += generateNextLine(level); - } - - writeNode(level + 1, objectValue, true, explicitPair); - _result += ': ' + result; - } - - tag = _tag; - result = _result; - } - - function detectType(object, explicit) { - var _result, typeList, index, length, type, style; - - typeList = explicit ? explicitTypes : implicitTypes; - kind = kindOf(object); - - for (index = 0, length = typeList.length; index < length; index += 1) { - type = typeList[index]; - - if ((null !== type.dumper) && - (null === type.dumper.kind || kind === type.dumper.kind) && - (null === type.dumper.instanceOf || object instanceof type.dumper.instanceOf) && - (null === type.dumper.predicate || type.dumper.predicate(object))) { - tag = explicit ? type.tag : '?'; - - if (null !== type.dumper.representer) { - style = styleMap[type.tag] || type.dumper.defaultStyle; - - if ('function' === typeof type.dumper.representer) { - _result = type.dumper.representer(object, style); - } else if (_hasOwnProperty.call(type.dumper.representer, style)) { - _result = type.dumper.representer[style](object, style); - } else { - throw new YAMLException('!<' + type.tag + '> tag resolver accepts not "' + style + '" style'); - } - - if (NIL !== _result) { - kind = kindOf(_result); - result = _result; - } else { - if (explicit) { - throw new YAMLException('cannot represent an object of !<' + type.tag + '> type'); - } else { - continue; - } - } - } - - return true; - } - } - - return false; - } - - function writeNode(level, object, block, compact) { - tag = null; - result = object; - - if (!detectType(object, false)) { - detectType(object, true); - } - - if (block) { - block = (0 > flowLevel || flowLevel > level); - } - - if ((null !== tag && '?' !== tag) || (2 !== indent && level > 0)) { - compact = false; - } - - if ('object' === kind) { - if (block && (0 !== Object.keys(result).length)) { - writeBlockMapping(level, result, compact); - } else { - writeFlowMapping(level, result); - } - } else if ('array' === kind) { - if (block && (0 !== result.length)) { - writeBlockSequence(level, result, compact); - } else { - writeFlowSequence(level, result); - } - } else if ('string' === kind) { - if ('?' !== tag) { - writeScalar(result); - } - } else { - throw new YAMLException('unacceptabe kind of an object to dump (' + kind + ')'); - } - - if (null !== tag && '?' !== tag) { - result = '!<' + tag + '> ' + result; - } - } - - writeNode(0, input, true, true); - return result + '\n'; -} - - -function safeDump(input, options) { - return dump(input, common.extend({ schema: SAFE_SCHEMA }, options)); -} - - -module.exports.dump = dump; -module.exports.safeDump = safeDump; diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/exception.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/exception.js deleted file mode 100644 index 479ba88791de..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/exception.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - - -function YAMLException(reason, mark) { - this.name = 'YAMLException'; - this.reason = reason; - this.mark = mark; - this.message = this.toString(false); -} - - -YAMLException.prototype.toString = function toString(compact) { - var result; - - result = 'JS-YAML: ' + (this.reason || '(unknown reason)'); - - if (!compact && this.mark) { - result += ' ' + this.mark.toString(); - } - - return result; -}; - - -module.exports = YAMLException; diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/loader.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/loader.js deleted file mode 100644 index bdc71d1e0f9e..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/loader.js +++ /dev/null @@ -1,1549 +0,0 @@ -'use strict'; - - -var common = require('./common'); -var YAMLException = require('./exception'); -var Mark = require('./mark'); -var NIL = common.NIL; -var SAFE_SCHEMA = require('./schema/safe'); -var DEFAULT_SCHEMA = require('./schema/default'); - - -var _hasOwnProperty = Object.prototype.hasOwnProperty; - - -var KIND_STRING = 'string'; -var KIND_ARRAY = 'array'; -var KIND_OBJECT = 'object'; - - -var CONTEXT_FLOW_IN = 1; -var CONTEXT_FLOW_OUT = 2; -var CONTEXT_BLOCK_IN = 3; -var CONTEXT_BLOCK_OUT = 4; - - -var CHOMPING_CLIP = 1; -var CHOMPING_STRIP = 2; -var CHOMPING_KEEP = 3; - - -var CHAR_TAB = 0x09; /* Tab */ -var CHAR_LINE_FEED = 0x0A; /* LF */ -var CHAR_CARRIAGE_RETURN = 0x0D; /* CR */ -var CHAR_SPACE = 0x20; /* Space */ -var CHAR_EXCLAMATION = 0x21; /* ! */ -var CHAR_DOUBLE_QUOTE = 0x22; /* " */ -var CHAR_SHARP = 0x23; /* # */ -var CHAR_PERCENT = 0x25; /* % */ -var CHAR_AMPERSAND = 0x26; /* & */ -var CHAR_SINGLE_QUOTE = 0x27; /* ' */ -var CHAR_ASTERISK = 0x2A; /* * */ -var CHAR_PLUS = 0x2B; /* + */ -var CHAR_COMMA = 0x2C; /* , */ -var CHAR_MINUS = 0x2D; /* - */ -var CHAR_DOT = 0x2E; /* . */ -var CHAR_SLASH = 0x2F; /* / */ -var CHAR_DIGIT_ZERO = 0x30; /* 0 */ -var CHAR_DIGIT_ONE = 0x31; /* 1 */ -var CHAR_DIGIT_NINE = 0x39; /* 9 */ -var CHAR_COLON = 0x3A; /* : */ -var CHAR_LESS_THAN = 0x3C; /* < */ -var CHAR_GREATER_THAN = 0x3E; /* > */ -var CHAR_QUESTION = 0x3F; /* ? */ -var CHAR_COMMERCIAL_AT = 0x40; /* @ */ -var CHAR_CAPITAL_A = 0x41; /* A */ -var CHAR_CAPITAL_F = 0x46; /* F */ -var CHAR_CAPITAL_L = 0x4C; /* L */ -var CHAR_CAPITAL_N = 0x4E; /* N */ -var CHAR_CAPITAL_P = 0x50; /* P */ -var CHAR_CAPITAL_U = 0x55; /* U */ -var CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */ -var CHAR_BACKSLASH = 0x5C; /* \ */ -var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */ -var CHAR_UNDERSCORE = 0x5F; /* _ */ -var CHAR_GRAVE_ACCENT = 0x60; /* ` */ -var CHAR_SMALL_A = 0x61; /* a */ -var CHAR_SMALL_B = 0x62; /* b */ -var CHAR_SMALL_E = 0x65; /* e */ -var CHAR_SMALL_F = 0x66; /* f */ -var CHAR_SMALL_N = 0x6E; /* n */ -var CHAR_SMALL_R = 0x72; /* r */ -var CHAR_SMALL_T = 0x74; /* t */ -var CHAR_SMALL_U = 0x75; /* u */ -var CHAR_SMALL_V = 0x76; /* v */ -var CHAR_SMALL_X = 0x78; /* x */ -var CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */ -var CHAR_VERTICAL_LINE = 0x7C; /* | */ -var CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */ - - -var SIMPLE_ESCAPE_SEQUENCES = {}; - -SIMPLE_ESCAPE_SEQUENCES[CHAR_DIGIT_ZERO] = '\x00'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_A] = '\x07'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_B] = '\x08'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_T] = '\x09'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_TAB] = '\x09'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_N] = '\x0A'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_V] = '\x0B'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_F] = '\x0C'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_R] = '\x0D'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_E] = '\x1B'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_SPACE] = ' '; -SIMPLE_ESCAPE_SEQUENCES[CHAR_DOUBLE_QUOTE] = '\x22'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_SLASH] = '/'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_BACKSLASH] = '\x5C'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_CAPITAL_N] = '\x85'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_UNDERSCORE] = '\xA0'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_CAPITAL_L] = '\u2028'; -SIMPLE_ESCAPE_SEQUENCES[CHAR_CAPITAL_P] = '\u2029'; - - -var HEXADECIMAL_ESCAPE_SEQUENCES = {}; - -HEXADECIMAL_ESCAPE_SEQUENCES[CHAR_SMALL_X] = 2; -HEXADECIMAL_ESCAPE_SEQUENCES[CHAR_SMALL_U] = 4; -HEXADECIMAL_ESCAPE_SEQUENCES[CHAR_CAPITAL_U] = 8; - - -var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uD800-\uDFFF\uFFFE\uFFFF]/; -var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; -var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; -var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; -var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; - - -function loadAll(input, output, options) { - options = options || {}; - - var filename = options['filename'] || null, - schema = options['schema'] || DEFAULT_SCHEMA, - resolve = options['resolve'] || true, - validate = options['validate'] || true, - strict = options['strict'] || false, - legacy = options['legacy'] || false, - - directiveHandlers = {}, - implicitTypes = schema.compiledImplicit, - typeMap = schema.compiledTypeMap, - - length = input.length, - position = 0, - line = 0, - lineStart = 0, - lineIndent = 0, - character = input.charCodeAt(position), - - version, - checkLineBreaks, - tagMap, - anchorMap, - tag, - anchor, - kind, - result; - - function generateError(message) { - return new YAMLException( - message, - new Mark(filename, input, position, line, (position - lineStart))); - } - - function throwError(message) { - throw generateError(message); - } - - function throwWarning(message) { - var error = generateError(message); - - if (strict) { - throw error; - } else { - console.warn(error.toString()); - } - } - - directiveHandlers['YAML'] = function handleYamlDirective(name, args) { - var match, major, minor; - - if (null !== version) { - throwError('duplication of %YAML directive'); - } - - if (1 !== args.length) { - throwError('YAML directive accepts exactly one argument'); - } - - match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); - - if (null === match) { - throwError('ill-formed argument of the YAML directive'); - } - - major = parseInt(match[1], 10); - minor = parseInt(match[2], 10); - - if (1 !== major) { - throwError('unacceptable YAML version of the document'); - } - - version = args[0]; - checkLineBreaks = (minor < 2); - - if (1 !== minor && 2 !== minor) { - throwWarning('unsupported YAML version of the document'); - } - }; - - directiveHandlers['TAG'] = function handleTagDirective(name, args) { - var handle, prefix; - - if (2 !== args.length) { - throwError('TAG directive accepts exactly two arguments'); - } - - handle = args[0]; - prefix = args[1]; - - if (!PATTERN_TAG_HANDLE.test(handle)) { - throwError('ill-formed tag handle (first argument) of the TAG directive'); - } - - if (_hasOwnProperty.call(tagMap, handle)) { - throwError('there is a previously declared suffix for "' + handle + '" tag handle'); - } - - if (!PATTERN_TAG_URI.test(prefix)) { - throwError('ill-formed tag prefix (second argument) of the TAG directive'); - } - - tagMap[handle] = prefix; - }; - - function captureSegment(start, end, checkJson) { - var _position, _length, _character, _result; - - if (start < end) { - _result = input.slice(start, end); - - if (checkJson && validate) { - for (_position = 0, _length = _result.length; - _position < _length; - _position += 1) { - _character = _result.charCodeAt(_position); - if (!(0x09 === _character || - 0x20 <= _character && _character <= 0x10FFFF)) { - throwError('expected valid JSON character'); - } - } - } - - result += _result; - } - } - - function mergeMappings(destination, source) { - var sourceKeys, key, index, quantity; - - if (!common.isObject(source)) { - throwError('cannot merge mappings; the provided source object is unacceptable'); - } - - sourceKeys = Object.keys(source); - - for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { - key = sourceKeys[index]; - - if (!_hasOwnProperty.call(destination, key)) { - destination[key] = source[key]; - } - } - } - - function storeMappingPair(_result, keyTag, keyNode, valueNode) { - var index, quantity; - - keyNode = String(keyNode); - - if (null === _result) { - _result = {}; - } - - if ('tag:yaml.org,2002:merge' === keyTag) { - if (Array.isArray(valueNode)) { - for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { - mergeMappings(_result, valueNode[index]); - } - } else { - mergeMappings(_result, valueNode); - } - } else { - _result[keyNode] = valueNode; - } - - return _result; - } - - function readLineBreak() { - if (CHAR_LINE_FEED === character) { - position += 1; - } else if (CHAR_CARRIAGE_RETURN === character) { - if (CHAR_LINE_FEED === input.charCodeAt(position + 1)) { - position += 2; - } else { - position += 1; - } - } else { - throwError('a line break is expected'); - } - - line += 1; - lineStart = position; - character = input.charCodeAt(position); - } - - function skipSeparationSpace(allowComments, checkIndent) { - var lineBreaks = 0; - - while (position < length) { - while (CHAR_SPACE === character || CHAR_TAB === character) { - character = input.charCodeAt(++position); - } - - if (allowComments && CHAR_SHARP === character) { - do { character = input.charCodeAt(++position); } - while (position < length && - CHAR_LINE_FEED !== character && - CHAR_CARRIAGE_RETURN !== character); - } - - if (CHAR_LINE_FEED === character || CHAR_CARRIAGE_RETURN === character) { - readLineBreak(); - lineBreaks += 1; - lineIndent = 0; - - while (CHAR_SPACE === character) { - lineIndent += 1; - character = input.charCodeAt(++position); - } - - if (lineIndent < checkIndent) { - throwWarning('deficient indentation'); - } - } else { - break; - } - } - - return lineBreaks; - } - - function testDocumentSeparator() { - var _position, _character; - - if (position === lineStart && - (CHAR_MINUS === character || CHAR_DOT === character) && - input.charCodeAt(position + 1) === character && - input.charCodeAt(position + 2) === character) { - - _position = position + 3; - _character = input.charCodeAt(_position); - - if (_position >= length || - CHAR_SPACE === _character || - CHAR_TAB === _character || - CHAR_LINE_FEED === _character || - CHAR_CARRIAGE_RETURN === _character) { - return true; - } - } - - return false; - } - - function writeFoldedLines(count) { - if (1 === count) { - result += ' '; - } else if (count > 1) { - result += common.repeat('\n', count - 1); - } - } - - function readPlainScalar(nodeIndent, withinFlowCollection) { - var preceding, - following, - captureStart, - captureEnd, - hasPendingContent, - _line, - _lineStart, - _lineIndent, - _kind = kind, - _result = result; - - if (CHAR_SPACE === character || - CHAR_TAB === character || - CHAR_LINE_FEED === character || - CHAR_CARRIAGE_RETURN === character || - CHAR_COMMA === character || - CHAR_LEFT_SQUARE_BRACKET === character || - CHAR_RIGHT_SQUARE_BRACKET === character || - CHAR_LEFT_CURLY_BRACKET === character || - CHAR_RIGHT_CURLY_BRACKET === character || - CHAR_SHARP === character || - CHAR_AMPERSAND === character || - CHAR_ASTERISK === character || - CHAR_EXCLAMATION === character || - CHAR_VERTICAL_LINE === character || - CHAR_GREATER_THAN === character || - CHAR_SINGLE_QUOTE === character || - CHAR_DOUBLE_QUOTE === character || - CHAR_PERCENT === character || - CHAR_COMMERCIAL_AT === character || - CHAR_GRAVE_ACCENT === character) { - return false; - } - - if (CHAR_QUESTION === character || - CHAR_MINUS === character) { - following = input.charCodeAt(position + 1); - - if (CHAR_SPACE === following || - CHAR_TAB === following || - CHAR_LINE_FEED === following || - CHAR_CARRIAGE_RETURN === following || - withinFlowCollection && - (CHAR_COMMA === following || - CHAR_LEFT_SQUARE_BRACKET === following || - CHAR_RIGHT_SQUARE_BRACKET === following || - CHAR_LEFT_CURLY_BRACKET === following || - CHAR_RIGHT_CURLY_BRACKET === following)) { - return false; - } - } - - kind = KIND_STRING; - result = ''; - captureStart = captureEnd = position; - hasPendingContent = false; - - while (position < length) { - if (CHAR_COLON === character) { - following = input.charCodeAt(position + 1); - - if (CHAR_SPACE === following || - CHAR_TAB === following || - CHAR_LINE_FEED === following || - CHAR_CARRIAGE_RETURN === following || - withinFlowCollection && - (CHAR_COMMA === following || - CHAR_LEFT_SQUARE_BRACKET === following || - CHAR_RIGHT_SQUARE_BRACKET === following || - CHAR_LEFT_CURLY_BRACKET === following || - CHAR_RIGHT_CURLY_BRACKET === following)) { - break; - } - - } else if (CHAR_SHARP === character) { - preceding = input.charCodeAt(position - 1); - - if (CHAR_SPACE === preceding || - CHAR_TAB === preceding || - CHAR_LINE_FEED === preceding || - CHAR_CARRIAGE_RETURN === preceding) { - break; - } - - } else if ((position === lineStart && testDocumentSeparator()) || - withinFlowCollection && - (CHAR_COMMA === character || - CHAR_LEFT_SQUARE_BRACKET === character || - CHAR_RIGHT_SQUARE_BRACKET === character || - CHAR_LEFT_CURLY_BRACKET === character || - CHAR_RIGHT_CURLY_BRACKET === character)) { - break; - - } else if (CHAR_LINE_FEED === character || - CHAR_CARRIAGE_RETURN === character) { - _line = line; - _lineStart = lineStart; - _lineIndent = lineIndent; - skipSeparationSpace(false, -1); - - if (lineIndent >= nodeIndent) { - hasPendingContent = true; - continue; - } else { - position = captureEnd; - line = _line; - lineStart = _lineStart; - lineIndent = _lineIndent; - character = input.charCodeAt(position); - break; - } - } - - if (hasPendingContent) { - captureSegment(captureStart, captureEnd, false); - writeFoldedLines(line - _line); - captureStart = captureEnd = position; - hasPendingContent = false; - } - - if (CHAR_SPACE !== character && CHAR_TAB !== character) { - captureEnd = position + 1; - } - - character = input.charCodeAt(++position); - } - - captureSegment(captureStart, captureEnd, false); - - if (result) { - return true; - } else { - kind = _kind; - result = _result; - return false; - } - } - - function readSingleQuotedScalar(nodeIndent) { - var captureStart, captureEnd; - - if (CHAR_SINGLE_QUOTE !== character) { - return false; - } - - kind = KIND_STRING; - result = ''; - character = input.charCodeAt(++position); - captureStart = captureEnd = position; - - while (position < length) { - if (CHAR_SINGLE_QUOTE === character) { - captureSegment(captureStart, position, true); - character = input.charCodeAt(++position); - - if (CHAR_SINGLE_QUOTE === character) { - captureStart = captureEnd = position; - character = input.charCodeAt(++position); - } else { - return true; - } - - } else if (CHAR_LINE_FEED === character || - CHAR_CARRIAGE_RETURN === character) { - captureSegment(captureStart, captureEnd, true); - writeFoldedLines(skipSeparationSpace(false, nodeIndent)); - captureStart = captureEnd = position; - character = input.charCodeAt(position); - - } else if (position === lineStart && testDocumentSeparator()) { - throwError('unexpected end of the document within a single quoted scalar'); - - } else { - character = input.charCodeAt(++position); - captureEnd = position; - } - } - - throwError('unexpected end of the stream within a single quoted scalar'); - } - - function readDoubleQuotedScalar(nodeIndent) { - var captureStart, - captureEnd, - hexLength, - hexIndex, - hexOffset, - hexResult; - - if (CHAR_DOUBLE_QUOTE !== character) { - return false; - } - - kind = KIND_STRING; - result = ''; - character = input.charCodeAt(++position); - captureStart = captureEnd = position; - - while (position < length) { - if (CHAR_DOUBLE_QUOTE === character) { - captureSegment(captureStart, position, true); - character = input.charCodeAt(++position); - return true; - - } else if (CHAR_BACKSLASH === character) { - captureSegment(captureStart, position, true); - character = input.charCodeAt(++position); - - if (CHAR_LINE_FEED === character || - CHAR_CARRIAGE_RETURN === character) { - skipSeparationSpace(false, nodeIndent); - - } else if (SIMPLE_ESCAPE_SEQUENCES[character]) { - result += SIMPLE_ESCAPE_SEQUENCES[character]; - character = input.charCodeAt(++position); - - } else if (HEXADECIMAL_ESCAPE_SEQUENCES[character]) { - hexLength = HEXADECIMAL_ESCAPE_SEQUENCES[character]; - hexResult = 0; - - for (hexIndex = 1; hexIndex <= hexLength; hexIndex += 1) { - hexOffset = (hexLength - hexIndex) * 4; - character = input.charCodeAt(++position); - - if (CHAR_DIGIT_ZERO <= character && character <= CHAR_DIGIT_NINE) { - hexResult |= (character - CHAR_DIGIT_ZERO) << hexOffset; - - } else if (CHAR_CAPITAL_A <= character && character <= CHAR_CAPITAL_F) { - hexResult |= (character - CHAR_CAPITAL_A + 10) << hexOffset; - - } else if (CHAR_SMALL_A <= character && character <= CHAR_SMALL_F) { - hexResult |= (character - CHAR_SMALL_A + 10) << hexOffset; - - } else { - throwError('expected hexadecimal character'); - } - } - - result += String.fromCharCode(hexResult); - character = input.charCodeAt(++position); - - } else { - throwError('unknown escape sequence'); - } - - captureStart = captureEnd = position; - - } else if (CHAR_LINE_FEED === character || - CHAR_CARRIAGE_RETURN === character) { - captureSegment(captureStart, captureEnd, true); - writeFoldedLines(skipSeparationSpace(false, nodeIndent)); - captureStart = captureEnd = position; - character = input.charCodeAt(position); - - } else if (position === lineStart && testDocumentSeparator()) { - throwError('unexpected end of the document within a double quoted scalar'); - - } else { - character = input.charCodeAt(++position); - captureEnd = position; - } - } - - throwError('unexpected end of the stream within a double quoted scalar'); - } - - function readFlowCollection(nodeIndent) { - var readNext = true, - _line, - _tag = tag, - _result, - following, - terminator, - isPair, - isExplicitPair, - isMapping, - keyNode, - keyTag, - valueNode; - - switch (character) { - case CHAR_LEFT_SQUARE_BRACKET: - terminator = CHAR_RIGHT_SQUARE_BRACKET; - isMapping = false; - _result = []; - break; - - case CHAR_LEFT_CURLY_BRACKET: - terminator = CHAR_RIGHT_CURLY_BRACKET; - isMapping = true; - _result = {}; - break; - - default: - return false; - } - - if (null !== anchor) { - anchorMap[anchor] = _result; - } - - character = input.charCodeAt(++position); - - while (position < length) { - skipSeparationSpace(true, nodeIndent); - - if (character === terminator) { - character = input.charCodeAt(++position); - tag = _tag; - kind = isMapping ? KIND_OBJECT : KIND_ARRAY; - result = _result; - return true; - } else if (!readNext) { - throwError('missed comma between flow collection entries'); - } - - keyTag = keyNode = valueNode = null; - isPair = isExplicitPair = false; - - if (CHAR_QUESTION === character) { - following = input.charCodeAt(position + 1); - - if (CHAR_SPACE === following || - CHAR_TAB === following || - CHAR_LINE_FEED === following || - CHAR_CARRIAGE_RETURN === following) { - isPair = isExplicitPair = true; - position += 1; - character = following; - skipSeparationSpace(true, nodeIndent); - } - } - - _line = line; - composeNode(nodeIndent, CONTEXT_FLOW_IN, false, true); - keyTag = tag; - keyNode = result; - - if ((isExplicitPair || line === _line) && CHAR_COLON === character) { - isPair = true; - character = input.charCodeAt(++position); - skipSeparationSpace(true, nodeIndent); - composeNode(nodeIndent, CONTEXT_FLOW_IN, false, true); - valueNode = result; - } - - if (isMapping) { - storeMappingPair(_result, keyTag, keyNode, valueNode); - } else if (isPair) { - _result.push(storeMappingPair(null, keyTag, keyNode, valueNode)); - } else { - _result.push(keyNode); - } - - skipSeparationSpace(true, nodeIndent); - - if (CHAR_COMMA === character) { - readNext = true; - character = input.charCodeAt(++position); - } else { - readNext = false; - } - } - - throwError('unexpected end of the stream within a flow collection'); - } - - function readBlockScalar(nodeIndent) { - var captureStart, - folding, - chomping = CHOMPING_CLIP, - detectedIndent = false, - textIndent = nodeIndent, - emptyLines = -1; - - switch (character) { - case CHAR_VERTICAL_LINE: - folding = false; - break; - - case CHAR_GREATER_THAN: - folding = true; - break; - - default: - return false; - } - - kind = KIND_STRING; - result = ''; - - while (position < length) { - character = input.charCodeAt(++position); - - if (CHAR_PLUS === character || CHAR_MINUS === character) { - if (CHOMPING_CLIP === chomping) { - chomping = (CHAR_PLUS === character) ? CHOMPING_KEEP : CHOMPING_STRIP; - } else { - throwError('repeat of a chomping mode identifier'); - } - - } else if (CHAR_DIGIT_ZERO <= character && character <= CHAR_DIGIT_NINE) { - if (CHAR_DIGIT_ZERO === character) { - throwError('bad explicit indentation width of a block scalar; it cannot be less than one'); - } else if (!detectedIndent) { - textIndent = nodeIndent + (character - CHAR_DIGIT_ONE); - detectedIndent = true; - } else { - throwError('repeat of an indentation width identifier'); - } - - } else { - break; - } - } - - if (CHAR_SPACE === character || CHAR_TAB === character) { - do { character = input.charCodeAt(++position); } - while (CHAR_SPACE === character || CHAR_TAB === character); - - if (CHAR_SHARP === character) { - do { character = input.charCodeAt(++position); } - while (position < length && - CHAR_LINE_FEED !== character && - CHAR_CARRIAGE_RETURN !== character); - } - } - - while (position < length) { - readLineBreak(); - lineIndent = 0; - - while ((!detectedIndent || lineIndent < textIndent) && - (CHAR_SPACE === character)) { - lineIndent += 1; - character = input.charCodeAt(++position); - } - - if (!detectedIndent && lineIndent > textIndent) { - textIndent = lineIndent; - } - - if (CHAR_LINE_FEED === character || CHAR_CARRIAGE_RETURN === character) { - emptyLines += 1; - continue; - } - - // End of the scalar. Perform the chomping. - if (lineIndent < textIndent) { - if (CHOMPING_KEEP === chomping) { - result += common.repeat('\n', emptyLines + 1); - } else if (CHOMPING_CLIP === chomping) { - result += '\n'; - } - break; - } - - detectedIndent = true; - - if (folding) { - if (CHAR_SPACE === character || CHAR_TAB === character) { - result += common.repeat('\n', emptyLines + 1); - emptyLines = 1; - } else if (0 === emptyLines) { - result += ' '; - emptyLines = 0; - } else { - result += common.repeat('\n', emptyLines); - emptyLines = 0; - } - } else { - result += common.repeat('\n', emptyLines + 1); - emptyLines = 0; - } - - captureStart = position; - - do { character = input.charCodeAt(++position); } - while (position < length && - CHAR_LINE_FEED !== character && - CHAR_CARRIAGE_RETURN !== character); - - captureSegment(captureStart, position, false); - } - - return true; - } - - function readBlockSequence(nodeIndent) { - var _line, - _tag = tag, - _result = [], - following, - detected = false; - - if (null !== anchor) { - anchorMap[anchor] = _result; - } - - while (position < length) { - if (CHAR_MINUS !== character) { - break; - } - - following = input.charCodeAt(position + 1); - - if (CHAR_SPACE !== following && - CHAR_TAB !== following && - CHAR_LINE_FEED !== following && - CHAR_CARRIAGE_RETURN !== following) { - break; - } - - detected = true; - position += 1; - character = following; - - if (skipSeparationSpace(true, -1)) { - if (lineIndent <= nodeIndent) { - _result.push(null); - continue; - } - } - - _line = line; - composeNode(nodeIndent, CONTEXT_BLOCK_IN, false, true); - _result.push(result); - skipSeparationSpace(true, -1); - - if ((line === _line || lineIndent > nodeIndent) && position < length) { - throwError('bad indentation of a sequence entry'); - } else if (lineIndent < nodeIndent) { - break; - } - } - - if (detected) { - tag = _tag; - kind = KIND_ARRAY; - result = _result; - return true; - } else { - return false; - } - } - - function readBlockMapping(nodeIndent) { - var following, - allowCompact, - _line, - _tag = tag, - _result = {}, - keyTag = null, - keyNode = null, - valueNode = null, - atExplicitKey = false, - detected = false; - - if (null !== anchor) { - anchorMap[anchor] = _result; - } - - while (position < length) { - following = input.charCodeAt(position + 1); - _line = line; // Save the current line. - - if ((CHAR_QUESTION === character || - CHAR_COLON === character) && - (CHAR_SPACE === following || - CHAR_TAB === following || - CHAR_LINE_FEED === following || - CHAR_CARRIAGE_RETURN === following)) { - - if (CHAR_QUESTION === character) { - if (atExplicitKey) { - storeMappingPair(_result, keyTag, keyNode, null); - keyTag = keyNode = valueNode = null; - } - - detected = true; - atExplicitKey = true; - allowCompact = true; - - } else if (atExplicitKey) { - // i.e. CHAR_COLON === character after the explicit key. - atExplicitKey = false; - allowCompact = true; - - } else { - throwError('incomplete explicit mapping pair; a key node is missed'); - } - - position += 1; - character = following; - - } else if (composeNode(nodeIndent, CONTEXT_FLOW_OUT, false, true)) { - if (line === _line) { - // TODO: Remove this cycle when the flow readers will consume - // trailing whitespaces like the block readers. - while (CHAR_SPACE === character || - CHAR_TAB === character) { - character = input.charCodeAt(++position); - } - - if (CHAR_COLON === character) { - character = input.charCodeAt(++position); - - if (CHAR_SPACE !== character && - CHAR_TAB !== character && - CHAR_LINE_FEED !== character && - CHAR_CARRIAGE_RETURN !== character) { - throwError('a whitespace character is expected after the key-value separator within a block mapping'); - } - - if (atExplicitKey) { - storeMappingPair(_result, keyTag, keyNode, null); - keyTag = keyNode = valueNode = null; - } - - detected = true; - atExplicitKey = false; - allowCompact = false; - keyTag = tag; - keyNode = result; - - } else if (detected) { - throwError('can not read an implicit mapping pair; a colon is missed'); - - } else { - tag = _tag; - return true; // Keep the result of `composeNode`. - } - - } else if (detected) { - throwError('can not read a block mapping entry; a multiline key may not be an implicit key'); - - } else { - tag = _tag; - return true; // Keep the result of `composeNode`. - } - - } else { - break; - } - - if (line === _line || lineIndent > nodeIndent) { - if (composeNode(nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { - if (atExplicitKey) { - keyNode = result; - } else { - valueNode = result; - } - } - - if (!atExplicitKey) { - storeMappingPair(_result, keyTag, keyNode, valueNode); - keyTag = keyNode = valueNode = null; - } - - // TODO: It is needed only for flow node readers. It should be removed - // when the flow readers will consume trailing whitespaces as well as - // the block readers. - skipSeparationSpace(true, -1); - } - - if (lineIndent > nodeIndent && position < length) { - throwError('bad indentation of a mapping entry'); - } else if (lineIndent < nodeIndent) { - break; - } - } - - if (atExplicitKey) { - storeMappingPair(_result, keyTag, keyNode, null); - } - - if (detected) { - tag = _tag; - kind = KIND_OBJECT; - result = _result; - } - - return detected; - } - - function readTagProperty() { - var _position, - isVerbatim = false, - isNamed = false, - tagHandle, - tagName; - - if (CHAR_EXCLAMATION !== character) { - return false; - } - - if (null !== tag) { - throwError('duplication of a tag property'); - } - - character = input.charCodeAt(++position); - - if (CHAR_LESS_THAN === character) { - isVerbatim = true; - character = input.charCodeAt(++position); - - } else if (CHAR_EXCLAMATION === character) { - isNamed = true; - tagHandle = '!!'; - character = input.charCodeAt(++position); - - } else { - tagHandle = '!'; - } - - _position = position; - - if (isVerbatim) { - do { character = input.charCodeAt(++position); } - while (position < length && CHAR_GREATER_THAN !== character); - - if (position < length) { - tagName = input.slice(_position, position); - character = input.charCodeAt(++position); - } else { - throwError('unexpected end of the stream within a verbatim tag'); - } - } else { - while (position < length && - CHAR_SPACE !== character && - CHAR_TAB !== character && - CHAR_LINE_FEED !== character && - CHAR_CARRIAGE_RETURN !== character) { - - if (CHAR_EXCLAMATION === character) { - if (!isNamed) { - tagHandle = input.slice(_position - 1, position + 1); - - if (validate && !PATTERN_TAG_HANDLE.test(tagHandle)) { - throwError('named tag handle cannot contain such characters'); - } - - isNamed = true; - _position = position + 1; - } else { - throwError('tag suffix cannot contain exclamation marks'); - } - } - - character = input.charCodeAt(++position); - } - - tagName = input.slice(_position, position); - - if (validate && PATTERN_FLOW_INDICATORS.test(tagName)) { - throwError('tag suffix cannot contain flow indicator characters'); - } - } - - if (validate && tagName && !PATTERN_TAG_URI.test(tagName)) { - throwError('tag name cannot contain such characters: ' + tagName); - } - - if (isVerbatim) { - tag = tagName; - - } else if (_hasOwnProperty.call(tagMap, tagHandle)) { - tag = tagMap[tagHandle] + tagName; - - } else if ('!' === tagHandle) { - tag = '!' + tagName; - - } else if ('!!' === tagHandle) { - tag = 'tag:yaml.org,2002:' + tagName; - - } else { - throwError('undeclared tag handle "' + tagHandle + '"'); - } - - return true; - } - - function readAnchorProperty() { - var _position; - - if (CHAR_AMPERSAND !== character) { - return false; - } - - if (null !== anchor) { - throwError('duplication of an anchor property'); - } - - character = input.charCodeAt(++position); - _position = position; - - while (position < length && - CHAR_SPACE !== character && - CHAR_TAB !== character && - CHAR_LINE_FEED !== character && - CHAR_CARRIAGE_RETURN !== character && - CHAR_COMMA !== character && - CHAR_LEFT_SQUARE_BRACKET !== character && - CHAR_RIGHT_SQUARE_BRACKET !== character && - CHAR_LEFT_CURLY_BRACKET !== character && - CHAR_RIGHT_CURLY_BRACKET !== character) { - character = input.charCodeAt(++position); - } - - if (position === _position) { - throwError('name of an anchor node must contain at least one character'); - } - - anchor = input.slice(_position, position); - return true; - } - - function readAlias() { - var _position, alias; - - if (CHAR_ASTERISK !== character) { - return false; - } - - character = input.charCodeAt(++position); - _position = position; - - while (position < length && - CHAR_SPACE !== character && - CHAR_TAB !== character && - CHAR_LINE_FEED !== character && - CHAR_CARRIAGE_RETURN !== character && - CHAR_COMMA !== character && - CHAR_LEFT_SQUARE_BRACKET !== character && - CHAR_RIGHT_SQUARE_BRACKET !== character && - CHAR_LEFT_CURLY_BRACKET !== character && - CHAR_RIGHT_CURLY_BRACKET !== character) { - character = input.charCodeAt(++position); - } - - if (position === _position) { - throwError('name of an alias node must contain at least one character'); - } - - alias = input.slice(_position, position); - - if (!anchorMap.hasOwnProperty(alias)) { - throwError('unidentified alias "' + alias + '"'); - } - - result = anchorMap[alias]; - skipSeparationSpace(true, -1); - return true; - } - - function composeNode(parentIndent, nodeContext, allowToSeek, allowCompact) { - var allowBlockStyles, - allowBlockScalars, - allowBlockCollections, - atNewLine = false, - isIndented = true, - hasContent = false, - typeIndex, - typeQuantity, - type, - typeLoader, - flowIndent, - blockIndent, - _result; - - tag = null; - anchor = null; - kind = null; - result = null; - - allowBlockStyles = allowBlockScalars = allowBlockCollections = - CONTEXT_BLOCK_OUT === nodeContext || - CONTEXT_BLOCK_IN === nodeContext; - - if (allowToSeek) { - if (skipSeparationSpace(true, -1)) { - atNewLine = true; - - if (lineIndent === parentIndent) { - isIndented = false; - - } else if (lineIndent > parentIndent) { - isIndented = true; - - } else { - return false; - } - } - } - - if (isIndented) { - while (readTagProperty() || readAnchorProperty()) { - if (skipSeparationSpace(true, -1)) { - atNewLine = true; - - if (lineIndent > parentIndent) { - isIndented = true; - allowBlockCollections = allowBlockStyles; - - } else if (lineIndent === parentIndent) { - isIndented = false; - allowBlockCollections = allowBlockStyles; - - } else { - return true; - } - } else { - allowBlockCollections = false; - } - } - } - - if (allowBlockCollections) { - allowBlockCollections = atNewLine || allowCompact; - } - - if (isIndented || CONTEXT_BLOCK_OUT === nodeContext) { - if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { - flowIndent = parentIndent; - } else { - flowIndent = parentIndent + 1; - } - - blockIndent = position - lineStart; - - if (isIndented) { - if (allowBlockCollections && - (readBlockSequence(blockIndent) || - readBlockMapping(blockIndent)) || - readFlowCollection(flowIndent)) { - hasContent = true; - } else { - if ((allowBlockScalars && readBlockScalar(flowIndent)) || - readSingleQuotedScalar(flowIndent) || - readDoubleQuotedScalar(flowIndent)) { - hasContent = true; - - } else if (readAlias()) { - hasContent = true; - - if (null !== tag || null !== anchor) { - throwError('alias node should not have any properties'); - } - - } else if (readPlainScalar(flowIndent, CONTEXT_FLOW_IN === nodeContext)) { - hasContent = true; - - if (null === tag) { - tag = '?'; - } - } - - if (null !== anchor) { - anchorMap[anchor] = result; - } - } - } else { - hasContent = allowBlockCollections && readBlockSequence(blockIndent); - } - } - - if (null !== tag && '!' !== tag) { - if ('?' === tag) { - if (resolve) { - for (typeIndex = 0, typeQuantity = implicitTypes.length; - typeIndex < typeQuantity; - typeIndex += 1) { - type = implicitTypes[typeIndex]; - - // Implicit resolving is not allowed for non-scalar types, and '?' - // non-specific tag is only assigned to plain scalars. So, it isn't - // needed to check for 'kind' conformity. - _result = type.loader.resolver(result, false); - - if (NIL !== _result) { - tag = type.tag; - result = _result; - break; - } - } - } - } else if (_hasOwnProperty.call(typeMap, tag)) { - typeLoader = typeMap[tag].loader; - - if (null !== result && typeLoader.kind !== kind) { - throwError('unacceptable node kind for !<' + tag + '> tag; it should be "' + typeLoader.kind + '", not "' + kind + '"'); - } - - if (typeLoader.resolver) { - _result = typeLoader.resolver(result, true); - - if (NIL !== _result) { - result = _result; - } else { - throwError('cannot resolve a node with !<' + tag + '> explicit tag'); - } - } - } else { - throwWarning('unknown tag !<' + tag + '>'); - } - } - - return null !== tag || null !== anchor || hasContent; - } - - function readDocument() { - var documentStart = position, - _position, - directiveName, - directiveArgs, - hasDirectives = false; - - version = null; - checkLineBreaks = legacy; - tagMap = {}; - anchorMap = {}; - - while (position < length) { - skipSeparationSpace(true, -1); - - if (lineIndent > 0 || CHAR_PERCENT !== character) { - break; - } - - hasDirectives = true; - character = input.charCodeAt(++position); - _position = position; - - while (position < length && - CHAR_SPACE !== character && - CHAR_TAB !== character && - CHAR_LINE_FEED !== character && - CHAR_CARRIAGE_RETURN !== character) { - character = input.charCodeAt(++position); - } - - directiveName = input.slice(_position, position); - directiveArgs = []; - - if (directiveName.length < 1) { - throwError('directive name must not be less than one character in length'); - } - - while (position < length) { - while (CHAR_SPACE === character || CHAR_TAB === character) { - character = input.charCodeAt(++position); - } - - if (CHAR_SHARP === character) { - do { character = input.charCodeAt(++position); } - while (position < length && - CHAR_LINE_FEED !== character && - CHAR_CARRIAGE_RETURN !== character); - break; - } - - if (CHAR_LINE_FEED === character || CHAR_CARRIAGE_RETURN === character) { - break; - } - - _position = position; - - while (position < length && - CHAR_SPACE !== character && - CHAR_TAB !== character && - CHAR_LINE_FEED !== character && - CHAR_CARRIAGE_RETURN !== character) { - character = input.charCodeAt(++position); - } - - directiveArgs.push(input.slice(_position, position)); - } - - if (position < length) { - readLineBreak(); - } - - if (_hasOwnProperty.call(directiveHandlers, directiveName)) { - directiveHandlers[directiveName](directiveName, directiveArgs); - } else { - throwWarning('unknown document directive "' + directiveName + '"'); - } - } - - skipSeparationSpace(true, -1); - - if (0 === lineIndent && - CHAR_MINUS === character && - CHAR_MINUS === input.charCodeAt(position + 1) && - CHAR_MINUS === input.charCodeAt(position + 2)) { - position += 3; - character = input.charCodeAt(position); - skipSeparationSpace(true, -1); - - } else if (hasDirectives) { - throwError('directives end mark is expected'); - } - - composeNode(lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); - skipSeparationSpace(true, -1); - - if (validate && checkLineBreaks && - PATTERN_NON_ASCII_LINE_BREAKS.test(input.slice(documentStart, position))) { - throwWarning('non-ASCII line breaks are interpreted as content'); - } - - output(result); - - if (position === lineStart && testDocumentSeparator()) { - if (CHAR_DOT === character) { - position += 3; - character = input.charCodeAt(position); - skipSeparationSpace(true, -1); - } - return; - } - - if (position < length) { - throwError('end of the stream or a document separator is expected'); - } else { - return; - } - } - - if (validate && PATTERN_NON_PRINTABLE.test(input)) { - throwError('the stream contains non-printable characters'); - } - - while (CHAR_SPACE === character) { - lineIndent += 1; - character = input.charCodeAt(++position); - } - - while (position < length) { - readDocument(); - } -} - - -function load(input, options) { - var result = null, received = false; - - function callback(data) { - if (!received) { - result = data; - received = true; - } else { - throw new YAMLException('expected a single document in the stream, but found more'); - } - } - - loadAll(input, callback, options); - - return result; -} - - -function safeLoadAll(input, output, options) { - loadAll(input, output, common.extend({ schema: SAFE_SCHEMA }, options)); -} - - -function safeLoad(input, options) { - return load(input, common.extend({ schema: SAFE_SCHEMA }, options)); -} - - -module.exports.loadAll = loadAll; -module.exports.load = load; -module.exports.safeLoadAll = safeLoadAll; -module.exports.safeLoad = safeLoad; diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/mark.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/mark.js deleted file mode 100644 index bfe279ba52c3..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/mark.js +++ /dev/null @@ -1,78 +0,0 @@ -'use strict'; - - -var common = require('./common'); - - -function Mark(name, buffer, position, line, column) { - this.name = name; - this.buffer = buffer; - this.position = position; - this.line = line; - this.column = column; -} - - -Mark.prototype.getSnippet = function getSnippet(indent, maxLength) { - var head, start, tail, end, snippet; - - if (!this.buffer) { - return null; - } - - indent = indent || 4; - maxLength = maxLength || 75; - - head = ''; - start = this.position; - - while (start > 0 && -1 === '\x00\r\n\x85\u2028\u2029'.indexOf(this.buffer.charAt(start - 1))) { - start -= 1; - if (this.position - start > (maxLength / 2 - 1)) { - head = ' ... '; - start += 5; - break; - } - } - - tail = ''; - end = this.position; - - while (end < this.buffer.length && -1 === '\x00\r\n\x85\u2028\u2029'.indexOf(this.buffer.charAt(end))) { - end += 1; - if (end - this.position > (maxLength / 2 - 1)) { - tail = ' ... '; - end -= 5; - break; - } - } - - snippet = this.buffer.slice(start, end); - - return common.repeat(' ', indent) + head + snippet + tail + '\n' + - common.repeat(' ', indent + this.position - start + head.length) + '^'; -}; - - -Mark.prototype.toString = function toString(compact) { - var snippet, where = ''; - - if (this.name) { - where += 'in "' + this.name + '" '; - } - - where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1); - - if (!compact) { - snippet = this.getSnippet(); - - if (snippet) { - where += ':\n' + snippet; - } - } - - return where; -}; - - -module.exports = Mark; diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/require.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/require.js deleted file mode 100644 index 47b77e31d29c..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/require.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - - -var fs = require('fs'); -var loader = require('./loader'); - - -function yamlRequireHandler(module, filename) { - var content = fs.readFileSync(filename, 'utf8'); - - // fill in documents - module.exports = loader.load(content, { filename: filename }); -} - -// register require extensions only if we're on node.js -// hack for browserify -if (undefined !== require.extensions) { - require.extensions['.yml'] = yamlRequireHandler; - require.extensions['.yaml'] = yamlRequireHandler; -} - - -module.exports = require; diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema.js deleted file mode 100644 index ce213912620b..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema.js +++ /dev/null @@ -1,103 +0,0 @@ -'use strict'; - - -var common = require('./common'); -var YAMLException = require('./exception'); -var Type = require('./type'); - - -function compileList(schema, name, result) { - var exclude = []; - - schema.include.forEach(function (includedSchema) { - result = compileList(includedSchema, name, result); - }); - - schema[name].forEach(function (currentType) { - result.forEach(function (previousType, previousIndex) { - if (previousType.tag === currentType.tag) { - exclude.push(previousIndex); - } - }); - - result.push(currentType); - }); - - return result.filter(function (type, index) { - return -1 === exclude.indexOf(index); - }); -} - - -function compileMap(/* lists... */) { - var result = {}, index, length; - - function collectType(type) { - result[type.tag] = type; - } - - for (index = 0, length = arguments.length; index < length; index += 1) { - arguments[index].forEach(collectType); - } - - return result; -} - - -function Schema(definition) { - this.include = definition.include || []; - this.implicit = definition.implicit || []; - this.explicit = definition.explicit || []; - - this.implicit.forEach(function (type) { - if (null !== type.loader && 'string' !== type.loader.kind) { - throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'); - } - }); - - this.compiledImplicit = compileList(this, 'implicit', []); - this.compiledExplicit = compileList(this, 'explicit', []); - this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit); -} - - -Schema.DEFAULT = null; - - -Schema.create = function createSchema() { - var schemas, types; - - switch (arguments.length) { - case 1: - schemas = Schema.DEFAULT; - types = arguments[0]; - break; - - case 2: - schemas = arguments[0]; - types = arguments[1]; - break; - - default: - throw new YAMLException('Wrong number of arguments for Schema.create function'); - } - - schemas = common.toArray(schemas); - types = common.toArray(types); - - if (!schemas.every(function (schema) { return schema instanceof Schema; })) { - throw new YAMLException('Specified list of super schemas (or a single Schema object) contains a non-Schema object.'); - } - - if (!types.every(function (type) { return type instanceof Type; })) { - throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.'); - } - - return new Schema({ - include: schemas, - explicit: types - }); -}; - - -module.exports = Schema; diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/default.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/default.js deleted file mode 100644 index 71bb3fcca355..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/default.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - - -var Schema = require('../schema'); - - -module.exports = Schema.DEFAULT = new Schema({ - include: [ - require('./safe') - ], - explicit: [ - require('../type/js/undefined'), - require('../type/js/regexp'), - require('../type/js/function') - ] -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/minimal.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/minimal.js deleted file mode 100644 index 7a6ebbec7f70..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/minimal.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - - -var Schema = require('../schema'); - - -module.exports = new Schema({ - explicit: [ - require('../type/str'), - require('../type/seq'), - require('../type/map') - ] -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/safe.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/safe.js deleted file mode 100644 index 856b7c415f91..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/safe.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - - -var Schema = require('../schema'); - - -module.exports = new Schema({ - include: [ - require('./minimal') - ], - implicit: [ - require('../type/null'), - require('../type/bool'), - require('../type/int'), - require('../type/float'), - require('../type/timestamp'), - require('../type/merge') - ], - explicit: [ - require('../type/binary'), - require('../type/omap'), - require('../type/pairs'), - require('../type/set') - ] -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type.js deleted file mode 100644 index e0124f2c1655..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type.js +++ /dev/null @@ -1,82 +0,0 @@ -'use strict'; - - -var YAMLException = require('./exception'); - - -// TODO: Add tag format check. -function Type(tag, options) { - options = options || {}; - - this.tag = tag; - this.loader = options['loader'] || null; - this.dumper = options['dumper'] || null; - - if (null === this.loader && null === this.dumper) { - throw new YAMLException('Incomplete YAML type definition. "loader" or "dumper" setting must be specified.'); - } - - if (null !== this.loader) { - this.loader = new Type.Loader(this.loader); - } - - if (null !== this.dumper) { - this.dumper = new Type.Dumper(this.dumper); - } -} - - -Type.Loader = function TypeLoader(options) { - options = options || {}; - - this.kind = options['kind'] || null; - this.resolver = options['resolver'] || null; - - if ('string' !== this.kind && - 'array' !== this.kind && - 'object' !== this.kind) { - throw new YAMLException('Unacceptable "kind" setting of a type loader.'); - } -}; - - -function compileAliases(map) { - var result = {}; - - if (null !== map) { - Object.keys(map).forEach(function (style) { - map[style].forEach(function (alias) { - result[String(alias)] = style; - }); - }); - } - - return result; -} - - -Type.Dumper = function TypeDumper(options) { - options = options || {}; - - this.kind = options['kind'] || null; - this.defaultStyle = options['defaultStyle'] || null; - this.instanceOf = options['instanceOf'] || null; - this.predicate = options['predicate'] || null; - this.representer = options['representer'] || null; - this.styleAliases = compileAliases(options['styleAliases'] || null); - - if ('undefined' !== this.kind && - 'null' !== this.kind && - 'boolean' !== this.kind && - 'integer' !== this.kind && - 'float' !== this.kind && - 'string' !== this.kind && - 'array' !== this.kind && - 'object' !== this.kind && - 'function' !== this.kind) { - throw new YAMLException('Unacceptable "kind" setting of a type dumper.'); - } -}; - - -module.exports = Type; diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/binary.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/binary.js deleted file mode 100644 index 37b4bc70f0d3..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/binary.js +++ /dev/null @@ -1,118 +0,0 @@ -// Modified from: -// https://raw.github.com/kanaka/noVNC/d890e8640f20fba3215ba7be8e0ff145aeb8c17c/include/base64.js - -'use strict'; - - -var NodeBuffer = require('buffer').Buffer; // A trick for browserified version. -var common = require('../common'); -var NIL = common.NIL; -var Type = require('../type'); - - - -var BASE64_PADDING = '='; - -var BASE64_BINTABLE = [ - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, 0, -1, -1, - -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, - -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1 -]; - -var BASE64_CHARTABLE = - 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); - - -function resolveYamlBinary(object /*, explicit*/) { - var value, code, idx = 0, result = [], leftbits, leftdata; - - leftbits = 0; // number of bits decoded, but yet to be appended - leftdata = 0; // bits decoded, but yet to be appended - - // Convert one by one. - for (idx = 0; idx < object.length; idx += 1) { - code = object.charCodeAt(idx); - value = BASE64_BINTABLE[code & 0x7F]; - - // Skip LF(NL) || CR - if (0x0A !== code && 0x0D !== code) { - // Fail on illegal characters - if (-1 === value) { - return NIL; - } - - // Collect data into leftdata, update bitcount - leftdata = (leftdata << 6) | value; - leftbits += 6; - - // If we have 8 or more bits, append 8 bits to the result - if (leftbits >= 8) { - leftbits -= 8; - - // Append if not padding. - if (BASE64_PADDING !== object.charAt(idx)) { - result.push((leftdata >> leftbits) & 0xFF); - } - - leftdata &= (1 << leftbits) - 1; - } - } - } - - // If there are any bits left, the base64 string was corrupted - if (leftbits) { - return NIL; - } else { - return new NodeBuffer(result); - } -} - - -function representYamlBinary(object /*, style*/) { - var result = '', index, length, rest; - - // Convert every three bytes to 4 ASCII characters. - for (index = 0, length = object.length - 2; index < length; index += 3) { - result += BASE64_CHARTABLE[object[index + 0] >> 2]; - result += BASE64_CHARTABLE[((object[index + 0] & 0x03) << 4) + (object[index + 1] >> 4)]; - result += BASE64_CHARTABLE[((object[index + 1] & 0x0F) << 2) + (object[index + 2] >> 6)]; - result += BASE64_CHARTABLE[object[index + 2] & 0x3F]; - } - - rest = object.length % 3; - - // Convert the remaining 1 or 2 bytes, padding out to 4 characters. - if (0 !== rest) { - index = object.length - rest; - result += BASE64_CHARTABLE[object[index + 0] >> 2]; - - if (2 === rest) { - result += BASE64_CHARTABLE[((object[index + 0] & 0x03) << 4) + (object[index + 1] >> 4)]; - result += BASE64_CHARTABLE[(object[index + 1] & 0x0F) << 2]; - result += BASE64_PADDING; - } else { - result += BASE64_CHARTABLE[(object[index + 0] & 0x03) << 4]; - result += BASE64_PADDING + BASE64_PADDING; - } - } - - return result; -} - - -module.exports = new Type('tag:yaml.org,2002:binary', { - loader: { - kind: 'string', - resolver: resolveYamlBinary - }, - dumper: { - kind: 'object', - instanceOf: NodeBuffer, - representer: representYamlBinary - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/bool.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/bool.js deleted file mode 100644 index 987a9e62a613..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/bool.js +++ /dev/null @@ -1,74 +0,0 @@ -'use strict'; - - -var NIL = require('../common').NIL; -var Type = require('../type'); - - -var YAML_IMPLICIT_BOOLEAN_MAP = { - 'true' : true, - 'True' : true, - 'TRUE' : true, - 'false' : false, - 'False' : false, - 'FALSE' : false -}; - -var YAML_EXPLICIT_BOOLEAN_MAP = { - 'true' : true, - 'True' : true, - 'TRUE' : true, - 'false' : false, - 'False' : false, - 'FALSE' : false, - 'y' : true, - 'Y' : true, - 'yes' : true, - 'Yes' : true, - 'YES' : true, - 'n' : false, - 'N' : false, - 'no' : false, - 'No' : false, - 'NO' : false, - 'on' : true, - 'On' : true, - 'ON' : true, - 'off' : false, - 'Off' : false, - 'OFF' : false -}; - - -function resolveYamlBoolean(object, explicit) { - if (explicit) { - if (YAML_EXPLICIT_BOOLEAN_MAP.hasOwnProperty(object)) { - return YAML_EXPLICIT_BOOLEAN_MAP[object]; - } else { - return NIL; - } - } else { - if (YAML_IMPLICIT_BOOLEAN_MAP.hasOwnProperty(object)) { - return YAML_IMPLICIT_BOOLEAN_MAP[object]; - } else { - return NIL; - } - } -} - - -module.exports = new Type('tag:yaml.org,2002:bool', { - loader: { - kind: 'string', - resolver: resolveYamlBoolean - }, - dumper: { - kind: 'boolean', - defaultStyle: 'lowercase', - representer: { - lowercase: function (object) { return object ? 'true' : 'false'; }, - uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; }, - camelcase: function (object) { return object ? 'True' : 'False'; } - } - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/float.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/float.js deleted file mode 100644 index edb5fcba3f3c..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/float.js +++ /dev/null @@ -1,102 +0,0 @@ -'use strict'; - - -var NIL = require('../common').NIL; -var Type = require('../type'); - - -var YAML_FLOAT_PATTERN = new RegExp( - '^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?' + - '|\\.[0-9_]+(?:[eE][-+][0-9]+)?' + - '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*' + - '|[-+]?\\.(?:inf|Inf|INF)' + - '|\\.(?:nan|NaN|NAN))$'); - - -function resolveYamlFloat(object /*, explicit*/) { - var value, sign, base, digits; - - if (!YAML_FLOAT_PATTERN.test(object)) { - return NIL; - } - - value = object.replace(/_/g, '').toLowerCase(); - sign = '-' === value[0] ? -1 : 1; - digits = []; - - if (0 <= '+-'.indexOf(value[0])) { - value = value.slice(1); - } - - if ('.inf' === value) { - return (1 === sign) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; - - } else if ('.nan' === value) { - return NaN; - - } else if (0 <= value.indexOf(':')) { - value.split(':').forEach(function (v) { - digits.unshift(parseFloat(v, 10)); - }); - - value = 0.0; - base = 1; - - digits.forEach(function (d) { - value += d * base; - base *= 60; - }); - - return sign * value; - - } else { - return sign * parseFloat(value, 10); - } -} - - -function representYamlFloat(object, style) { - if (isNaN(object)) { - switch (style) { - case 'lowercase': - return '.nan'; - case 'uppercase': - return '.NAN'; - case 'camelcase': - return '.NaN'; - } - } else if (Number.POSITIVE_INFINITY === object) { - switch (style) { - case 'lowercase': - return '.inf'; - case 'uppercase': - return '.INF'; - case 'camelcase': - return '.Inf'; - } - } else if (Number.NEGATIVE_INFINITY === object) { - switch (style) { - case 'lowercase': - return '-.inf'; - case 'uppercase': - return '-.INF'; - case 'camelcase': - return '-.Inf'; - } - } else { - return object.toString(10); - } -} - - -module.exports = new Type('tag:yaml.org,2002:float', { - loader: { - kind: 'string', - resolver: resolveYamlFloat - }, - dumper: { - kind: 'float', - defaultStyle: 'lowercase', - representer: representYamlFloat - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/int.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/int.js deleted file mode 100644 index f5e1e7e51ad1..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/int.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict'; - - -var NIL = require('../common').NIL; -var Type = require('../type'); - - -var YAML_INTEGER_PATTERN = new RegExp( - '^(?:[-+]?0b[0-1_]+' + - '|[-+]?0[0-7_]+' + - '|[-+]?(?:0|[1-9][0-9_]*)' + - '|[-+]?0x[0-9a-fA-F_]+' + - '|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)$'); - - -function resolveYamlInteger(object /*, explicit*/) { - var value, sign, base, digits; - - if (!YAML_INTEGER_PATTERN.test(object)) { - return NIL; - } - - value = object.replace(/_/g, ''); - sign = '-' === value[0] ? -1 : 1; - digits = []; - - if (0 <= '+-'.indexOf(value[0])) { - value = value.slice(1); - } - - if ('0' === value) { - return 0; - - } else if (/^0b/.test(value)) { - return sign * parseInt(value.slice(2), 2); - - } else if (/^0x/.test(value)) { - return sign * parseInt(value, 16); - - } else if ('0' === value[0]) { - return sign * parseInt(value, 8); - - } else if (0 <= value.indexOf(':')) { - value.split(':').forEach(function (v) { - digits.unshift(parseInt(v, 10)); - }); - - value = 0; - base = 1; - - digits.forEach(function (d) { - value += (d * base); - base *= 60; - }); - - return sign * value; - - } else { - return sign * parseInt(value, 10); - } -} - - -module.exports = new Type('tag:yaml.org,2002:int', { - loader: { - kind: 'string', - resolver: resolveYamlInteger - }, - dumper: { - kind: 'integer', - defaultStyle: 'decimal', - representer: { - binary: function (object) { return '0b' + object.toString(2); }, - octal: function (object) { return '0' + object.toString(8); }, - decimal: function (object) { return object.toString(10); }, - hexadecimal: function (object) { return '0x' + object.toString(16).toUpperCase(); } - }, - styleAliases: { - binary: [ 2, 'bin' ], - octal: [ 8, 'oct' ], - decimal: [ 10, 'dec' ], - hexadecimal: [ 16, 'hex' ] - } - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/function.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/function.js deleted file mode 100644 index 4b3b3ca56fee..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/function.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict'; - - -var esprima = require('esprima'); - - -var NIL = require('../../common').NIL; -var Type = require('../../type'); - - -function resolveJavascriptFunction(object /*, explicit*/) { - /*jslint evil:true*/ - - try { - var source = '(' + object + ')', - ast = esprima.parse(source, { range: true }), - params = [], - body; - - if ('Program' !== ast.type || - 1 !== ast.body.length || - 'ExpressionStatement' !== ast.body[0].type || - 'FunctionExpression' !== ast.body[0].expression.type) { - return NIL; - } - - ast.body[0].expression.params.forEach(function (param) { - params.push(param.name); - }); - - body = ast.body[0].expression.body.range; - - // Esprima's ranges include the first '{' and the last '}' characters on - // function expressions. So cut them out. - return new Function(params, source.slice(body[0]+1, body[1]-1)); - } catch (err) { - return NIL; - } -} - - -function representJavascriptFunction(object /*, style*/) { - return object.toString(); -} - - -module.exports = new Type('tag:yaml.org,2002:js/function', { - loader: { - kind: 'string', - resolver: resolveJavascriptFunction - }, - dumper: { - kind: 'function', - representer: representJavascriptFunction, - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js deleted file mode 100644 index 9f4f89e04bb7..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict'; - - -var NIL = require('../../common').NIL; -var Type = require('../../type'); - - -function resolveJavascriptRegExp(object /*, explicit*/) { - var regexp = object, - tail = /\/([gim]*)$/.exec(object), - modifiers; - - // `/foo/gim` - tail can be maximum 4 chars - if ('/' === regexp[0] && tail && 4 >= tail[0].length) { - regexp = regexp.slice(1, regexp.length - tail[0].length); - modifiers = tail[1]; - } - - try { - return new RegExp(regexp, modifiers); - } catch (error) { - return NIL; - } -} - - -function representJavascriptRegExp(object /*, style*/) { - var result = '/' + object.source + '/'; - - if (object.global) { - result += 'g'; - } - - if (object.multiline) { - result += 'm'; - } - - if (object.ignoreCase) { - result += 'i'; - } - - return result; -} - - -module.exports = new Type('tag:yaml.org,2002:js/regexp', { - loader: { - kind: 'string', - resolver: resolveJavascriptRegExp - }, - dumper: { - kind: 'object', - instanceOf: RegExp, - representer: representJavascriptRegExp - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js deleted file mode 100644 index 8d2835e19043..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - - -var Type = require('../../type'); - - -function resolveJavascriptUndefined(/*object, explicit*/) { - var undef; - - return undef; -} - - -function representJavascriptUndefined(/*object, explicit*/) { - return ''; -} - - -module.exports = new Type('tag:yaml.org,2002:js/undefined', { - loader: { - kind: 'string', - resolver: resolveJavascriptUndefined - }, - dumper: { - kind: 'undefined', - representer: representJavascriptUndefined - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/map.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/map.js deleted file mode 100644 index 5cda6de766a5..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/map.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - - -var Type = require('../type'); - - -module.exports = new Type('tag:yaml.org,2002:map', { - loader: { - kind: 'object' - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/merge.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/merge.js deleted file mode 100644 index 8facc7080c3c..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/merge.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - - -var NIL = require('../common').NIL; -var Type = require('../type'); - - -function resolveYamlMerge(object /*, explicit*/) { - return '<<' === object ? object : NIL; -} - - -module.exports = new Type('tag:yaml.org,2002:merge', { - loader: { - kind: 'string', - resolver: resolveYamlMerge - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/null.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/null.js deleted file mode 100644 index 796e1af112bd..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/null.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - - -var NIL = require('../common').NIL; -var Type = require('../type'); - - -var YAML_NULL_MAP = { - '~' : true, - 'null' : true, - 'Null' : true, - 'NULL' : true -}; - - -function resolveYamlNull(object /*, explicit*/) { - return YAML_NULL_MAP[object] ? null : NIL; -} - - -module.exports = new Type('tag:yaml.org,2002:null', { - loader: { - kind: 'string', - resolver: resolveYamlNull - }, - dumper: { - kind: 'null', - defaultStyle: 'lowercase', - representer: { - canonical: function () { return '~'; }, - lowercase: function () { return 'null'; }, - uppercase: function () { return 'NULL'; }, - camelcase: function () { return 'Null'; }, - } - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/omap.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/omap.js deleted file mode 100644 index f7c248d4ca09..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/omap.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - - -var NIL = require('../common').NIL; -var Type = require('../type'); - - -var _hasOwnProperty = Object.prototype.hasOwnProperty; -var _toString = Object.prototype.toString; - - -function resolveYamlOmap(object /*, explicit*/) { - var objectKeys = [], index, length, pair, pairKey, pairHasKey; - - for (index = 0, length = object.length; index < length; index += 1) { - pair = object[index]; - pairHasKey = false; - - if ('[object Object]' !== _toString.call(pair)) { - return NIL; - } - - for (pairKey in pair) { - if (_hasOwnProperty.call(pair, pairKey)) { - if (!pairHasKey) { - pairHasKey = true; - } else { - return NIL; - } - } - } - - if (!pairHasKey) { - return NIL; - } - - if (-1 === objectKeys.indexOf(pairKey)) { - objectKeys.push(pairKey); - } else { - return NIL; - } - } - - return object; -} - - -module.exports = new Type('tag:yaml.org,2002:omap', { - loader: { - kind: 'array', - resolver: resolveYamlOmap - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/pairs.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/pairs.js deleted file mode 100644 index 828ff1bb02c9..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/pairs.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict'; - - -var NIL = require('../common').NIL; -var Type = require('../type'); - - -var _toString = Object.prototype.toString; - - -function resolveYamlPairs(object /*, explicit*/) { - var index, length, pair, keys, result; - - result = new Array(object.length); - - for (index = 0, length = object.length; index < length; index += 1) { - pair = object[index]; - - if ('[object Object]' !== _toString.call(pair)) { - return NIL; - } - - keys = Object.keys(pair); - - if (1 !== keys.length) { - return NIL; - } - - result[index] = [ keys[0], pair[keys[0]] ]; - } - - return result; -} - - -module.exports = new Type('tag:yaml.org,2002:pairs', { - loader: { - kind: 'array', - resolver: resolveYamlPairs - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/seq.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/seq.js deleted file mode 100644 index 80a7cf0fa199..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/seq.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - - -var Type = require('../type'); - - -module.exports = new Type('tag:yaml.org,2002:seq', { - loader: { - kind: 'array' - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/set.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/set.js deleted file mode 100644 index 64bdc6699190..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/set.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - - -var NIL = require('../common').NIL; -var Type = require('../type'); - - -var _hasOwnProperty = Object.prototype.hasOwnProperty; - - -function resolveYamlSet(object /*, explicit*/) { - var key; - - for (key in object) { - if (_hasOwnProperty.call(object, key)) { - if (null !== object[key]) { - return NIL; - } - } - } - - return object; -} - - -module.exports = new Type('tag:yaml.org,2002:set', { - loader: { - kind: 'object', - resolver: resolveYamlSet - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/str.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/str.js deleted file mode 100644 index 384f14e47913..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/str.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - - -var Type = require('../type'); - - -module.exports = new Type('tag:yaml.org,2002:str', { - loader: { - kind: 'string' - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/timestamp.js b/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/timestamp.js deleted file mode 100644 index 24da9e2ed9c4..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +++ /dev/null @@ -1,91 +0,0 @@ -'use strict'; - - -var NIL = require('../common').NIL; -var Type = require('../type'); - - -var YAML_TIMESTAMP_REGEXP = new RegExp( - '^([0-9][0-9][0-9][0-9])' + // [1] year - '-([0-9][0-9]?)' + // [2] month - '-([0-9][0-9]?)' + // [3] day - '(?:(?:[Tt]|[ \\t]+)' + // ... - '([0-9][0-9]?)' + // [4] hour - ':([0-9][0-9])' + // [5] minute - ':([0-9][0-9])' + // [6] second - '(?:\\.([0-9]*))?' + // [7] fraction - '(?:[ \\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour - '(?::([0-9][0-9]))?))?)?$'); // [11] tz_minute - - -function resolveYamlTimestamp(object /*, explicit*/) { - var match, year, month, day, hour, minute, second, fraction = 0, - delta = null, tz_hour, tz_minute, data; - - match = YAML_TIMESTAMP_REGEXP.exec(object); - - if (null === match) { - return NIL; - } - - // match: [1] year [2] month [3] day - - year = +(match[1]); - month = +(match[2]) - 1; // JS month starts with 0 - day = +(match[3]); - - if (!match[4]) { // no hour - return new Date(Date.UTC(year, month, day)); - } - - // match: [4] hour [5] minute [6] second [7] fraction - - hour = +(match[4]); - minute = +(match[5]); - second = +(match[6]); - - if (match[7]) { - fraction = match[7].slice(0, 3); - while (fraction.length < 3) { // milli-seconds - fraction += '0'; - } - fraction = +fraction; - } - - // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute - - if (match[9]) { - tz_hour = +(match[10]); - tz_minute = +(match[11] || 0); - delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds - if ('-' === match[9]) { - delta = -delta; - } - } - - data = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); - - if (delta) { - data.setTime(data.getTime() - delta); - } - - return data; -} - - -function representYamlTimestamp(object /*, style*/) { - return object.toISOString(); -} - - -module.exports = new Type('tag:yaml.org,2002:timestamp', { - loader: { - kind: 'string', - resolver: resolveYamlTimestamp - }, - dumper: { - kind: 'object', - instanceOf: Date, - representer: representYamlTimestamp - } -}); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esparse b/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esparse deleted file mode 120000 index 7423b18b24ef..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esparse +++ /dev/null @@ -1 +0,0 @@ -../esprima/bin/esparse.js \ No newline at end of file diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esvalidate b/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esvalidate deleted file mode 120000 index 16069effbc99..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esvalidate +++ /dev/null @@ -1 +0,0 @@ -../esprima/bin/esvalidate.js \ No newline at end of file diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/HISTORY.md b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/HISTORY.md deleted file mode 100644 index 102f82bf5c28..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/HISTORY.md +++ /dev/null @@ -1,109 +0,0 @@ -0.1.15 / 2013-05-13 -------------------- - -* Fixed #55, @trebor89 - - -0.1.14 / 2013-05-12 -------------------- - -* Fixed #62, @maxtaco - - -0.1.13 / 2013-04-08 -------------------- - -* Added `.npmignore` to reduce package size - - -0.1.12 / 2013-02-10 -------------------- - -* Fixed conflictHandler (#46), @hpaulj - - -0.1.11 / 2013-02-07 -------------------- - -* Multiple bugfixes, @hpaulj -* Added 70+ tests (ported from python), @hpaulj -* Added conflictHandler, @applepicke -* Added fromfilePrefixChar, @hpaulj - - -0.1.10 / 2012-12-30 -------------------- - -* Added [mutual exclusion](http://docs.python.org/dev/library/argparse.html#mutual-exclusion) - support, thanks to @hpaulj -* Fixed options check for `storeConst` & `appendConst` actions, thanks to @hpaulj - - -0.1.9 / 2012-12-27 ------------------- - -* Fixed option dest interferens with other options (issue #23), thanks to @hpaulj -* Fixed default value behavior with `*` positionals, thanks to @hpaulj -* Improve `getDefault()` behavior, thanks to @hpaulj -* Imrove negative argument parsing, thanks to @hpaulj - - -0.1.8 / 2012-12-01 ------------------- - -* Fixed parser parents (issue #19), thanks to @hpaulj -* Fixed negative argument parse (issue #20), thanks to @hpaulj - - -0.1.7 / 2012-10-14 ------------------- - -* Fixed 'choices' argument parse (issue #16) -* Fixed stderr output (issue #15) - - -0.1.6 / 2012-09-09 ------------------- - -* Fixed check for conflict of options (thanks to @tomxtobin) - - -0.1.5 / 2012-09-03 ------------------- - -* Fix parser #setDefaults method (thanks to @tomxtobin) - - -0.1.4 / 2012-07-30 ------------------- - -* Fixed pseudo-argument support (thanks to @CGamesPlay) -* Fixed addHelp default (should be true), if not set (thanks to @benblank) - - -0.1.3 / 2012-06-27 ------------------- - -* Fixed formatter api name: Formatter -> HelpFormatter - - -0.1.2 / 2012-05-29 ------------------- - -* Added basic tests -* Removed excess whitespace in help -* Fixed error reporting, when parcer with subcommands - called with empty arguments - - -0.1.1 / 2012-05-23 ------------------- - -* Fixed line wrapping in help formatter -* Added better error reporting on invalid arguments - - -0.1.0 / 2012-05-16 ------------------- - -* First release. diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/LICENSE b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/LICENSE deleted file mode 100644 index 1afdae558405..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -(The MIT License) - -Copyright (C) 2012 by Vitaly Puzrin - -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. diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/README.md b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/README.md deleted file mode 100644 index f20e0c1f0c2b..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/README.md +++ /dev/null @@ -1,239 +0,0 @@ -argparse -======== - -[![Build Status](https://secure.travis-ci.org/nodeca/argparse.png?branch=master)](http://travis-ci.org/nodeca/argparse) - -CLI arguments parser for node.js. Javascript port of python's -[argparse](http://docs.python.org/dev/library/argparse.html) module -(original version 3.2). That's a full port, except some very rare options, -recorded in issue tracker. - -**NB.** Method names changed to camelCase. See [generated docs](http://nodeca.github.com/argparse/). - - -Example -======= - -test.js file: - -```javascript -#!/usr/bin/env node -'use strict'; - -var ArgumentParser = require('../lib/argparse').ArgumentParser; -var parser = new ArgumentParser({ - version: '0.0.1', - addHelp:true, - description: 'Argparse example' -}); -parser.addArgument( - [ '-f', '--foo' ], - { - help: 'foo bar' - } -); -parser.addArgument( - [ '-b', '--bar' ], - { - help: 'bar foo' - } -); -var args = parser.parseArgs(); -console.dir(args); -``` - -Display help: - -``` -$ ./test.js -h -usage: example.js [-h] [-v] [-f FOO] [-b BAR] - -Argparse example - -Optional arguments: - -h, --help Show this help message and exit. - -v, --version Show program's version number and exit. - -f FOO, --foo FOO foo bar - -b BAR, --bar BAR bar foo -``` - -Parse arguments: - -``` -$ ./test.js -f=3 --bar=4 -{ foo: '3', bar: '4' } -``` - -More [examples](https://github.com/nodeca/argparse/tree/master/examples). - - -ArgumentParser objects -====================== - -``` -new ArgumentParser({paramters hash}); -``` - -Creates a new ArgumentParser object. - -**Supported params:** - -- ```description``` - Text to display before the argument help. -- ```epilog``` - Text to display after the argument help. -- ```addHelp``` - Add a -h/–help option to the parser. (default: True) -- ```argumentDefault``` - Set the global default value for arguments. (default: None) -- ```parents``` - A list of ArgumentParser objects whose arguments should also be included. -- ```prefixChars``` - The set of characters that prefix optional arguments. (default: ‘-‘) -- ```formatterClass``` - A class for customizing the help output. -- ```prog``` - The name of the program (default: sys.argv[0]) -- ```usage``` - The string describing the program usage (default: generated) -- ```conflictHandler``` - Usually unnecessary, defines strategy for resolving conflicting optionals. - -**Not supportied yet** - -- ```fromfilePrefixChars``` - The set of characters that prefix files from which additional arguments should be read. - - -Details in [original ArgumentParser guide](http://docs.python.org/dev/library/argparse.html#argumentparser-objects) - - -addArgument() method -==================== - -``` -ArgumentParser.addArgument([names or flags], {options}) -``` - -Defines how a single command-line argument should be parsed. - -- ```name or flags``` - Either a name or a list of option strings, e.g. foo or -f, --foo. - -Options: - -- ```action``` - The basic type of action to be taken when this argument is encountered at the command line. -- ```nargs```- The number of command-line arguments that should be consumed. -- ```constant``` - A constant value required by some action and nargs selections. -- ```defaultValue``` - The value produced if the argument is absent from the command line. -- ```type``` - The type to which the command-line argument should be converted. -- ```choices``` - A container of the allowable values for the argument. -- ```required``` - Whether or not the command-line option may be omitted (optionals only). -- ```help``` - A brief description of what the argument does. -- ```metavar``` - A name for the argument in usage messages. -- ```dest``` - The name of the attribute to be added to the object returned by parseArgs(). - -Details in [original add_argument guide](http://docs.python.org/dev/library/argparse.html#the-add-argument-method) - - -Action (some details) -================ - -ArgumentParser objects associate command-line arguments with actions. -These actions can do just about anything with the command-line arguments associated -with them, though most actions simply add an attribute to the object returned by -parseArgs(). The action keyword argument specifies how the command-line arguments -should be handled. The supported actions are: - -- ```store``` - Just stores the argument’s value. This is the default action. -- ```storeConst``` - Stores value, specified by the const keyword argument. - (Note that the const keyword argument defaults to the rather unhelpful None.) - The 'storeConst' action is most commonly used with optional arguments, that - specify some sort of flag. -- ```storeTrue``` and ```storeFalse``` - Stores values True and False - respectively. These are special cases of 'storeConst'. -- ```append``` - Stores a list, and appends each argument value to the list. - This is useful to allow an option to be specified multiple times. -- ```appendConst``` - Stores a list, and appends value, specified by the - const keyword argument to the list. (Note, that the const keyword argument defaults - is None.) The 'appendConst' action is typically used when multiple arguments need - to store constants to the same list. -- ```count``` - Counts the number of times a keyword argument occurs. For example, - used for increasing verbosity levels. -- ```help``` - Prints a complete help message for all the options in the current - parser and then exits. By default a help action is automatically added to the parser. - See ArgumentParser for details of how the output is created. -- ```version``` - Prints version information and exit. Expects a `version=` - keyword argument in the addArgument() call. - -Details in [original action guide](http://docs.python.org/dev/library/argparse.html#action) - - -Sub-commands -============ - -ArgumentParser.addSubparsers() - -Many programs split their functionality into a number of sub-commands, for -example, the svn program can invoke sub-commands like `svn checkout`, `svn update`, -and `svn commit`. Splitting up functionality this way can be a particularly good -idea when a program performs several different functions which require different -kinds of command-line arguments. `ArgumentParser` supports creation of such -sub-commands with `addSubparsers()` method. The `addSubparsers()` method is -normally called with no arguments and returns an special action object. -This object has a single method `addParser()`, which takes a command name and -any `ArgumentParser` constructor arguments, and returns an `ArgumentParser` object -that can be modified as usual. - -Example: - -sub_commands.js -```javascript -#!/usr/bin/env node -'use strict'; - -var ArgumentParser = require('../lib/argparse').ArgumentParser; -var parser = new ArgumentParser({ - version: '0.0.1', - addHelp:true, - description: 'Argparse examples: sub-commands', -}); - -var subparsers = parser.addSubparsers({ - title:'subcommands', - dest:"subcommand_name" -}); - -var bar = subparsers.addParser('c1', {addHelp:true}); -bar.addArgument( - [ '-f', '--foo' ], - { - action: 'store', - help: 'foo3 bar3' - } -); -var bar = subparsers.addParser( - 'c2', - {aliases:['co'], addHelp:true} -); -bar.addArgument( - [ '-b', '--bar' ], - { - action: 'store', - type: 'int', - help: 'foo3 bar3' - } -); - -var args = parser.parseArgs(); -console.dir(args); - -``` - -Details in [original sub-commands guide](http://docs.python.org/dev/library/argparse.html#sub-commands) - - -Contributors -============ - -- [Eugene Shkuropat](https://github.com/shkuropat) -- [Paul Jacobson](https://github.com/hpaulj) - -[others](https://github.com/nodeca/argparse/graphs/contributors) - -License -======= - -Copyright (c) 2012 [Vitaly Puzrin](https://github.com/puzrin). -Released under the MIT license. See -[LICENSE](https://github.com/nodeca/argparse/blob/master/LICENSE) for details. - - diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/arguments.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/arguments.js deleted file mode 100755 index 5b090fa2e118..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/arguments.js +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env node -'use strict'; - -var ArgumentParser = require('../lib/argparse').ArgumentParser; -var parser = new ArgumentParser({ - version: '0.0.1', - addHelp: true, - description: 'Argparse examples: arguments' -}); -parser.addArgument( - [ '-f', '--foo' ], - { - help: 'foo bar' - } -); -parser.addArgument( - [ '-b', '--bar' ], - { - help: 'bar foo' - } -); - - -parser.printHelp(); -console.log('-----------'); - -var args; -args = parser.parseArgs('-f 1 -b2'.split(' ')); -console.dir(args); -console.log('-----------'); -args = parser.parseArgs('-f=3 --bar=4'.split(' ')); -console.dir(args); -console.log('-----------'); -args = parser.parseArgs('--foo 5 --bar 6'.split(' ')); -console.dir(args); -console.log('-----------'); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/choice.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/choice.js deleted file mode 100755 index 2616fa4d7527..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/choice.js +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env node -'use strict'; - -var ArgumentParser = require('../lib/argparse').ArgumentParser; -var parser = new ArgumentParser({ - version: '0.0.1', - addHelp: true, - description: 'Argparse examples: choice' -}); - -parser.addArgument(['foo'], {choices: 'abc'}); - -parser.printHelp(); -console.log('-----------'); - -var args; -args = parser.parseArgs(['c']); -console.dir(args); -console.log('-----------'); -parser.parseArgs(['X']); -console.dir(args); - diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/constants.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/constants.js deleted file mode 100755 index 172a4f3d4f62..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/constants.js +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env node -'use strict'; - -var ArgumentParser = require('../lib/argparse').ArgumentParser; -var parser = new ArgumentParser({ - version: '0.0.1', - addHelp: true, - description: 'Argparse examples: constant' -}); - -parser.addArgument( - [ '-a'], - { - action: 'storeConst', - dest: 'answer', - help: 'store constant', - constant: 42 - } -); -parser.addArgument( - [ '--str' ], - { - action: 'appendConst', - dest: 'types', - help: 'append constant "str" to types', - constant: 'str' - } -); -parser.addArgument( - [ '--int' ], - { - action: 'appendConst', - dest: 'types', - help: 'append constant "int" to types', - constant: 'int' - } -); - -parser.addArgument( - [ '--true' ], - { - action: 'storeTrue', - help: 'store true constant' - } -); -parser.addArgument( - [ '--false' ], - { - action: 'storeFalse', - help: 'store false constant' - } -); - -parser.printHelp(); -console.log('-----------'); - -var args; -args = parser.parseArgs('-a --str --int --true'.split(' ')); -console.dir(args); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/help.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/help.js deleted file mode 100755 index 7eb955534fe2..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/help.js +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env node -'use strict'; - -var ArgumentParser = require('../lib/argparse').ArgumentParser; -var parser = new ArgumentParser({ - version: '0.0.1', - addHelp: true, - description: 'Argparse examples: help', - epilog: 'help epilog', - prog: 'help_example_prog', - usage: 'Usage %(prog)s ' -}); -parser.printHelp(); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/nargs.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/nargs.js deleted file mode 100755 index 74f376beba4a..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/nargs.js +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env node -'use strict'; - -var ArgumentParser = require('../lib/argparse').ArgumentParser; -var parser = new ArgumentParser({ - version: '0.0.1', - addHelp: true, - description: 'Argparse examples: nargs' -}); -parser.addArgument( - [ '-f', '--foo' ], - { - help: 'foo bar', - nargs: 1 - } -); -parser.addArgument( - [ '-b', '--bar' ], - { - help: 'bar foo', - nargs: '*' - } -); - -parser.printHelp(); -console.log('-----------'); - -var args; -args = parser.parseArgs('--foo a --bar c d'.split(' ')); -console.dir(args); -console.log('-----------'); -args = parser.parseArgs('--bar b c f --foo a'.split(' ')); -console.dir(args); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/parents.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/parents.js deleted file mode 100755 index dfe896868bd0..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/parents.js +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env node -'use strict'; - -var ArgumentParser = require('../lib/argparse').ArgumentParser; - -var args; -var parent_parser = new ArgumentParser({ addHelp: false }); -// note addHelp:false to prevent duplication of the -h option -parent_parser.addArgument( - ['--parent'], - { type: 'int', description: 'parent' } -); - -var foo_parser = new ArgumentParser({ - parents: [ parent_parser ], - description: 'child1' -}); -foo_parser.addArgument(['foo']); -args = foo_parser.parseArgs(['--parent', '2', 'XXX']); -console.log(args); - -var bar_parser = new ArgumentParser({ - parents: [ parent_parser ], - description: 'child2' -}); -bar_parser.addArgument(['--bar']); -args = bar_parser.parseArgs(['--bar', 'YYY']); -console.log(args); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js deleted file mode 100755 index 430d5e182346..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env node -'use strict'; - -var ArgumentParser = require('../lib/argparse').ArgumentParser; -var parser = new ArgumentParser({ - version: '0.0.1', - addHelp: true, - description: 'Argparse examples: prefix_chars', - prefixChars: '-+' -}); -parser.addArgument(['+f', '++foo']); -parser.addArgument(['++bar'], {action: 'storeTrue'}); - -parser.printHelp(); -console.log('-----------'); - -var args; -args = parser.parseArgs(['+f', '1']); -console.dir(args); -args = parser.parseArgs(['++bar']); -console.dir(args); -args = parser.parseArgs(['++foo', '2', '++bar']); -console.dir(args); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js deleted file mode 100755 index df9c494440be..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env node -'use strict'; - -var ArgumentParser = require('../lib/argparse').ArgumentParser; -var parser = new ArgumentParser({ - version: '0.0.1', - addHelp: true, - description: 'Argparse examples: sub-commands' -}); - -var subparsers = parser.addSubparsers({ - title: 'subcommands', - dest: "subcommand_name" -}); - -var bar = subparsers.addParser('c1', {addHelp: true, help: 'c1 help'}); -bar.addArgument( - [ '-f', '--foo' ], - { - action: 'store', - help: 'foo3 bar3' - } -); -var bar = subparsers.addParser( - 'c2', - {aliases: ['co'], addHelp: true, help: 'c2 help'} -); -bar.addArgument( - [ '-b', '--bar' ], - { - action: 'store', - type: 'int', - help: 'foo3 bar3' - } -); -parser.printHelp(); -console.log('-----------'); - -var args; -args = parser.parseArgs('c1 -f 2'.split(' ')); -console.dir(args); -console.log('-----------'); -args = parser.parseArgs('c2 -b 1'.split(' ')); -console.dir(args); -console.log('-----------'); -args = parser.parseArgs('co -b 1'.split(' ')); -console.dir(args); -console.log('-----------'); -parser.parseArgs(['c1', '-h']); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sum.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sum.js deleted file mode 100755 index 4532800a50d3..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sum.js +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env node - -'use strict'; - - -var ArgumentParser = require('../lib/argparse').ArgumentParser; -var parser = new ArgumentParser({ description: 'Process some integers.' }); - - -function sum(arr) { - return arr.reduce(function (a, b) { - return a + b; - }, 0); -} -function max(arr) { - return Math.max.apply(Math, arr); -} - - -parser.addArgument(['integers'], { - metavar: 'N', - type: 'int', - nargs: '+', - help: 'an integer for the accumulator' -}); -parser.addArgument(['--sum'], { - dest: 'accumulate', - action: 'storeConst', - constant: sum, - defaultValue: max, - help: 'sum the integers (default: find the max)' -}); - -var args = parser.parseArgs('--sum 1 2 -1'.split(' ')); -console.log(args.accumulate(args.integers)); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js deleted file mode 100644 index afb4a2d68150..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js +++ /dev/null @@ -1,270 +0,0 @@ -'use strict'; - -var a, group, parser, helptext; - -var assert = require('assert'); -var _ = require('underscore'); -_.str = require('underscore.string'); -var print = function () { - return console.log.apply(console, arguments); - }; -// print = function () {}; - -var argparse = require('argparse'); - -print("TEST argparse.ArgumentDefaultsHelpFormatter"); - -parser = new argparse.ArgumentParser({ - debug: true, - formatterClass: argparse.ArgumentDefaultsHelpFormatter, - description: 'description' -}); - -parser.addArgument(['--foo'], { - help: 'foo help - oh and by the way, %(defaultValue)s' -}); - -parser.addArgument(['--bar'], { - action: 'storeTrue', - help: 'bar help' -}); - -parser.addArgument(['spam'], { - help: 'spam help' -}); - -parser.addArgument(['badger'], { - nargs: '?', - defaultValue: 'wooden', - help: 'badger help' -}); - -group = parser.addArgumentGroup({ - title: 'title', - description: 'group description' -}); - -group.addArgument(['--baz'], { - type: 'int', - defaultValue: 42, - help: 'baz help' -}); - -helptext = parser.formatHelp(); -print(helptext); -// test selected clips -assert(helptext.match(/badger help \(default: wooden\)/)); -assert(helptext.match(/foo help - oh and by the way, null/)); -assert(helptext.match(/bar help \(default: false\)/)); -assert(helptext.match(/title:\n {2}group description/)); // test indent -assert(helptext.match(/baz help \(default: 42\)/im)); - -/* -usage: PROG [-h] [--foo FOO] [--bar] [--baz BAZ] spam [badger] - -description - -positional arguments: - spam spam help - badger badger help (default: wooden) - -optional arguments: - -h, --help show this help message and exit - --foo FOO foo help - oh and by the way, null - --bar bar help (default: false) - -title: - group description - - --baz BAZ baz help (default: 42) -*/ - -print("TEST argparse.RawDescriptionHelpFormatter"); - -parser = new argparse.ArgumentParser({ - debug: true, - prog: 'PROG', - formatterClass: argparse.RawDescriptionHelpFormatter, - description: 'Keep the formatting\n' + - ' exactly as it is written\n' + - '\n' + - 'here\n' -}); - -a = parser.addArgument(['--foo'], { - help: ' foo help should not\n' + - ' retain this odd formatting' -}); - -parser.addArgument(['spam'], { - 'help': 'spam help' -}); - -group = parser.addArgumentGroup({ - title: 'title', - description: ' This text\n' + - ' should be indented\n' + - ' exactly like it is here\n' -}); - -group.addArgument(['--bar'], { - help: 'bar help' -}); - -helptext = parser.formatHelp(); -print(helptext); -// test selected clips -assert(helptext.match(parser.description)); -assert.equal(helptext.match(a.help), null); -assert(helptext.match(/foo help should not retain this odd formatting/)); - -/* -class TestHelpRawDescription(HelpTestCase): - """Test the RawTextHelpFormatter""" -.... - -usage: PROG [-h] [--foo FOO] [--bar BAR] spam - -Keep the formatting - exactly as it is written - -here - -positional arguments: - spam spam help - -optional arguments: - -h, --help show this help message and exit - --foo FOO foo help should not retain this odd formatting - -title: - This text - should be indented - exactly like it is here - - --bar BAR bar help -*/ - - -print("TEST argparse.RawTextHelpFormatter"); - -parser = new argparse.ArgumentParser({ - debug: true, - prog: 'PROG', - formatterClass: argparse.RawTextHelpFormatter, - description: 'Keep the formatting\n' + - ' exactly as it is written\n' + - '\n' + - 'here\n' -}); - -parser.addArgument(['--baz'], { - help: ' baz help should also\n' + - 'appear as given here' -}); - -a = parser.addArgument(['--foo'], { - help: ' foo help should also\n' + - 'appear as given here' -}); - -parser.addArgument(['spam'], { - 'help': 'spam help' -}); - -group = parser.addArgumentGroup({ - title: 'title', - description: ' This text\n' + - ' should be indented\n' + - ' exactly like it is here\n' -}); - -group.addArgument(['--bar'], { - help: 'bar help' -}); - -helptext = parser.formatHelp(); -print(helptext); -// test selected clips -assert(helptext.match(parser.description)); -assert(helptext.match(/( {14})appear as given here/gm)); - -/* -class TestHelpRawText(HelpTestCase): - """Test the RawTextHelpFormatter""" - -usage: PROG [-h] [--foo FOO] [--bar BAR] spam - -Keep the formatting - exactly as it is written - -here - -positional arguments: - spam spam help - -optional arguments: - -h, --help show this help message and exit - --foo FOO foo help should also - appear as given here - -title: - This text - should be indented - exactly like it is here - - --bar BAR bar help -*/ - - -print("TEST metavar as a tuple"); - -parser = new argparse.ArgumentParser({ - prog: 'PROG' -}); - -parser.addArgument(['-w'], { - help: 'w', - nargs: '+', - metavar: ['W1', 'W2'] -}); - -parser.addArgument(['-x'], { - help: 'x', - nargs: '*', - metavar: ['X1', 'X2'] -}); - -parser.addArgument(['-y'], { - help: 'y', - nargs: 3, - metavar: ['Y1', 'Y2', 'Y3'] -}); - -parser.addArgument(['-z'], { - help: 'z', - nargs: '?', - metavar: ['Z1'] -}); - -helptext = parser.formatHelp(); -print(helptext); -var ustring = 'PROG [-h] [-w W1 [W2 ...]] [-x [X1 [X2 ...]]] [-y Y1 Y2 Y3] [-z [Z1]]'; -ustring = ustring.replace(/\[/g, '\\[').replace(/\]/g, '\\]'); -// print(ustring) -assert(helptext.match(new RegExp(ustring))); - -/* -class TestHelpTupleMetavar(HelpTestCase): - """Test specifying metavar as a tuple""" - -usage: PROG [-h] [-w W1 [W2 ...]] [-x [X1 [X2 ...]]] [-y Y1 Y2 Y3] [-z [Z1]] - -optional arguments: - -h, --help show this help message and exit - -w W1 [W2 ...] w - -x [X1 [X2 ...]] x - -y Y1 Y2 Y3 y - -z [Z1] z -*/ - diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/index.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/index.js deleted file mode 100644 index 3b6eea0138b8..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lib/argparse'); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action.js deleted file mode 100644 index 6f7e9a56ccc6..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action.js +++ /dev/null @@ -1,146 +0,0 @@ -/** - * class Action - * - * Base class for all actions - * Do not call in your code, use this class only for inherits your own action - * - * Information about how to convert command line strings to Javascript objects. - * Action objects are used by an ArgumentParser to represent the information - * needed to parse a single argument from one or more strings from the command - * line. The keyword arguments to the Action constructor are also all attributes - * of Action instances. - * - * #####Alowed keywords: - * - * - `store` - * - `storeConstant` - * - `storeTrue` - * - `storeFalse` - * - `append` - * - `appendConstant` - * - `count` - * - `help` - * - `version` - * - * Information about action options see [[Action.new]] - * - * See also [original guide](http://docs.python.org/dev/library/argparse.html#action) - * - **/ - -'use strict'; - - -// Constants -var $$ = require('./const'); - - -/** - * new Action(options) - * - * Base class for all actions. Used only for inherits - * - * - * ##### Options: - * - * - `optionStrings` A list of command-line option strings for the action. - * - `dest` Attribute to hold the created object(s) - * - `nargs` The number of command-line arguments that should be consumed. - * By default, one argument will be consumed and a single value will be - * produced. - * - `constant` Default value for an action with no value. - * - `defaultValue` The value to be produced if the option is not specified. - * - `type` Cast to 'string'|'int'|'float'|'complex'|function (string). If - * None, 'string'. - * - `choices` The choices available. - * - `required` True if the action must always be specified at the command - * line. - * - `help` The help describing the argument. - * - `metavar` The name to be used for the option's argument with the help - * string. If None, the 'dest' value will be used as the name. - * - * ##### nargs supported values: - * - * - `N` (an integer) consumes N arguments (and produces a list) - * - `?` consumes zero or one arguments - * - `*` consumes zero or more arguments (and produces a list) - * - `+` consumes one or more arguments (and produces a list) - * - * Note: that the difference between the default and nargs=1 is that with the - * default, a single value will be produced, while with nargs=1, a list - * containing a single value will be produced. - **/ -var Action = module.exports = function Action(options) { - options = options || {}; - this.optionStrings = options.optionStrings || []; - this.dest = options.dest; - this.nargs = options.nargs !== undefined ? options.nargs : null; - this.constant = options.constant !== undefined ? options.constant : null; - this.defaultValue = options.defaultValue; - this.type = options.type !== undefined ? options.type : null; - this.choices = options.choices !== undefined ? options.choices : null; - this.required = options.required !== undefined ? options.required: false; - this.help = options.help !== undefined ? options.help : null; - this.metavar = options.metavar !== undefined ? options.metavar : null; - - if (!(this.optionStrings instanceof Array)) { - throw new Error('optionStrings should be an array'); - } - if (this.required !== undefined && typeof(this.required) !== 'boolean') { - throw new Error('required should be a boolean'); - } -}; - -/** - * Action#getName -> String - * - * Tells action name - **/ -Action.prototype.getName = function () { - if (this.optionStrings.length > 0) { - return this.optionStrings.join('/'); - } else if (this.metavar !== null && this.metavar !== $$.SUPPRESS) { - return this.metavar; - } else if (this.dest !== undefined && this.dest !== $$.SUPPRESS) { - return this.dest; - } - return null; -}; - -/** - * Action#isOptional -> Boolean - * - * Return true if optional - **/ -Action.prototype.isOptional = function () { - return !this.isPositional(); -}; - -/** - * Action#isPositional -> Boolean - * - * Return true if positional - **/ -Action.prototype.isPositional = function () { - return (this.optionStrings.length === 0); -}; - -/** - * Action#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Call the action. Should be implemented in inherited classes - * - * ##### Example - * - * ActionCount.prototype.call = function (parser, namespace, values, optionString) { - * namespace.set(this.dest, (namespace[this.dest] || 0) + 1); - * }; - * - **/ -Action.prototype.call = function () { - throw new Error('.call() not defined');// Not Implemented error -}; diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append.js deleted file mode 100644 index 48c6dbe30de5..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append.js +++ /dev/null @@ -1,55 +0,0 @@ -/*:nodoc:* - * class ActionAppend - * - * This action stores a list, and appends each argument value to the list. - * This is useful to allow an option to be specified multiple times. - * This class inherided from [[Action]] - * - **/ - -'use strict'; - -var util = require('util'); - -var Action = require('../action'); - -// Constants -var $$ = require('../const'); - -/*:nodoc:* - * new ActionAppend(options) - * - options (object): options hash see [[Action.new]] - * - * Note: options.nargs should be optional for constants - * and more then zero for other - **/ -var ActionAppend = module.exports = function ActionAppend(options) { - options = options || {}; - if (this.nargs <= 0) { - throw new Error('nargs for append actions must be > 0; if arg ' + - 'strings are not supplying the value to append, ' + - 'the append const action may be more appropriate'); - } - if (!!this.constant && this.nargs !== $$.OPTIONAL) { - throw new Error('nargs must be OPTIONAL to supply const'); - } - Action.call(this, options); -}; -util.inherits(ActionAppend, Action); - -/*:nodoc:* - * ActionAppend#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Call the action. Save result in namespace object - **/ -ActionAppend.prototype.call = function (parser, namespace, values) { - var items = [].concat(namespace[this.dest] || []); // or _.clone - items.push(values); - namespace.set(this.dest, items); -}; - - diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js deleted file mode 100644 index 90747abbf611..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js +++ /dev/null @@ -1,47 +0,0 @@ -/*:nodoc:* - * class ActionAppendConstant - * - * This stores a list, and appends the value specified by - * the const keyword argument to the list. - * (Note that the const keyword argument defaults to null.) - * The 'appendConst' action is typically useful when multiple - * arguments need to store constants to the same list. - * - * This class inherited from [[Action]] - **/ - -'use strict'; - -var util = require('util'); - -var Action = require('../../action'); - -/*:nodoc:* - * new ActionAppendConstant(options) - * - options (object): options hash see [[Action.new]] - * - **/ -var ActionAppendConstant = module.exports = function ActionAppendConstant(options) { - options = options || {}; - options.nargs = 0; - if (options.constant === undefined) { - throw new Error('constant option is required for appendAction'); - } - Action.call(this, options); -}; -util.inherits(ActionAppendConstant, Action); - -/*:nodoc:* - * ActionAppendConstant#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Call the action. Save result in namespace object - **/ -ActionAppendConstant.prototype.call = function (parser, namespace) { - var items = [].concat(namespace[this.dest] || []); - items.push(this.constant); - namespace.set(this.dest, items); -}; diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/count.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/count.js deleted file mode 100644 index d6a5899d07ef..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/count.js +++ /dev/null @@ -1,40 +0,0 @@ -/*:nodoc:* - * class ActionCount - * - * This counts the number of times a keyword argument occurs. - * For example, this is useful for increasing verbosity levels - * - * This class inherided from [[Action]] - * - **/ -'use strict'; - -var util = require('util'); - -var Action = require('../action'); - -/*:nodoc:* - * new ActionCount(options) - * - options (object): options hash see [[Action.new]] - * - **/ -var ActionCount = module.exports = function ActionCount(options) { - options = options || {}; - options.nargs = 0; - - Action.call(this, options); -}; -util.inherits(ActionCount, Action); - -/*:nodoc:* - * ActionCount#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Call the action. Save result in namespace object - **/ -ActionCount.prototype.call = function (parser, namespace) { - namespace.set(this.dest, (namespace[this.dest] || 0) + 1); -}; diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/help.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/help.js deleted file mode 100644 index 7f7b4e2d2121..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/help.js +++ /dev/null @@ -1,48 +0,0 @@ -/*:nodoc:* - * class ActionHelp - * - * Support action for printing help - * This class inherided from [[Action]] - **/ -'use strict'; - -var util = require('util'); - -var Action = require('../action'); - -// Constants -var $$ = require('../const'); - -/*:nodoc:* - * new ActionHelp(options) - * - options (object): options hash see [[Action.new]] - * - **/ -var ActionHelp = module.exports = function ActionHelp(options) { - options = options || {}; - if (options.defaultValue !== null) { - options.defaultValue = options.defaultValue; - } - else { - options.defaultValue = $$.SUPPRESS; - } - options.dest = (options.dest !== null ? options.dest: $$.SUPPRESS); - options.nargs = 0; - Action.call(this, options); - -}; -util.inherits(ActionHelp, Action); - -/*:nodoc:* - * ActionHelp#call(parser, namespace, values, optionString) - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Print help and exit - **/ -ActionHelp.prototype.call = function (parser) { - parser.printHelp(); - parser.exit(); -}; diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store.js deleted file mode 100644 index 8ebc9748b691..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store.js +++ /dev/null @@ -1,50 +0,0 @@ -/*:nodoc:* - * class ActionStore - * - * This action just stores the argument’s value. This is the default action. - * - * This class inherited from [[Action]] - * - **/ -'use strict'; - -var util = require('util'); - -var Action = require('../action'); - -// Constants -var $$ = require('../const'); - - -/*:nodoc:* - * new ActionStore(options) - * - options (object): options hash see [[Action.new]] - * - **/ -var ActionStore = module.exports = function ActionStore(options) { - options = options || {}; - if (this.nargs <= 0) { - throw new Error('nargs for store actions must be > 0; if you ' + - 'have nothing to store, actions such as store ' + - 'true or store const may be more appropriate'); - - } - if (this.constant !== undefined && this.nargs !== $$.OPTIONAL) { - throw new Error('nargs must be OPTIONAL to supply const'); - } - Action.call(this, options); -}; -util.inherits(ActionStore, Action); - -/*:nodoc:* - * ActionStore#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Call the action. Save result in namespace object - **/ -ActionStore.prototype.call = function (parser, namespace, values) { - namespace.set(this.dest, values); -}; diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js deleted file mode 100644 index 8410fcf784c6..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js +++ /dev/null @@ -1,43 +0,0 @@ -/*:nodoc:* - * class ActionStoreConstant - * - * This action stores the value specified by the const keyword argument. - * (Note that the const keyword argument defaults to the rather unhelpful null.) - * The 'store_const' action is most commonly used with optional - * arguments that specify some sort of flag. - * - * This class inherited from [[Action]] - **/ -'use strict'; - -var util = require('util'); - -var Action = require('../../action'); - -/*:nodoc:* - * new ActionStoreConstant(options) - * - options (object): options hash see [[Action.new]] - * - **/ -var ActionStoreConstant = module.exports = function ActionStoreConstant(options) { - options = options || {}; - options.nargs = 0; - if (options.constant === undefined) { - throw new Error('constant option is required for storeAction'); - } - Action.call(this, options); -}; -util.inherits(ActionStoreConstant, Action); - -/*:nodoc:* - * ActionStoreConstant#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Call the action. Save result in namespace object - **/ -ActionStoreConstant.prototype.call = function (parser, namespace) { - namespace.set(this.dest, this.constant); -}; diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js deleted file mode 100644 index 66417bf6d8f0..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js +++ /dev/null @@ -1,27 +0,0 @@ -/*:nodoc:* - * class ActionStoreFalse - * - * This action store the values False respectively. - * This is special cases of 'storeConst' - * - * This class inherited from [[Action]] - **/ - -'use strict'; - -var util = require('util'); - -var ActionStoreConstant = require('./constant'); - -/*:nodoc:* - * new ActionStoreFalse(options) - * - options (object): hash of options see [[Action.new]] - * - **/ -var ActionStoreFalse = module.exports = function ActionStoreFalse(options) { - options = options || {}; - options.constant = false; - options.defaultValue = options.defaultValue !== null ? options.defaultValue: true; - ActionStoreConstant.call(this, options); -}; -util.inherits(ActionStoreFalse, ActionStoreConstant); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js deleted file mode 100644 index 43ec7086f629..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js +++ /dev/null @@ -1,26 +0,0 @@ -/*:nodoc:* - * class ActionStoreTrue - * - * This action store the values True respectively. - * This isspecial cases of 'storeConst' - * - * This class inherited from [[Action]] - **/ -'use strict'; - -var util = require('util'); - -var ActionStoreConstant = require('./constant'); - -/*:nodoc:* - * new ActionStoreTrue(options) - * - options (object): options hash see [[Action.new]] - * - **/ -var ActionStoreTrue = module.exports = function ActionStoreTrue(options) { - options = options || {}; - options.constant = true; - options.defaultValue = options.defaultValue !== null ? options.defaultValue: false; - ActionStoreConstant.call(this, options); -}; -util.inherits(ActionStoreTrue, ActionStoreConstant); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js deleted file mode 100644 index adecf654a96e..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js +++ /dev/null @@ -1,148 +0,0 @@ -/** internal - * class ActionSubparsers - * - * Support the creation of such sub-commands with the addSubparsers() - * - * This class inherited from [[Action]] - **/ -'use strict'; - -var util = require('util'); -var format = require('util').format; -var _ = require('underscore'); - - -var Action = require('../action'); - -// Constants -var $$ = require('../const'); - -// Errors -var argumentErrorHelper = require('../argument/error'); - - -/*:nodoc:* - * new ChoicesPseudoAction(name, help) - * - * Create pseudo action for correct help text - * - **/ -var ChoicesPseudoAction = function (name, help) { - var options = { - optionStrings: [], - dest: name, - help: help - }; - - Action.call(this, options); -}; -util.inherits(ChoicesPseudoAction, Action); - -/** - * new ActionSubparsers(options) - * - options (object): options hash see [[Action.new]] - * - **/ -var ActionSubparsers = module.exports = function ActionSubparsers(options) { - options = options || {}; - options.dest = options.dest || $$.SUPPRESS; - options.nargs = $$.PARSER; - - this.debug = (options.debug === true); - - this._progPrefix = options.prog; - this._parserClass = options.parserClass; - this._nameParserMap = {}; - this._choicesActions = []; - - options.choices = this._nameParserMap; - Action.call(this, options); -}; -util.inherits(ActionSubparsers, Action); - -/*:nodoc:* - * ActionSubparsers#addParser(name, options) -> ArgumentParser - * - name (string): sub-command name - * - options (object): see [[ArgumentParser.new]] - * - * Note: - * addParser supports an additional aliases option, - * which allows multiple strings to refer to the same subparser. - * This example, like svn, aliases co as a shorthand for checkout - * - **/ -ActionSubparsers.prototype.addParser = function (name, options) { - var parser; - - var self = this; - - options = options || {}; - - options.debug = (this.debug === true); - - // set program from the existing prefix - if (!options.prog) { - options.prog = this._progPrefix + ' ' + name; - } - - var aliases = options.aliases || []; - - // create a pseudo-action to hold the choice help - if (!!options.help || _.isString(options.help)) { - var help = options.help; - delete options.help; - - var choiceAction = new ChoicesPseudoAction(name, help); - this._choicesActions.push(choiceAction); - } - - // create the parser and add it to the map - parser = new this._parserClass(options); - this._nameParserMap[name] = parser; - - // make parser available under aliases also - aliases.forEach(function (alias) { - self._nameParserMap[alias] = parser; - }); - - return parser; -}; - -ActionSubparsers.prototype._getSubactions = function () { - return this._choicesActions; -}; - -/*:nodoc:* - * ActionSubparsers#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Call the action. Parse input aguments - **/ -ActionSubparsers.prototype.call = function (parser, namespace, values) { - var parserName = values[0]; - var argStrings = values.slice(1); - - // set the parser name if requested - if (this.dest !== $$.SUPPRESS) { - namespace[this.dest] = parserName; - } - - // select the parser - if (!!this._nameParserMap[parserName]) { - parser = this._nameParserMap[parserName]; - } else { - throw argumentErrorHelper(format( - 'Unknown parser "%s" (choices: [%s]).', - parserName, - _.keys(this._nameParserMap).join(', ') - )); - } - - // parse all the remaining options into the namespace - parser.parseArgs(argStrings, namespace); -}; - - diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/version.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/version.js deleted file mode 100644 index a17877c0bacc..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/version.js +++ /dev/null @@ -1,50 +0,0 @@ -/*:nodoc:* - * class ActionVersion - * - * Support action for printing program version - * This class inherited from [[Action]] - **/ -'use strict'; - -var util = require('util'); - -var Action = require('../action'); - -// -// Constants -// -var $$ = require('../const'); - -/*:nodoc:* - * new ActionVersion(options) - * - options (object): options hash see [[Action.new]] - * - **/ -var ActionVersion = module.exports = function ActionVersion(options) { - options = options || {}; - options.defaultValue = (!!options.defaultValue ? options.defaultValue: $$.SUPPRESS); - options.dest = (options.dest || $$.SUPPRESS); - options.nargs = 0; - this.version = options.version; - Action.call(this, options); -}; -util.inherits(ActionVersion, Action); - -/*:nodoc:* - * ActionVersion#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Print version and exit - **/ -ActionVersion.prototype.call = function (parser) { - var version = this.version || parser.version; - var formatter = parser._getFormatter(); - formatter.addText(version); - parser.exit(0, formatter.formatHelp()); -}; - - - diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action_container.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action_container.js deleted file mode 100644 index dbe3e3c46abd..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action_container.js +++ /dev/null @@ -1,481 +0,0 @@ -/** internal - * class ActionContainer - * - * Action container. Parent for [[ArgumentParser]] and [[ArgumentGroup]] - **/ - -'use strict'; - -var format = require('util').format; -var _ = require('underscore'); - -_.str = require('underscore.string'); - -// Constants -var $$ = require('./const'); - -//Actions -var ActionHelp = require('./action/help'); -var ActionAppend = require('./action/append'); -var ActionAppendConstant = require('./action/append/constant'); -var ActionCount = require('./action/count'); -var ActionStore = require('./action/store'); -var ActionStoreConstant = require('./action/store/constant'); -var ActionStoreTrue = require('./action/store/true'); -var ActionStoreFalse = require('./action/store/false'); -var ActionVersion = require('./action/version'); -var ActionSubparsers = require('./action/subparsers'); - -// Errors -var argumentErrorHelper = require('./argument/error'); - - - -/** - * new ActionContainer(options) - * - * Action container. Parent for [[ArgumentParser]] and [[ArgumentGroup]] - * - * ##### Options: - * - * - `description` -- A description of what the program does - * - `prefixChars` -- Characters that prefix optional arguments - * - `argumentDefault` -- The default value for all arguments - * - `conflictHandler` -- The conflict handler to use for duplicate arguments - **/ -var ActionContainer = module.exports = function ActionContainer(options) { - options = options || {}; - - this.description = options.description; - this.argumentDefault = options.argumentDefault; - this.prefixChars = options.prefixChars || ''; - this.conflictHandler = options.conflictHandler; - - // set up registries - this._registries = {}; - - // register actions - this.register('action', null, ActionStore); - this.register('action', 'store', ActionStore); - this.register('action', 'storeConst', ActionStoreConstant); - this.register('action', 'storeTrue', ActionStoreTrue); - this.register('action', 'storeFalse', ActionStoreFalse); - this.register('action', 'append', ActionAppend); - this.register('action', 'appendConst', ActionAppendConstant); - this.register('action', 'count', ActionCount); - this.register('action', 'help', ActionHelp); - this.register('action', 'version', ActionVersion); - this.register('action', 'parsers', ActionSubparsers); - - // raise an exception if the conflict handler is invalid - this._getHandler(); - - // action storage - this._actions = []; - this._optionStringActions = {}; - - // groups - this._actionGroups = []; - this._mutuallyExclusiveGroups = []; - - // defaults storage - this._defaults = {}; - - // determines whether an "option" looks like a negative number - // -1, -1.5 -5e+4 - this._regexpNegativeNumber = new RegExp('^[-]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?$'); - - // whether or not there are any optionals that look like negative - // numbers -- uses a list so it can be shared and edited - this._hasNegativeNumberOptionals = []; -}; - -// Groups must be required, then ActionContainer already defined -var ArgumentGroup = require('./argument/group'); -var MutuallyExclusiveGroup = require('./argument/exclusive'); - -// -// Registration methods -// - -/** - * ActionContainer#register(registryName, value, object) -> Void - * - registryName (String) : object type action|type - * - value (string) : keyword - * - object (Object|Function) : handler - * - * Register handlers - **/ -ActionContainer.prototype.register = function (registryName, value, object) { - this._registries[registryName] = this._registries[registryName] || {}; - this._registries[registryName][value] = object; -}; - -ActionContainer.prototype._registryGet = function (registryName, value, defaultValue) { - if (3 > arguments.length) { - defaultValue = null; - } - return this._registries[registryName][value] || defaultValue; -}; - -// -// Namespace default accessor methods -// - -/** - * ActionContainer#setDefaults(options) -> Void - * - options (object):hash of options see [[Action.new]] - * - * Set defaults - **/ -ActionContainer.prototype.setDefaults = function (options) { - options = options || {}; - for (var property in options) { - this._defaults[property] = options[property]; - } - - // if these defaults match any existing arguments, replace the previous - // default on the object with the new one - this._actions.forEach(function (action) { - if (action.dest in options) { - action.defaultValue = options[action.dest]; - } - }); -}; - -/** - * ActionContainer#getDefault(dest) -> Mixed - * - dest (string): action destination - * - * Return action default value - **/ -ActionContainer.prototype.getDefault = function (dest) { - var result = (_.has(this._defaults, dest)) ? this._defaults[dest] : null; - - this._actions.forEach(function (action) { - if (action.dest === dest && _.has(action, 'defaultValue')) { - result = action.defaultValue; - } - }); - - return result; -}; -// -// Adding argument actions -// - -/** - * ActionContainer#addArgument(args, options) -> Object - * - args (Array): array of argument keys - * - options (Object): action objects see [[Action.new]] - * - * #### Examples - * - addArgument([-f, --foo], {action:'store', defaultValue=1, ...}) - * - addArgument(['bar'], action: 'store', nargs:1, ...}) - **/ -ActionContainer.prototype.addArgument = function (args, options) { - args = args; - options = options || {}; - - if (!_.isArray(args)) { - throw new TypeError('addArgument first argument should be an array'); - } - if (!_.isObject(options) || _.isArray(options)) { - throw new TypeError('addArgument second argument should be a hash'); - } - - // if no positional args are supplied or only one is supplied and - // it doesn't look like an option string, parse a positional argument - if (!args || args.length === 1 && this.prefixChars.indexOf(args[0][0]) < 0) { - if (args && !!options.dest) { - throw new Error('dest supplied twice for positional argument'); - } - options = this._getPositional(args, options); - - // otherwise, we're adding an optional argument - } else { - options = this._getOptional(args, options); - } - - // if no default was supplied, use the parser-level default - if (_.isUndefined(options.defaultValue)) { - var dest = options.dest; - if (_.has(this._defaults, dest)) { - options.defaultValue = this._defaults[dest]; - } else if (!_.isUndefined(this.argumentDefault)) { - options.defaultValue = this.argumentDefault; - } - } - - // create the action object, and add it to the parser - var ActionClass = this._popActionClass(options); - if (! _.isFunction(ActionClass)) { - throw new Error(format('Unknown action "%s".', ActionClass)); - } - var action = new ActionClass(options); - - // throw an error if the action type is not callable - var typeFunction = this._registryGet('type', action.type, action.type); - if (!_.isFunction(typeFunction)) { - throw new Error(format('"%s" is not callable', typeFunction)); - } - - return this._addAction(action); -}; - -/** - * ActionContainer#addArgumentGroup(options) -> ArgumentGroup - * - options (Object): hash of options see [[ArgumentGroup.new]] - * - * Create new arguments groups - **/ -ActionContainer.prototype.addArgumentGroup = function (options) { - var group = new ArgumentGroup(this, options); - this._actionGroups.push(group); - return group; -}; - -/** - * ActionContainer#addMutuallyExclusiveGroup(options) -> ArgumentGroup - * - options (Object): {required: false} - * - * Create new mutual exclusive groups - **/ -ActionContainer.prototype.addMutuallyExclusiveGroup = function (options) { - var group = new MutuallyExclusiveGroup(this, options); - this._mutuallyExclusiveGroups.push(group); - return group; -}; - -ActionContainer.prototype._addAction = function (action) { - var self = this; - - // resolve any conflicts - this._checkConflict(action); - - // add to actions list - this._actions.push(action); - action.container = this; - - // index the action by any option strings it has - action.optionStrings.forEach(function (optionString) { - self._optionStringActions[optionString] = action; - }); - - // set the flag if any option strings look like negative numbers - action.optionStrings.forEach(function (optionString) { - if (optionString.match(self._regexpNegativeNumber)) { - if (!_.any(self._hasNegativeNumberOptionals)) { - self._hasNegativeNumberOptionals.push(true); - } - } - }); - - // return the created action - return action; -}; - -ActionContainer.prototype._removeAction = function (action) { - var actionIndex = this._actions.indexOf(action); - if (actionIndex >= 0) { - this._actions.splice(actionIndex, 1); - } -}; - -ActionContainer.prototype._addContainerActions = function (container) { - // collect groups by titles - var titleGroupMap = {}; - this._actionGroups.forEach(function (group) { - if (titleGroupMap[group.title]) { - throw new Error(format('Cannot merge actions - two groups are named "%s".', group.title)); - } - titleGroupMap[group.title] = group; - }); - - // map each action to its group - var groupMap = {}; - function actionHash(action) { - // unique (hopefully?) string suitable as dictionary key - return action.getName(); - } - container._actionGroups.forEach(function (group) { - // if a group with the title exists, use that, otherwise - // create a new group matching the container's group - if (!titleGroupMap[group.title]) { - titleGroupMap[group.title] = this.addArgumentGroup({ - title: group.title, - description: group.description - }); - } - - // map the actions to their new group - group._groupActions.forEach(function (action) { - groupMap[actionHash(action)] = titleGroupMap[group.title]; - }); - }, this); - - // add container's mutually exclusive groups - // NOTE: if add_mutually_exclusive_group ever gains title= and - // description= then this code will need to be expanded as above - var mutexGroup; - container._mutuallyExclusiveGroups.forEach(function (group) { - mutexGroup = this.addMutuallyExclusiveGroup({ - required: group.required - }); - // map the actions to their new mutex group - group._groupActions.forEach(function (action) { - groupMap[actionHash(action)] = mutexGroup; - }); - }, this); // forEach takes a 'this' argument - - // add all actions to this container or their group - container._actions.forEach(function (action) { - var key = actionHash(action); - if (!!groupMap[key]) { - groupMap[key]._addAction(action); - } - else - { - this._addAction(action); - } - }); -}; - -ActionContainer.prototype._getPositional = function (dest, options) { - if (_.isArray(dest)) { - dest = _.first(dest); - } - // make sure required is not specified - if (options.required) { - throw new Error('"required" is an invalid argument for positionals.'); - } - - // mark positional arguments as required if at least one is - // always required - if (options.nargs !== $$.OPTIONAL && options.nargs !== $$.ZERO_OR_MORE) { - options.required = true; - } - if (options.nargs === $$.ZERO_OR_MORE && options.defaultValue === undefined) { - options.required = true; - } - - // return the keyword arguments with no option strings - options.dest = dest; - options.optionStrings = []; - return options; -}; - -ActionContainer.prototype._getOptional = function (args, options) { - var prefixChars = this.prefixChars; - var optionStrings = []; - var optionStringsLong = []; - - // determine short and long option strings - args.forEach(function (optionString) { - // error on strings that don't start with an appropriate prefix - if (prefixChars.indexOf(optionString[0]) < 0) { - throw new Error(format('Invalid option string "%s": must start with a "%s".', - optionString, - prefixChars - )); - } - - // strings starting with two prefix characters are long options - optionStrings.push(optionString); - if (optionString.length > 1 && prefixChars.indexOf(optionString[1]) >= 0) { - optionStringsLong.push(optionString); - } - }); - - // infer dest, '--foo-bar' -> 'foo_bar' and '-x' -> 'x' - var dest = options.dest || null; - delete options.dest; - - if (!dest) { - var optionStringDest = optionStringsLong.length ? optionStringsLong[0] :optionStrings[0]; - dest = _.str.strip(optionStringDest, this.prefixChars); - - if (dest.length === 0) { - throw new Error( - format('dest= is required for options like "%s"', optionStrings.join(', ')) - ); - } - dest = dest.replace(/-/g, '_'); - } - - // return the updated keyword arguments - options.dest = dest; - options.optionStrings = optionStrings; - - return options; -}; - -ActionContainer.prototype._popActionClass = function (options, defaultValue) { - defaultValue = defaultValue || null; - - var action = (options.action || defaultValue); - delete options.action; - - var actionClass = this._registryGet('action', action, action); - return actionClass; -}; - -ActionContainer.prototype._getHandler = function () { - var handlerString = this.conflictHandler; - var handlerFuncName = "_handleConflict" + _.str.capitalize(handlerString); - var func = this[handlerFuncName]; - if (typeof func === 'undefined') { - var msg = "invalid conflict resolution value: " + handlerString; - throw new Error(msg); - } else { - return func; - } -}; - -ActionContainer.prototype._checkConflict = function (action) { - var optionStringActions = this._optionStringActions; - var conflictOptionals = []; - - // find all options that conflict with this option - // collect pairs, the string, and an existing action that it conflicts with - action.optionStrings.forEach(function (optionString) { - var conflOptional = optionStringActions[optionString]; - if (typeof conflOptional !== 'undefined') { - conflictOptionals.push([optionString, conflOptional]); - } - }); - - if (conflictOptionals.length > 0) { - var conflictHandler = this._getHandler(); - conflictHandler.call(this, action, conflictOptionals); - } -}; - -ActionContainer.prototype._handleConflictError = function (action, conflOptionals) { - var conflicts = _.map(conflOptionals, function (pair) {return pair[0]; }); - conflicts = conflicts.join(', '); - throw argumentErrorHelper( - action, - format('Conflicting option string(s): %s', conflicts) - ); -}; - -ActionContainer.prototype._handleConflictResolve = function (action, conflOptionals) { - // remove all conflicting options - var self = this; - conflOptionals.forEach(function (pair) { - var optionString = pair[0]; - var conflictingAction = pair[1]; - // remove the conflicting option string - var i = conflictingAction.optionStrings.indexOf(optionString); - if (i >= 0) { - conflictingAction.optionStrings.splice(i, 1); - } - delete self._optionStringActions[optionString]; - // if the option now has no option string, remove it from the - // container holding it - if (conflictingAction.optionStrings.length === 0) { - conflictingAction.container._removeAction(conflictingAction); - } - }); -}; diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argparse.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argparse.js deleted file mode 100644 index f2a2c51d9a89..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argparse.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -module.exports.ArgumentParser = require('./argument_parser.js'); -module.exports.Namespace = require('./namespace'); -module.exports.Action = require('./action'); -module.exports.HelpFormatter = require('./help/formatter.js'); -module.exports.Const = require('./const.js'); - -module.exports.ArgumentDefaultsHelpFormatter = - require('./help/added_formatters.js').ArgumentDefaultsHelpFormatter; -module.exports.RawDescriptionHelpFormatter = - require('./help/added_formatters.js').RawDescriptionHelpFormatter; -module.exports.RawTextHelpFormatter = - require('./help/added_formatters.js').RawTextHelpFormatter; diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js deleted file mode 100644 index c8a02a08b8fb..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - - -var format = require('util').format; - - -var ERR_CODE = 'ARGError'; - -/*:nodoc:* - * argumentError(argument, message) -> TypeError - * - argument (Object): action with broken argument - * - message (String): error message - * - * Error format helper. An error from creating or using an argument - * (optional or positional). The string value of this exception - * is the message, augmented with information - * about the argument that caused it. - * - * #####Example - * - * var argumentErrorHelper = require('./argument/error'); - * if (conflictOptionals.length > 0) { - * throw argumentErrorHelper( - * action, - * format('Conflicting option string(s): %s', conflictOptionals.join(', ')) - * ); - * } - * - **/ -module.exports = function (argument, message) { - var argumentName = null; - var errMessage; - var err; - - if (argument.getName) { - argumentName = argument.getName(); - } else { - argumentName = '' + argument; - } - - if (!argumentName) { - errMessage = message; - } else { - errMessage = format('argument "%s": %s', argumentName, message); - } - - err = new TypeError(errMessage); - err.code = ERR_CODE; - return err; -}; diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js deleted file mode 100644 index 8287e00d0464..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js +++ /dev/null @@ -1,54 +0,0 @@ -/** internal - * class MutuallyExclusiveGroup - * - * Group arguments. - * By default, ArgumentParser groups command-line arguments - * into “positional arguments†and “optional arguments†- * when displaying help messages. When there is a better - * conceptual grouping of arguments than this default one, - * appropriate groups can be created using the addArgumentGroup() method - * - * This class inherited from [[ArgumentContainer]] - **/ -'use strict'; - -var util = require('util'); - -var ArgumentGroup = require('./group'); - -/** - * new MutuallyExclusiveGroup(container, options) - * - container (object): main container - * - options (object): options.required -> true/false - * - * `required` could be an argument itself, but making it a property of - * the options argument is more consistent with the JS adaptation of the Python) - **/ -var MutuallyExclusiveGroup = module.exports = function MutuallyExclusiveGroup(container, options) { - var required; - options = options || {}; - required = options.required || false; - ArgumentGroup.call(this, container); - this.required = required; - -}; -util.inherits(MutuallyExclusiveGroup, ArgumentGroup); - - -MutuallyExclusiveGroup.prototype._addAction = function (action) { - var msg; - if (action.required) { - msg = 'mutually exclusive arguments must be optional'; - throw new Error(msg); - } - action = this._container._addAction(action); - this._groupActions.push(action); - return action; -}; - - -MutuallyExclusiveGroup.prototype._removeAction = function (action) { - this._container._removeAction(action); - this._groupActions.remove(action); -}; - diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js deleted file mode 100644 index 58b271f2fec8..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js +++ /dev/null @@ -1,75 +0,0 @@ -/** internal - * class ArgumentGroup - * - * Group arguments. - * By default, ArgumentParser groups command-line arguments - * into “positional arguments†and “optional arguments†- * when displaying help messages. When there is a better - * conceptual grouping of arguments than this default one, - * appropriate groups can be created using the addArgumentGroup() method - * - * This class inherited from [[ArgumentContainer]] - **/ -'use strict'; - -var util = require('util'); - -var ActionContainer = require('../action_container'); - - -/** - * new ArgumentGroup(container, options) - * - container (object): main container - * - options (object): hash of group options - * - * #### options - * - **prefixChars** group name prefix - * - **argumentDefault** default argument value - * - **title** group title - * - **description** group description - * - **/ -var ArgumentGroup = module.exports = function ArgumentGroup(container, options) { - - options = options || {}; - - // add any missing keyword arguments by checking the container - options.conflictHandler = (options.conflictHandler || container.conflictHandler); - options.prefixChars = (options.prefixChars || container.prefixChars); - options.argumentDefault = (options.argumentDefault || container.argumentDefault); - - ActionContainer.call(this, options); - - // group attributes - this.title = options.title; - this._groupActions = []; - - // share most attributes with the container - this._container = container; - this._registries = container._registries; - this._actions = container._actions; - this._optionStringActions = container._optionStringActions; - this._defaults = container._defaults; - this._hasNegativeNumberOptionals = container._hasNegativeNumberOptionals; - this._mutuallyExclusiveGroups = container._mutuallyExclusiveGroups; -}; -util.inherits(ArgumentGroup, ActionContainer); - - -ArgumentGroup.prototype._addAction = function (action) { - // Parent add action - action = ActionContainer.prototype._addAction.call(this, action); - this._groupActions.push(action); - return action; -}; - - -ArgumentGroup.prototype._removeAction = function (action) { - // Parent remove action - ActionContainer.prototype._removeAction.call(this, action); - var actionIndex = this._groupActions.indexOf(action); - if (actionIndex >= 0) { - this._groupActions.splice(actionIndex, 1); - } -}; - diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js deleted file mode 100644 index 97cf098234e0..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js +++ /dev/null @@ -1,1165 +0,0 @@ -/** - * class ArgumentParser - * - * Object for parsing command line strings into js objects. - * - * Inherited from [[ActionContainer]] - **/ -'use strict'; - -var util = require('util'); -var format = require('util').format; -var Path = require('path'); - -var _ = require('underscore'); -_.str = require('underscore.string'); - -// Constants -var $$ = require('./const'); - -var ActionContainer = require('./action_container'); - -// Errors -var argumentErrorHelper = require('./argument/error'); - -var HelpFormatter = require('./help/formatter'); - -var Namespace = require('./namespace'); - - -/** - * new ArgumentParser(options) - * - * Create a new ArgumentParser object. - * - * ##### Options: - * - `prog` The name of the program (default: sys.argv[0]) - * - `usage` A usage message (default: auto-generated from arguments) - * - `description` A description of what the program does - * - `epilog` Text following the argument descriptions - * - `parents` Parsers whose arguments should be copied into this one - * - `formatterClass` HelpFormatter class for printing help messages - * - `prefixChars` Characters that prefix optional arguments - * - `fromfilePrefixChars` Characters that prefix files containing additional arguments - * - `argumentDefault` The default value for all arguments - * - `addHelp` Add a -h/-help option - * - `conflictHandler` Specifies how to handle conflicting argument names - * - `debug` Enable debug mode. Argument errors throw exception in - * debug mode and process.exit in normal. Used for development and - * testing (default: false) - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#argumentparser-objects - **/ -var ArgumentParser = module.exports = function ArgumentParser(options) { - var self = this; - options = options || {}; - - options.description = (options.description || null); - options.argumentDefault = (options.argumentDefault || null); - options.prefixChars = (options.prefixChars || '-'); - options.conflictHandler = (options.conflictHandler || 'error'); - ActionContainer.call(this, options); - - options.addHelp = (options.addHelp === undefined || !!options.addHelp); - options.parents = (options.parents || []); - // default program name - options.prog = (options.prog || Path.basename(process.argv[1])); - this.prog = options.prog; - this.usage = options.usage; - this.epilog = options.epilog; - this.version = options.version; - - this.debug = (options.debug === true); - - this.formatterClass = (options.formatterClass || HelpFormatter); - this.fromfilePrefixChars = options.fromfilePrefixChars || null; - this._positionals = this.addArgumentGroup({title: 'Positional arguments'}); - this._optionals = this.addArgumentGroup({title: 'Optional arguments'}); - this._subparsers = null; - - // register types - var FUNCTION_IDENTITY = function (o) { - return o; - }; - this.register('type', 'auto', FUNCTION_IDENTITY); - this.register('type', null, FUNCTION_IDENTITY); - this.register('type', 'int', function (x) { - var result = parseInt(x, 10); - if (isNaN(result)) { - throw new Error(x + ' is not a valid integer.'); - } - return result; - }); - this.register('type', 'float', function (x) { - var result = parseFloat(x); - if (isNaN(result)) { - throw new Error(x + ' is not a valid float.'); - } - return result; - }); - this.register('type', 'string', function (x) { - return '' + x; - }); - - // add help and version arguments if necessary - var defaultPrefix = (this.prefixChars.indexOf('-') > -1) ? '-' : this.prefixChars[0]; - if (options.addHelp) { - this.addArgument( - [defaultPrefix + 'h', defaultPrefix + defaultPrefix + 'help'], - { - action: 'help', - defaultValue: $$.SUPPRESS, - help: 'Show this help message and exit.' - } - ); - } - if (this.version !== undefined) { - this.addArgument( - [defaultPrefix + 'v', defaultPrefix + defaultPrefix + 'version'], - { - action: 'version', - version: this.version, - defaultValue: $$.SUPPRESS, - help: "Show program's version number and exit." - } - ); - } - - // add parent arguments and defaults - options.parents.forEach(function (parent) { - self._addContainerActions(parent); - if (parent._defaults !== undefined) { - for (var defaultKey in parent._defaults) { - if (parent._defaults.hasOwnProperty(defaultKey)) { - self._defaults[defaultKey] = parent._defaults[defaultKey]; - } - } - } - }); - -}; -util.inherits(ArgumentParser, ActionContainer); - -/** - * ArgumentParser#addSubparsers(options) -> [[ActionSubparsers]] - * - options (object): hash of options see [[ActionSubparsers.new]] - * - * See also [subcommands][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#sub-commands - **/ -ArgumentParser.prototype.addSubparsers = function (options) { - if (!!this._subparsers) { - this.error('Cannot have multiple subparser arguments.'); - } - - options = options || {}; - options.debug = (this.debug === true); - options.optionStrings = []; - options.parserClass = (options.parserClass || ArgumentParser); - - - if (!!options.title || !!options.description) { - - this._subparsers = this.addArgumentGroup({ - title: (options.title || 'subcommands'), - description: options.description - }); - delete options.title; - delete options.description; - - } else { - this._subparsers = this._positionals; - } - - // prog defaults to the usage message of this parser, skipping - // optional arguments and with no "usage:" prefix - if (!options.prog) { - var formatter = this._getFormatter(); - var positionals = this._getPositionalActions(); - var groups = this._mutuallyExclusiveGroups; - formatter.addUsage(this.usage, positionals, groups, ''); - options.prog = _.str.strip(formatter.formatHelp()); - } - - // create the parsers action and add it to the positionals list - var ParsersClass = this._popActionClass(options, 'parsers'); - var action = new ParsersClass(options); - this._subparsers._addAction(action); - - // return the created parsers action - return action; -}; - -ArgumentParser.prototype._addAction = function (action) { - if (action.isOptional()) { - this._optionals._addAction(action); - } else { - this._positionals._addAction(action); - } - return action; -}; - -ArgumentParser.prototype._getOptionalActions = function () { - return this._actions.filter(function (action) { - return action.isOptional(); - }); -}; - -ArgumentParser.prototype._getPositionalActions = function () { - return this._actions.filter(function (action) { - return action.isPositional(); - }); -}; - - -/** - * ArgumentParser#parseArgs(args, namespace) -> Namespace|Object - * - args (array): input elements - * - namespace (Namespace|Object): result object - * - * Parsed args and throws error if some arguments are not recognized - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#the-parse-args-method - **/ -ArgumentParser.prototype.parseArgs = function (args, namespace) { - var argv; - var result = this.parseKnownArgs(args, namespace); - - args = result[0]; - argv = result[1]; - if (argv && argv.length > 0) { - this.error( - format('Unrecognized arguments: %s.', argv.join(' ')) - ); - } - return args; -}; - -/** - * ArgumentParser#parseKnownArgs(args, namespace) -> array - * - args (array): input options - * - namespace (Namespace|Object): result object - * - * Parse known arguments and return tuple of result object - * and unknown args - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#partial-parsing - **/ -ArgumentParser.prototype.parseKnownArgs = function (args, namespace) { - var self = this; - - // args default to the system args - args = args || process.argv.slice(2); - - // default Namespace built from parser defaults - namespace = namespace || new Namespace(); - - self._actions.forEach(function (action) { - if (action.dest !== $$.SUPPRESS) { - if (!_.has(namespace, action.dest)) { - if (action.defaultValue !== $$.SUPPRESS) { - var defaultValue = action.defaultValue; - if (_.isString(action.defaultValue)) { - defaultValue = self._getValue(action, defaultValue); - } - namespace[action.dest] = defaultValue; - } - } - } - }); - - _.keys(self._defaults).forEach(function (dest) { - namespace[dest] = self._defaults[dest]; - }); - - // parse the arguments and exit if there are any errors - try { - var res = this._parseKnownArgs(args, namespace); - - namespace = res[0]; - args = res[1]; - if (_.has(namespace, $$._UNRECOGNIZED_ARGS_ATTR)) { - args = _.union(args, namespace[$$._UNRECOGNIZED_ARGS_ATTR]); - delete namespace[$$._UNRECOGNIZED_ARGS_ATTR]; - } - return [namespace, args]; - } catch (e) { - this.error(e); - } -}; - -ArgumentParser.prototype._parseKnownArgs = function (argStrings, namespace) { - var self = this; - - var extras = []; - - // replace arg strings that are file references - if (this.fromfilePrefixChars !== null) { - argStrings = this._readArgsFromFiles(argStrings); - } - // map all mutually exclusive arguments to the other arguments - // they can't occur with - // Python has 'conflicts = action_conflicts.setdefault(mutex_action, [])' - // though I can't conceive of a way in which an action could be a member - // of two different mutually exclusive groups. - - function actionHash(action) { - // some sort of hashable key for this action - // action itself cannot be a key in actionConflicts - // I think getName() (join of optionStrings) is unique enough - return action.getName(); - } - var conflicts, key; - var actionConflicts = {}; - this._mutuallyExclusiveGroups.forEach(function (mutexGroup) { - mutexGroup._groupActions.forEach(function (mutexAction, i, groupActions) { - key = actionHash(mutexAction); - if (!_.has(actionConflicts, key)) { - actionConflicts[key] = []; - } - conflicts = actionConflicts[key]; - conflicts.push.apply(conflicts, groupActions.slice(0, i)); - conflicts.push.apply(conflicts, groupActions.slice(i + 1)); - }); - }); - - // find all option indices, and determine the arg_string_pattern - // which has an 'O' if there is an option at an index, - // an 'A' if there is an argument, or a '-' if there is a '--' - var optionStringIndices = {}; - - var argStringPatternParts = []; - - argStrings.forEach(function (argString, argStringIndex) { - if (argString === '--') { - argStringPatternParts.push('-'); - while (argStringIndex < argStrings.length) { - argStringPatternParts.push('A'); - argStringIndex++; - } - } - // otherwise, add the arg to the arg strings - // and note the index if it was an option - else { - var pattern; - var optionTuple = self._parseOptional(argString); - if (!optionTuple) { - pattern = 'A'; - } - else { - optionStringIndices[argStringIndex] = optionTuple; - pattern = 'O'; - } - argStringPatternParts.push(pattern); - } - }); - var argStringsPattern = argStringPatternParts.join(''); - - var seenActions = []; - var seenNonDefaultActions = []; - - - function takeAction(action, argumentStrings, optionString) { - seenActions.push(action); - var argumentValues = self._getValues(action, argumentStrings); - - // error if this argument is not allowed with other previously - // seen arguments, assuming that actions that use the default - // value don't really count as "present" - if (argumentValues !== action.defaultValue) { - seenNonDefaultActions.push(action); - if (!!actionConflicts[actionHash(action)]) { - actionConflicts[actionHash(action)].forEach(function (actionConflict) { - if (seenNonDefaultActions.indexOf(actionConflict) >= 0) { - throw argumentErrorHelper( - action, - format('Not allowed with argument "%s".', actionConflict.getName()) - ); - } - }); - } - } - - if (argumentValues !== $$.SUPPRESS) { - action.call(self, namespace, argumentValues, optionString); - } - } - - function consumeOptional(startIndex) { - // get the optional identified at this index - var optionTuple = optionStringIndices[startIndex]; - var action = optionTuple[0]; - var optionString = optionTuple[1]; - var explicitArg = optionTuple[2]; - - // identify additional optionals in the same arg string - // (e.g. -xyz is the same as -x -y -z if no args are required) - var actionTuples = []; - - var args, argCount, start, stop; - - while (true) { - if (!action) { - extras.push(argStrings[startIndex]); - return startIndex + 1; - } - if (!!explicitArg) { - argCount = self._matchArgument(action, 'A'); - - // if the action is a single-dash option and takes no - // arguments, try to parse more single-dash options out - // of the tail of the option string - var chars = self.prefixChars; - if (argCount === 0 && chars.indexOf(optionString[1]) < 0) { - actionTuples.push([action, [], optionString]); - optionString = optionString[0] + explicitArg[0]; - var newExplicitArg = explicitArg.slice(1) || null; - var optionalsMap = self._optionStringActions; - - if (_.keys(optionalsMap).indexOf(optionString) >= 0) { - action = optionalsMap[optionString]; - explicitArg = newExplicitArg; - } - else { - var msg = 'ignored explicit argument %r'; - throw argumentErrorHelper(action, msg); - } - } - // if the action expect exactly one argument, we've - // successfully matched the option; exit the loop - else if (argCount === 1) { - stop = startIndex + 1; - args = [explicitArg]; - actionTuples.push([action, args, optionString]); - break; - } - // error if a double-dash option did not use the - // explicit argument - else { - var message = 'ignored explicit argument %r'; - throw argumentErrorHelper(action, _.str.sprintf(message, explicitArg)); - } - } - // if there is no explicit argument, try to match the - // optional's string arguments with the following strings - // if successful, exit the loop - else { - - start = startIndex + 1; - var selectedPatterns = argStringsPattern.substr(start); - - argCount = self._matchArgument(action, selectedPatterns); - stop = start + argCount; - - - args = argStrings.slice(start, stop); - - actionTuples.push([action, args, optionString]); - break; - } - - } - - // add the Optional to the list and return the index at which - // the Optional's string args stopped - if (actionTuples.length < 1) { - throw new Error('length should be > 0'); - } - for (var i = 0; i < actionTuples.length; i++) { - takeAction.apply(self, actionTuples[i]); - } - return stop; - } - - // the list of Positionals left to be parsed; this is modified - // by consume_positionals() - var positionals = self._getPositionalActions(); - - function consumePositionals(startIndex) { - // match as many Positionals as possible - var selectedPattern = argStringsPattern.substr(startIndex); - var argCounts = self._matchArgumentsPartial(positionals, selectedPattern); - - // slice off the appropriate arg strings for each Positional - // and add the Positional and its args to the list - _.zip(positionals, argCounts).forEach(function (item) { - var action = item[0]; - var argCount = item[1]; - if (argCount === undefined) { - return; - } - var args = argStrings.slice(startIndex, startIndex + argCount); - - startIndex += argCount; - takeAction(action, args); - }); - - // slice off the Positionals that we just parsed and return the - // index at which the Positionals' string args stopped - positionals = positionals.slice(argCounts.length); - return startIndex; - } - - // consume Positionals and Optionals alternately, until we have - // passed the last option string - var startIndex = 0; - var position; - - var maxOptionStringIndex = -1; - if (!!optionStringIndices) { - for (position in optionStringIndices) { - maxOptionStringIndex = Math.max(maxOptionStringIndex, parseInt(position, 10)); - } - } - - var positionalsEndIndex, nextOptionStringIndex; - - while (startIndex <= maxOptionStringIndex) { - // consume any Positionals preceding the next option - nextOptionStringIndex = null; - for (position in optionStringIndices) { - position = parseInt(position, 10); - if (position >= startIndex) { - if (nextOptionStringIndex !== null) { - nextOptionStringIndex = Math.min(nextOptionStringIndex, position); - } - else { - nextOptionStringIndex = position; - } - } - } - - if (startIndex !== nextOptionStringIndex) { - positionalsEndIndex = consumePositionals(startIndex); - // only try to parse the next optional if we didn't consume - // the option string during the positionals parsing - if (positionalsEndIndex > startIndex) { - startIndex = positionalsEndIndex; - continue; - } - else { - startIndex = positionalsEndIndex; - } - } - - // if we consumed all the positionals we could and we're not - // at the index of an option string, there were extra arguments - if (!optionStringIndices[startIndex]) { - var strings = argStrings.slice(startIndex, nextOptionStringIndex); - extras = extras.concat(strings); - startIndex = nextOptionStringIndex; - } - // consume the next optional and any arguments for it - startIndex = consumeOptional(startIndex); - } - - // consume any positionals following the last Optional - var stopIndex = consumePositionals(startIndex); - - // if we didn't consume all the argument strings, there were extras - extras = extras.concat(_.rest(argStrings, stopIndex)); - - // if we didn't use all the Positional objects, there were too few - // arg strings supplied. - if (positionals.length > 0) { - self.error('too few arguments'); - } - - // make sure all required actions were present - self._actions.forEach(function (action) { - if (action.required) { - if (_.indexOf(seenActions, action) < 0) { - self.error(format('Argument "%s" is required', action.getName())); - } - } - }); - - // make sure all required groups have one option present - var actionUsed = false; - self._mutuallyExclusiveGroups.forEach(function (group) { - if (group.required) { - actionUsed = _.any(group._groupActions, function (action) { - return _.contains(seenNonDefaultActions, action); - }); - - // if no actions were used, report the error - if (!actionUsed) { - var names = []; - group._groupActions.forEach(function (action) { - if (action.help !== $$.SUPPRESS) { - names.push(action.getName()); - } - }); - names = names.join(' '); - var msg = 'one of the arguments ' + names + ' is required'; - self.error(msg); - } - } - }); - - // return the updated namespace and the extra arguments - return [namespace, extras]; -}; - -ArgumentParser.prototype._readArgsFromFiles = function (argStrings) { - // expand arguments referencing files - var _this = this; - var fs = require('fs'); - var newArgStrings = []; - argStrings.forEach(function (argString) { - if (_this.fromfilePrefixChars.indexOf(argString[0]) < 0) { - // for regular arguments, just add them back into the list - newArgStrings.push(argString); - } else { - // replace arguments referencing files with the file content - try { - var argstrs = []; - var filename = argString.slice(1); - var content = fs.readFileSync(filename, 'utf8'); - content = content.trim().split('\n'); - content.forEach(function (argLine) { - _this.convertArgLineToArgs(argLine).forEach(function (arg) { - argstrs.push(arg); - }); - argstrs = _this._readArgsFromFiles(argstrs); - }); - newArgStrings.push.apply(newArgStrings, argstrs); - } catch (error) { - return _this.error(error.message); - } - } - }); - return newArgStrings; -}; - -ArgumentParser.prototype.convertArgLineToArgs = function (argLine) { - return [argLine]; -}; - -ArgumentParser.prototype._matchArgument = function (action, regexpArgStrings) { - - // match the pattern for this action to the arg strings - var regexpNargs = new RegExp('^' + this._getNargsPattern(action)); - var matches = regexpArgStrings.match(regexpNargs); - var message; - - // throw an exception if we weren't able to find a match - if (!matches) { - switch (action.nargs) { - case undefined: - case null: - message = 'Expected one argument.'; - break; - case $$.OPTIONAL: - message = 'Expected at most one argument.'; - break; - case $$.ONE_OR_MORE: - message = 'Expected at least one argument.'; - break; - default: - message = 'Expected %s argument(s)'; - } - - throw argumentErrorHelper( - action, - format(message, action.nargs) - ); - } - // return the number of arguments matched - return matches[1].length; -}; - -ArgumentParser.prototype._matchArgumentsPartial = function (actions, regexpArgStrings) { - // progressively shorten the actions list by slicing off the - // final actions until we find a match - var self = this; - var result = []; - var actionSlice, pattern, matches; - var i, j; - - var getLength = function (string) { - return string.length; - }; - - for (i = actions.length; i > 0; i -= 1) { - pattern = ''; - actionSlice = actions.slice(0, i); - for (j in actionSlice) { - pattern += self._getNargsPattern(actionSlice[j]); - } - - pattern = new RegExp('^' + pattern); - matches = regexpArgStrings.match(pattern); - - if (matches && matches.length > 0) { - // need only groups - matches = matches.splice(1); - result = result.concat(matches.map(getLength)); - break; - } - } - - // return the list of arg string counts - return result; -}; - -ArgumentParser.prototype._parseOptional = function (argString) { - var action, optionString, argExplicit, optionTuples; - - // if it's an empty string, it was meant to be a positional - if (!argString) { - return null; - } - - // if it doesn't start with a prefix, it was meant to be positional - if (this.prefixChars.indexOf(argString[0]) < 0) { - return null; - } - - // if the option string is present in the parser, return the action - if (!!this._optionStringActions[argString]) { - return [this._optionStringActions[argString], argString, null]; - } - - // if it's just a single character, it was meant to be positional - if (argString.length === 1) { - return null; - } - - // if the option string before the "=" is present, return the action - if (argString.indexOf('=') >= 0) { - var argStringSplit = argString.split('='); - optionString = argStringSplit[0]; - argExplicit = argStringSplit[1]; - - if (!!this._optionStringActions[optionString]) { - action = this._optionStringActions[optionString]; - return [action, optionString, argExplicit]; - } - } - - // search through all possible prefixes of the option string - // and all actions in the parser for possible interpretations - optionTuples = this._getOptionTuples(argString); - - // if multiple actions match, the option string was ambiguous - if (optionTuples.length > 1) { - var optionStrings = optionTuples.map(function (optionTuple) { - return optionTuple[1]; - }); - this.error(format( - 'Ambiguous option: "%s" could match %s.', - argString, optionStrings.join(', ') - )); - // if exactly one action matched, this segmentation is good, - // so return the parsed action - } else if (optionTuples.length === 1) { - return optionTuples[0]; - } - - // if it was not found as an option, but it looks like a negative - // number, it was meant to be positional - // unless there are negative-number-like options - if (argString.match(this._regexpNegativeNumber)) { - if (!_.any(this._hasNegativeNumberOptionals)) { - return null; - } - } - // if it contains a space, it was meant to be a positional - if (argString.search(' ') >= 0) { - return null; - } - - // it was meant to be an optional but there is no such option - // in this parser (though it might be a valid option in a subparser) - return [null, argString, null]; -}; - -ArgumentParser.prototype._getOptionTuples = function (optionString) { - var result = []; - var chars = this.prefixChars; - var optionPrefix; - var argExplicit; - var action; - var actionOptionString; - - // option strings starting with two prefix characters are only split at - // the '=' - if (chars.indexOf(optionString[0]) >= 0 && chars.indexOf(optionString[1]) >= 0) { - if (optionString.indexOf('=') >= 0) { - var optionStringSplit = optionString.split('=', 1); - - optionPrefix = optionStringSplit[0]; - argExplicit = optionStringSplit[1]; - } else { - optionPrefix = optionString; - argExplicit = null; - } - - for (actionOptionString in this._optionStringActions) { - if (actionOptionString.substr(0, optionPrefix.length) === optionPrefix) { - action = this._optionStringActions[actionOptionString]; - result.push([action, actionOptionString, argExplicit]); - } - } - - // single character options can be concatenated with their arguments - // but multiple character options always have to have their argument - // separate - } else if (chars.indexOf(optionString[0]) >= 0 && chars.indexOf(optionString[1]) < 0) { - optionPrefix = optionString; - argExplicit = null; - var optionPrefixShort = optionString.substr(0, 2); - var argExplicitShort = optionString.substr(2); - - for (actionOptionString in this._optionStringActions) { - action = this._optionStringActions[actionOptionString]; - if (actionOptionString === optionPrefixShort) { - result.push([action, actionOptionString, argExplicitShort]); - } else if (actionOptionString.substr(0, optionPrefix.length) === optionPrefix) { - result.push([action, actionOptionString, argExplicit]); - } - } - - // shouldn't ever get here - } else { - throw new Error(format('Unexpected option string: %s.', optionString)); - } - // return the collected option tuples - return result; -}; - -ArgumentParser.prototype._getNargsPattern = function (action) { - // in all examples below, we have to allow for '--' args - // which are represented as '-' in the pattern - var regexpNargs; - - switch (action.nargs) { - // the default (null) is assumed to be a single argument - case undefined: - case null: - regexpNargs = '(-*A-*)'; - break; - // allow zero or more arguments - case $$.OPTIONAL: - regexpNargs = '(-*A?-*)'; - break; - // allow zero or more arguments - case $$.ZERO_OR_MORE: - regexpNargs = '(-*[A-]*)'; - break; - // allow one or more arguments - case $$.ONE_OR_MORE: - regexpNargs = '(-*A[A-]*)'; - break; - // allow any number of options or arguments - case $$.REMAINDER: - regexpNargs = '([-AO]*)'; - break; - // allow one argument followed by any number of options or arguments - case $$.PARSER: - regexpNargs = '(-*A[-AO]*)'; - break; - // all others should be integers - default: - regexpNargs = '(-*' + _.str.repeat('-*A', action.nargs) + '-*)'; - } - - // if this is an optional action, -- is not allowed - if (action.isOptional()) { - regexpNargs = regexpNargs.replace(/-\*/g, ''); - regexpNargs = regexpNargs.replace(/-/g, ''); - } - - // return the pattern - return regexpNargs; -}; - -// -// Value conversion methods -// - -ArgumentParser.prototype._getValues = function (action, argStrings) { - var self = this; - - // for everything but PARSER args, strip out '--' - if (action.nargs !== $$.PARSER && action.nargs !== $$.REMAINDER) { - argStrings = argStrings.filter(function (arrayElement) { - return arrayElement !== '--'; - }); - } - - var value, argString; - - // optional argument produces a default when not present - if (argStrings.length === 0 && action.nargs === $$.OPTIONAL) { - - value = (action.isOptional()) ? action.constant: action.defaultValue; - - if (typeof(value) === 'string') { - value = this._getValue(action, value); - this._checkValue(action, value); - } - - // when nargs='*' on a positional, if there were no command-line - // args, use the default if it is anything other than None - } else if (argStrings.length === 0 && action.nargs === $$.ZERO_OR_MORE && - action.optionStrings.length === 0) { - - value = (action.defaultValue || argStrings); - this._checkValue(action, value); - - // single argument or optional argument produces a single value - } else if (argStrings.length === 1 && - (!action.nargs || action.nargs === $$.OPTIONAL)) { - - argString = argStrings[0]; - value = this._getValue(action, argString); - this._checkValue(action, value); - - // REMAINDER arguments convert all values, checking none - } else if (action.nargs === $$.REMAINDER) { - value = argStrings.map(function (v) { - return self._getValue(action, v); - }); - - // PARSER arguments convert all values, but check only the first - } else if (action.nargs === $$.PARSER) { - value = argStrings.map(function (v) { - return self._getValue(action, v); - }); - this._checkValue(action, value[0]); - - // all other types of nargs produce a list - } else { - value = argStrings.map(function (v) { - return self._getValue(action, v); - }); - value.forEach(function (v) { - self._checkValue(action, v); - }); - } - - // return the converted value - return value; -}; - -ArgumentParser.prototype._getValue = function (action, argString) { - var result; - - var typeFunction = this._registryGet('type', action.type, action.type); - if (!_.isFunction(typeFunction)) { - var message = format('%s is not callable', typeFunction); - throw argumentErrorHelper(action, message); - } - - // convert the value to the appropriate type - try { - result = typeFunction(argString); - - // ArgumentTypeErrors indicate errors - // If action.type is not a registered string, it is a function - // Try to deduce its name for inclusion in the error message - // Failing that, include the error message it raised. - } catch (e) { - var name = null; - if (_.isString(action.type)) { - name = action.type; - } else { - name = action.type.name || action.type.displayName || ''; - } - var msg = format('Invalid %s value: %s', name, argString); - if (name === '') {msg += '\n' + e.message; } - throw argumentErrorHelper(action, msg); - } - // return the converted value - return result; -}; - -ArgumentParser.prototype._checkValue = function (action, value) { - // converted value must be one of the choices (if specified) - var choices = action.choices; - if (!!choices) { - // choise for argument can by array or string - if ((_.isString(choices) || _.isArray(choices)) && - choices.indexOf(value) !== -1) { - return; - } - // choise for subparsers can by only hash - if (_.isObject(choices) && !_.isArray(choices) && choices[value]) { - return; - } - - if (_.isString(choices)) { - choices = choices.split('').join(', '); - } - else if (_.isArray(choices)) { - choices = choices.join(', '); - } - else { - choices = _.keys(choices).join(', '); - } - var message = format('Invalid choice: %s (choose from [%s])', value, choices); - throw argumentErrorHelper(action, message); - } -}; - -// -// Help formatting methods -// - -/** - * ArgumentParser#formatUsage -> string - * - * Return usage string - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#printing-help - **/ -ArgumentParser.prototype.formatUsage = function () { - var formatter = this._getFormatter(); - formatter.addUsage(this.usage, this._actions, this._mutuallyExclusiveGroups); - return formatter.formatHelp(); -}; - -/** - * ArgumentParser#formatHelp -> string - * - * Return help - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#printing-help - **/ -ArgumentParser.prototype.formatHelp = function () { - var formatter = this._getFormatter(); - - // usage - formatter.addUsage(this.usage, this._actions, this._mutuallyExclusiveGroups); - - // description - formatter.addText(this.description); - - // positionals, optionals and user-defined groups - this._actionGroups.forEach(function (actionGroup) { - formatter.startSection(actionGroup.title); - formatter.addText(actionGroup.description); - formatter.addArguments(actionGroup._groupActions); - formatter.endSection(); - }); - - // epilog - formatter.addText(this.epilog); - - // determine help from format above - return formatter.formatHelp(); -}; - -ArgumentParser.prototype._getFormatter = function () { - var FormatterClass = this.formatterClass; - var formatter = new FormatterClass({prog: this.prog}); - return formatter; -}; - -// -// Print functions -// - -/** - * ArgumentParser#printUsage() -> Void - * - * Print usage - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#printing-help - **/ -ArgumentParser.prototype.printUsage = function () { - this._printMessage(this.formatUsage()); -}; - -/** - * ArgumentParser#printHelp() -> Void - * - * Print help - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#printing-help - **/ -ArgumentParser.prototype.printHelp = function () { - this._printMessage(this.formatHelp()); -}; - -ArgumentParser.prototype._printMessage = function (message, stream) { - if (!stream) { - stream = process.stdout; - } - if (message) { - stream.write('' + message); - } -}; - -// -// Exit functions -// - -/** - * ArgumentParser#exit(status=0, message) -> Void - * - status (int): exit status - * - message (string): message - * - * Print message in stderr/stdout and exit program - **/ -ArgumentParser.prototype.exit = function (status, message) { - if (!!message) { - if (status === 0) { - this._printMessage(message); - } - else { - this._printMessage(message, process.stderr); - } - } - - process.exit(status); -}; - -/** - * ArgumentParser#error(message) -> Void - * - err (Error|string): message - * - * Error method Prints a usage message incorporating the message to stderr and - * exits. If you override this in a subclass, - * it should not return -- it should - * either exit or throw an exception. - * - **/ -ArgumentParser.prototype.error = function (err) { - var message; - if (err instanceof Error) { - if (this.debug === true) { - throw err; - } - message = err.message; - } - else { - message = err; - } - var msg = format('%s: error: %s', this.prog, message) + $$.EOL; - - if (this.debug === true) { - throw new Error(msg); - } - - this.printUsage(process.stderr); - - return this.exit(2, msg); -}; diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/const.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/const.js deleted file mode 100644 index de831ba4e93f..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/const.js +++ /dev/null @@ -1,18 +0,0 @@ -// -// Constants -// -module.exports.EOL = '\n'; - -module.exports.SUPPRESS = '==SUPPRESS=='; - -module.exports.OPTIONAL = '?'; - -module.exports.ZERO_OR_MORE = '*'; - -module.exports.ONE_OR_MORE = '+'; - -module.exports.PARSER = 'A...'; - -module.exports.REMAINDER = '...'; - -module.exports._UNRECOGNIZED_ARGS_ATTR = '_unrecognized_args'; diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js deleted file mode 100644 index cd2f369b6d30..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js +++ /dev/null @@ -1,88 +0,0 @@ -'use strict'; - -var util = require('util'); -var _ = require('underscore'); -_.str = require('underscore.string'); - -// Constants -var $$ = require('../const'); - -var HelpFormatter = require('./formatter.js'); - -/** - * new RawDescriptionHelpFormatter(options) - * new ArgumentParser({formatterClass: argparse.RawDescriptionHelpFormatter, ...}) - * - * Help message formatter which adds default values to argument help. - * - * Only the name of this class is considered a public API. All the methods - * provided by the class are considered an implementation detail. - **/ - -var ArgumentDefaultsHelpFormatter = function ArgumentDefaultsHelpFormatter(options) { - HelpFormatter.call(this, options); -}; - -util.inherits(ArgumentDefaultsHelpFormatter, HelpFormatter); - -ArgumentDefaultsHelpFormatter.prototype._getHelpString = function (action) { - var help = action.help; - if (action.help.indexOf('%(defaultValue)s') === -1) { - if (action.defaultValue !== $$.SUPPRESS) { - var defaulting_nargs = [$$.OPTIONAL, $$.ZERO_OR_MORE]; - if (action.isOptional() || (defaulting_nargs.indexOf(action.nargs) >= 0)) { - help += ' (default: %(defaultValue)s)'; - } - } - } - return help; -}; - -module.exports.ArgumentDefaultsHelpFormatter = ArgumentDefaultsHelpFormatter; - -/** - * new RawDescriptionHelpFormatter(options) - * new ArgumentParser({formatterClass: argparse.RawDescriptionHelpFormatter, ...}) - * - * Help message formatter which retains any formatting in descriptions. - * - * Only the name of this class is considered a public API. All the methods - * provided by the class are considered an implementation detail. - **/ - -var RawDescriptionHelpFormatter = function RawDescriptionHelpFormatter(options) { - HelpFormatter.call(this, options); -}; - -util.inherits(RawDescriptionHelpFormatter, HelpFormatter); - -RawDescriptionHelpFormatter.prototype._fillText = function (text, width, indent) { - var lines = text.split('\n'); - lines = lines.map(function (line) { - return _.str.rtrim(indent + line); - }); - return lines.join('\n'); -}; -module.exports.RawDescriptionHelpFormatter = RawDescriptionHelpFormatter; - -/** - * new RawTextHelpFormatter(options) - * new ArgumentParser({formatterClass: argparse.RawTextHelpFormatter, ...}) - * - * Help message formatter which retains formatting of all help text. - * - * Only the name of this class is considered a public API. All the methods - * provided by the class are considered an implementation detail. - **/ - -var RawTextHelpFormatter = function RawTextHelpFormatter(options) { - RawDescriptionHelpFormatter.call(this, options); -}; - -util.inherits(RawTextHelpFormatter, RawDescriptionHelpFormatter); - -RawTextHelpFormatter.prototype._splitLines = function (text) { - return text.split('\n'); -}; - -module.exports.RawTextHelpFormatter = RawTextHelpFormatter; diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js deleted file mode 100644 index 541d918b6736..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js +++ /dev/null @@ -1,803 +0,0 @@ -/** - * class HelpFormatter - * - * Formatter for generating usage messages and argument help strings. Only the - * name of this class is considered a public API. All the methods provided by - * the class are considered an implementation detail. - * - * Do not call in your code, use this class only for inherits your own forvatter - * - * ToDo add [additonal formatters][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#formatter-class - **/ -'use strict'; - -var _ = require('underscore'); -_.str = require('underscore.string'); - -// Constants -var $$ = require('../const'); - - -/*:nodoc:* internal - * new Support(parent, heding) - * - parent (object): parent section - * - heading (string): header string - * - **/ -function Section(parent, heading) { - this._parent = parent; - this._heading = heading; - this._items = []; -} - -/*:nodoc:* internal - * Section#addItem(callback) -> Void - * - callback (array): tuple with function and args - * - * Add function for single element - **/ -Section.prototype.addItem = function (callback) { - this._items.push(callback); -}; - -/*:nodoc:* internal - * Section#formatHelp(formatter) -> string - * - formatter (HelpFormatter): current formatter - * - * Form help section string - * - **/ -Section.prototype.formatHelp = function (formatter) { - var itemHelp, heading; - - // format the indented section - if (!!this._parent) { - formatter._indent(); - } - - itemHelp = this._items.map(function (item) { - var obj, func, args; - - obj = formatter; - func = item[0]; - args = item[1]; - return func.apply(obj, args); - }); - itemHelp = formatter._joinParts(itemHelp); - - if (!!this._parent) { - formatter._dedent(); - } - - // return nothing if the section was empty - if (!itemHelp) { - return ''; - } - - // add the heading if the section was non-empty - heading = ''; - if (!!this._heading && this._heading !== $$.SUPPRESS) { - var currentIndent = formatter.currentIndent; - heading = _.str.repeat(' ', currentIndent) + this._heading + ':' + $$.EOL; - } - - // join the section-initialize newline, the heading and the help - return formatter._joinParts([$$.EOL, heading, itemHelp, $$.EOL]); -}; - -/** - * new HelpFormatter(options) - * - * #### Options: - * - `prog`: program name - * - `indentIncriment`: indent step, default value 2 - * - `maxHelpPosition`: max help position, default value = 24 - * - `width`: line width - * - **/ -var HelpFormatter = module.exports = function HelpFormatter(options) { - options = options || {}; - - this._prog = options.prog; - - this._maxHelpPosition = options.maxHelpPosition || 24; - this._width = (options.width || ((process.env.COLUMNS || 80) - 2)); - - this._currentIndent = 0; - this._indentIncriment = options.indentIncriment || 2; - this._level = 0; - this._actionMaxLength = 0; - - this._rootSection = new Section(null); - this._currentSection = this._rootSection; - - this._whitespaceMatcher = new RegExp('\\s+', 'g'); - this._longBreakMatcher = new RegExp($$.EOL + $$.EOL + $$.EOL + '+', 'g'); -}; - -HelpFormatter.prototype._indent = function () { - this._currentIndent += this._indentIncriment; - this._level += 1; -}; - -HelpFormatter.prototype._dedent = function () { - this._currentIndent -= this._indentIncriment; - this._level -= 1; - if (this._currentIndent < 0) { - throw new Error('Indent decreased below 0.'); - } -}; - -HelpFormatter.prototype._addItem = function (func, args) { - this._currentSection.addItem([func, args]); -}; - -// -// Message building methods -// - -/** - * HelpFormatter#startSection(heading) -> Void - * - heading (string): header string - * - * Start new help section - * - * See alse [code example][1] - * - * ##### Example - * - * formatter.startSection(actionGroup.title); - * formatter.addText(actionGroup.description); - * formatter.addArguments(actionGroup._groupActions); - * formatter.endSection(); - * - **/ -HelpFormatter.prototype.startSection = function (heading) { - this._indent(); - var section = new Section(this._currentSection, heading); - var func = section.formatHelp.bind(section); - this._addItem(func, [this]); - this._currentSection = section; -}; - -/** - * HelpFormatter#endSection -> Void - * - * End help section - * - * ##### Example - * - * formatter.startSection(actionGroup.title); - * formatter.addText(actionGroup.description); - * formatter.addArguments(actionGroup._groupActions); - * formatter.endSection(); - **/ -HelpFormatter.prototype.endSection = function () { - this._currentSection = this._currentSection._parent; - this._dedent(); -}; - -/** - * HelpFormatter#addText(text) -> Void - * - text (string): plain text - * - * Add plain text into current section - * - * ##### Example - * - * formatter.startSection(actionGroup.title); - * formatter.addText(actionGroup.description); - * formatter.addArguments(actionGroup._groupActions); - * formatter.endSection(); - * - **/ -HelpFormatter.prototype.addText = function (text) { - if (!!text && text !== $$.SUPPRESS) { - this._addItem(this._formatText, [text]); - } -}; - -/** - * HelpFormatter#addUsage(usage, actions, groups, prefix) -> Void - * - usage (string): usage text - * - actions (array): actions list - * - groups (array): groups list - * - prefix (string): usage prefix - * - * Add usage data into current section - * - * ##### Example - * - * formatter.addUsage(this.usage, this._actions, []); - * return formatter.formatHelp(); - * - **/ -HelpFormatter.prototype.addUsage = function (usage, actions, groups, prefix) { - if (usage !== $$.SUPPRESS) { - this._addItem(this._formatUsage, [usage, actions, groups, prefix]); - } -}; - -/** - * HelpFormatter#addArgument(action) -> Void - * - action (object): action - * - * Add argument into current section - * - * Single variant of [[HelpFormatter#addArguments]] - **/ -HelpFormatter.prototype.addArgument = function (action) { - if (action.help !== $$.SUPPRESS) { - var self = this; - - // find all invocations - var invocations = [this._formatActionInvocation(action)]; - var invocationLength = invocations[0].length; - - var actionLength; - - if (!!action._getSubactions) { - this._indent(); - action._getSubactions().forEach(function (subaction) { - - var invocationNew = self._formatActionInvocation(subaction); - invocations.push(invocationNew); - invocationLength = Math.max(invocationLength, invocationNew.length); - - }); - this._dedent(); - } - - // update the maximum item length - actionLength = invocationLength + this._currentIndent; - this._actionMaxLength = Math.max(this._actionMaxLength, actionLength); - - // add the item to the list - this._addItem(this._formatAction, [action]); - } -}; - -/** - * HelpFormatter#addArguments(actions) -> Void - * - actions (array): actions list - * - * Mass add arguments into current section - * - * ##### Example - * - * formatter.startSection(actionGroup.title); - * formatter.addText(actionGroup.description); - * formatter.addArguments(actionGroup._groupActions); - * formatter.endSection(); - * - **/ -HelpFormatter.prototype.addArguments = function (actions) { - var self = this; - actions.forEach(function (action) { - self.addArgument(action); - }); -}; - -// -// Help-formatting methods -// - -/** - * HelpFormatter#formatHelp -> string - * - * Format help - * - * ##### Example - * - * formatter.addText(this.epilog); - * return formatter.formatHelp(); - * - **/ -HelpFormatter.prototype.formatHelp = function () { - var help = this._rootSection.formatHelp(this); - if (help) { - help = help.replace(this._longBreakMatcher, $$.EOL + $$.EOL); - help = _.str.strip(help, $$.EOL) + $$.EOL; - } - return help; -}; - -HelpFormatter.prototype._joinParts = function (partStrings) { - return partStrings.filter(function (part) { - return (!!part && part !== $$.SUPPRESS); - }).join(''); -}; - -HelpFormatter.prototype._formatUsage = function (usage, actions, groups, prefix) { - if (!prefix && !_.isString(prefix)) { - prefix = 'usage: '; - } - - actions = actions || []; - groups = groups || []; - - - // if usage is specified, use that - if (usage) { - usage = _.str.sprintf(usage, {prog: this._prog}); - - // if no optionals or positionals are available, usage is just prog - } else if (!usage && actions.length === 0) { - usage = this._prog; - - // if optionals and positionals are available, calculate usage - } else if (!usage) { - var prog = this._prog; - var optionals = []; - var positionals = []; - var actionUsage; - var textWidth; - - // split optionals from positionals - actions.forEach(function (action) { - if (action.isOptional()) { - optionals.push(action); - } else { - positionals.push(action); - } - }); - - // build full usage string - actionUsage = this._formatActionsUsage([].concat(optionals, positionals), groups); - usage = [prog, actionUsage].join(' '); - - // wrap the usage parts if it's too long - textWidth = this._width - this._currentIndent; - if ((prefix.length + usage.length) > textWidth) { - - // break usage into wrappable parts - var regexpPart = new RegExp('\\(.*?\\)+|\\[.*?\\]+|\\S+', 'g'); - var optionalUsage = this._formatActionsUsage(optionals, groups); - var positionalUsage = this._formatActionsUsage(positionals, groups); - - - var optionalParts = optionalUsage.match(regexpPart); - var positionalParts = positionalUsage.match(regexpPart) || []; - - if (optionalParts.join(' ') !== optionalUsage) { - throw new Error('assert "optionalParts.join(\' \') === optionalUsage"'); - } - if (positionalParts.join(' ') !== positionalUsage) { - throw new Error('assert "positionalParts.join(\' \') === positionalUsage"'); - } - - // helper for wrapping lines - var _getLines = function (parts, indent, prefix) { - var lines = []; - var line = []; - - var lineLength = !!prefix ? prefix.length - 1: indent.length - 1; - - parts.forEach(function (part) { - if (lineLength + 1 + part.length > textWidth) { - lines.push(indent + line.join(' ')); - line = []; - lineLength = indent.length - 1; - } - line.push(part); - lineLength += part.length + 1; - }); - - if (line) { - lines.push(indent + line.join(' ')); - } - if (prefix) { - lines[0] = lines[0].substr(indent.length); - } - return lines; - }; - - var lines, indent, parts; - // if prog is short, follow it with optionals or positionals - if (prefix.length + prog.length <= 0.75 * textWidth) { - indent = _.str.repeat(' ', (prefix.length + prog.length + 1)); - if (optionalParts) { - lines = [].concat( - _getLines([prog].concat(optionalParts), indent, prefix), - _getLines(positionalParts, indent) - ); - } else if (positionalParts) { - lines = _getLines([prog].concat(positionalParts), indent, prefix); - } else { - lines = [prog]; - } - - // if prog is long, put it on its own line - } else { - indent = _.str.repeat(' ', prefix.length); - parts = optionalParts + positionalParts; - lines = _getLines(parts, indent); - if (lines.length > 1) { - lines = [].concat( - _getLines(optionalParts, indent), - _getLines(positionalParts, indent) - ); - } - lines = [prog] + lines; - } - // join lines into usage - usage = lines.join($$.EOL); - } - } - - // prefix with 'usage:' - return prefix + usage + $$.EOL + $$.EOL; -}; - -HelpFormatter.prototype._formatActionsUsage = function (actions, groups) { - // find group indices and identify actions in groups - var groupActions = []; - var inserts = []; - var self = this; - - groups.forEach(function (group) { - var end; - var i; - - var start = actions.indexOf(group._groupActions[0]); - if (start >= 0) { - end = start + group._groupActions.length; - - //if (actions.slice(start, end) === group._groupActions) { - if (_.isEqual(actions.slice(start, end), group._groupActions)) { - group._groupActions.forEach(function (action) { - groupActions.push(action); - }); - - if (!group.required) { - if (!!inserts[start]) { - inserts[start] += ' ['; - } - else { - inserts[start] = '['; - } - inserts[end] = ']'; - } else { - if (!!inserts[start]) { - inserts[start] += ' ('; - } - else { - inserts[start] = '('; - } - inserts[end] = ')'; - } - for (i = start + 1; i < end; i += 1) { - inserts[i] = '|'; - } - } - } - }); - - // collect all actions format strings - var parts = []; - - actions.forEach(function (action, actionIndex) { - var part; - var optionString; - var argsDefault; - var argsString; - - // suppressed arguments are marked with None - // remove | separators for suppressed arguments - if (action.help === $$.SUPPRESS) { - parts.push(null); - if (inserts[actionIndex] === '|') { - inserts.splice(actionIndex, actionIndex); - } else if (inserts[actionIndex + 1] === '|') { - inserts.splice(actionIndex + 1, actionIndex + 1); - } - - // produce all arg strings - } else if (!action.isOptional()) { - part = self._formatArgs(action, action.dest); - - // if it's in a group, strip the outer [] - if (groupActions.indexOf(action) >= 0) { - if (part[0] === '[' && part[part.length - 1] === ']') { - part = part.slice(1, -1); - } - } - // add the action string to the list - parts.push(part); - - // produce the first way to invoke the option in brackets - } else { - optionString = action.optionStrings[0]; - - // if the Optional doesn't take a value, format is: -s or --long - if (action.nargs === 0) { - part = '' + optionString; - - // if the Optional takes a value, format is: -s ARGS or --long ARGS - } else { - argsDefault = action.dest.toUpperCase(); - argsString = self._formatArgs(action, argsDefault); - part = optionString + ' ' + argsString; - } - // make it look optional if it's not required or in a group - if (!action.required && groupActions.indexOf(action) < 0) { - part = '[' + part + ']'; - } - // add the action string to the list - parts.push(part); - } - }); - - // insert things at the necessary indices - for (var i = inserts.length - 1; i >= 0; --i) { - if (inserts[i] !== null) { - parts.splice(i, 0, inserts[i]); - } - } - - // join all the action items with spaces - var text = parts.filter(function (part) { - return !!part; - }).join(' '); - - // clean up separators for mutually exclusive groups - text = text.replace(/([\[(]) /g, '$1'); // remove spaces - text = text.replace(/ ([\])])/g, '$1'); - text = text.replace(/\[ *\]/g, ''); // remove empty groups - text = text.replace(/\( *\)/g, ''); - text = text.replace(/\(([^|]*)\)/g, '$1'); // remove () from single action groups - - text = _.str.strip(text); - - // return the text - return text; -}; - -HelpFormatter.prototype._formatText = function (text) { - text = _.str.sprintf(text, {prog: this._prog}); - var textWidth = this._width - this._currentIndent; - var indentIncriment = _.str.repeat(' ', this._currentIndent); - return this._fillText(text, textWidth, indentIncriment) + $$.EOL + $$.EOL; -}; - -HelpFormatter.prototype._formatAction = function (action) { - var self = this; - - var helpText; - var helpLines; - var parts; - var indentFirst; - - // determine the required width and the entry label - var helpPosition = Math.min(this._actionMaxLength + 2, this._maxHelpPosition); - var helpWidth = this._width - helpPosition; - var actionWidth = helpPosition - this._currentIndent - 2; - var actionHeader = this._formatActionInvocation(action); - - // no help; start on same line and add a final newline - if (!action.help) { - actionHeader = _.str.repeat(' ', this._currentIndent) + actionHeader + $$.EOL; - - // short action name; start on the same line and pad two spaces - } else if (actionHeader.length <= actionWidth) { - actionHeader = _.str.repeat(' ', this._currentIndent) + - actionHeader + - ' ' + - _.str.repeat(' ', actionWidth - actionHeader.length); - indentFirst = 0; - - // long action name; start on the next line - } else { - actionHeader = _.str.repeat(' ', this._currentIndent) + actionHeader + $$.EOL; - indentFirst = helpPosition; - } - - // collect the pieces of the action help - parts = [actionHeader]; - - // if there was help for the action, add lines of help text - if (!!action.help) { - helpText = this._expandHelp(action); - helpLines = this._splitLines(helpText, helpWidth); - parts.push(_.str.repeat(' ', indentFirst) + helpLines[0] + $$.EOL); - helpLines.slice(1).forEach(function (line) { - parts.push(_.str.repeat(' ', helpPosition) + line + $$.EOL); - }); - - // or add a newline if the description doesn't end with one - } else if (actionHeader.charAt(actionHeader.length - 1) !== $$.EOL) { - parts.push($$.EOL); - } - // if there are any sub-actions, add their help as well - if (!!action._getSubactions) { - this._indent(); - action._getSubactions().forEach(function (subaction) { - parts.push(self._formatAction(subaction)); - }); - this._dedent(); - } - // return a single string - return this._joinParts(parts); -}; - -HelpFormatter.prototype._formatActionInvocation = function (action) { - if (!action.isOptional()) { - var format_func = this._metavarFormatter(action, action.dest); - var metavars = format_func(1); - return metavars[0]; - } else { - var parts = []; - var argsDefault; - var argsString; - - // if the Optional doesn't take a value, format is: -s, --long - if (action.nargs === 0) { - parts = parts.concat(action.optionStrings); - - // if the Optional takes a value, format is: -s ARGS, --long ARGS - } else { - argsDefault = action.dest.toUpperCase(); - argsString = this._formatArgs(action, argsDefault); - action.optionStrings.forEach(function (optionString) { - parts.push(optionString + ' ' + argsString); - }); - } - return parts.join(', '); - } -}; - -HelpFormatter.prototype._metavarFormatter = function (action, metavarDefault) { - var result; - - if (!!action.metavar || action.metavar === '') { - result = action.metavar; - } else if (!!action.choices) { - var choices = action.choices; - - if (_.isString(choices)) { - choices = choices.split('').join(', '); - } else if (_.isArray(choices)) { - choices = choices.join(','); - } - else - { - choices = _.keys(choices).join(','); - } - result = '{' + choices + '}'; - } else { - result = metavarDefault; - } - - return function (size) { - if (Array.isArray(result)) { - return result; - } else { - var metavars = []; - for (var i = 0; i < size; i += 1) { - metavars.push(result); - } - return metavars; - } - }; -}; - -HelpFormatter.prototype._formatArgs = function (action, metavarDefault) { - var result; - var metavars; - - var buildMetavar = this._metavarFormatter(action, metavarDefault); - - switch (action.nargs) { - case undefined: - case null: - metavars = buildMetavar(1); - result = '' + metavars[0]; - break; - case $$.OPTIONAL: - metavars = buildMetavar(1); - result = '[' + metavars[0] + ']'; - break; - case $$.ZERO_OR_MORE: - metavars = buildMetavar(2); - result = '[' + metavars[0] + ' [' + metavars[1] + ' ...]]'; - break; - case $$.ONE_OR_MORE: - metavars = buildMetavar(2); - result = '' + metavars[0] + ' [' + metavars[1] + ' ...]'; - break; - case $$.REMAINDER: - result = '...'; - break; - case $$.PARSER: - metavars = buildMetavar(1); - result = metavars[0] + ' ...'; - break; - default: - metavars = buildMetavar(action.nargs); - result = metavars.join(' '); - } - return result; -}; - -HelpFormatter.prototype._expandHelp = function (action) { - var actionProperty; - var actionValue; - - var params = {prog: this._prog}; - - for (actionProperty in action) { - if (action.hasOwnProperty(actionProperty)) { - actionValue = action[actionProperty]; - - if (actionValue !== $$.SUPPRESS) { - params[actionProperty] = actionValue; - } - } - } - - if (!!params.choices) { - if (_.isString(params.choices)) { - params.choices = params.choices.split('').join(', '); - } - else if (_.isArray(params.choices)) { - params.choices = params.choices.join(', '); - } - else { - params.choices = _.keys(params.choices).join(', '); - } - } - - return _.str.sprintf(this._getHelpString(action), params); -}; - -HelpFormatter.prototype._splitLines = function (text, width) { - var lines = []; - var delimiters = [" ", ".", ",", "!", "?"]; - var re = new RegExp('[' + delimiters.join('') + '][^' + delimiters.join('') + ']*$'); - - text = text.replace(/[\n\|\t]/g, ' '); - - text = _.str.strip(text); - text = text.replace(this._whitespaceMatcher, ' '); - - // Wraps the single paragraph in text (a string) so every line - // is at most width characters long. - text.split($$.EOL).forEach(function (line) { - if (width >= line.length) { - lines.push(line); - return; - } - - var wrapStart = 0; - var wrapEnd = width; - var delimiterIndex = 0; - while (wrapEnd <= line.length) { - if (wrapEnd !== line.length && delimiters.indexOf(line[wrapEnd] < -1)) { - delimiterIndex = (re.exec(line.substring(wrapStart, wrapEnd)) || {}).index; - wrapEnd = wrapStart + delimiterIndex + 1; - } - lines.push(line.substring(wrapStart, wrapEnd)); - wrapStart = wrapEnd; - wrapEnd += width; - } - if (wrapStart < line.length) { - lines.push(line.substring(wrapStart, wrapEnd)); - } - }); - - return lines; -}; - -HelpFormatter.prototype._fillText = function (text, width, indent) { - var lines = this._splitLines(text, width); - lines = lines.map(function (line) { - return indent + line; - }); - return lines.join($$.EOL); -}; - -HelpFormatter.prototype._getHelpString = function (action) { - return action.help; -}; diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/namespace.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/namespace.js deleted file mode 100644 index 3546f2daf63d..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/namespace.js +++ /dev/null @@ -1,77 +0,0 @@ -/** - * class Namespace - * - * Simple object for storing attributes. Implements equality by attribute names - * and values, and provides a simple string representation. - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#the-namespace-object - **/ -'use strict'; - -var _ = require('underscore'); - -/** - * new Namespace(options) - * - options(object): predefined propertis for result object - * - **/ -var Namespace = module.exports = function Namespace(options) { - _.extend(this, options); -}; - -/** - * Namespace#isset(key) -> Boolean - * - key (string|number): property name - * - * Tells whenever `namespace` contains given `key` or not. - **/ -Namespace.prototype.isset = function (key) { - return _.has(this, key); -}; - -/** - * Namespace#set(key, value) -> self - * -key (string|number|object): propery name - * -value (mixed): new property value - * - * Set the property named key with value. - * If key object then set all key properties to namespace object - **/ -Namespace.prototype.set = function (key, value) { - if (typeof (key) === 'object') { - _.extend(this, key); - } else { - this[key] = value; - } - return this; -}; - -/** - * Namespace#get(key, defaultValue) -> mixed - * - key (string|number): property name - * - defaultValue (mixed): default value - * - * Return the property key or defaulValue if not set - **/ -Namespace.prototype.get = function (key, defaultValue) { - return !this[key] ? defaultValue: this[key]; -}; - -/** - * Namespace#unset(key, defaultValue) -> mixed - * - key (string|number): property name - * - defaultValue (mixed): default value - * - * Return data[key](and delete it) or defaultValue - **/ -Namespace.prototype.unset = function (key, defaultValue) { - var value = this[key]; - if (value !== null) { - delete this[key]; - return value; - } else { - return defaultValue; - } -}; diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml deleted file mode 100644 index ab27b29b7188..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -language: ruby -rvm: - - 1.9.3 - -before_script: - - "export DISPLAY=:99.0" - - "sh -e /etc/init.d/xvfb start" - - sleep 2 \ No newline at end of file diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile deleted file mode 100644 index aed29c3ca3dd..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem 'uglifier' -gem 'rake' diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile.lock b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile.lock deleted file mode 100644 index 2c52be466972..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile.lock +++ /dev/null @@ -1,17 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - execjs (1.4.0) - multi_json (~> 1.0) - multi_json (1.3.6) - rake (0.9.2.2) - uglifier (1.3.0) - execjs (>= 0.3.0) - multi_json (~> 1.0, >= 1.0.2) - -PLATFORMS - ruby - -DEPENDENCIES - rake - uglifier diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown deleted file mode 100644 index 1a39ad965b46..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown +++ /dev/null @@ -1,814 +0,0 @@ -# Underscore.string [![Build Status](https://secure.travis-ci.org/epeli/underscore.string.png?branch=master)](http://travis-ci.org/epeli/underscore.string) # - - - -Javascript lacks complete string manipulation operations. -This an attempt to fill that gap. List of build-in methods can be found -for example from [Dive Into JavaScript][d]. - -[d]: http://www.diveintojavascript.com/core-javascript-reference/the-string-object - - -As name states this an extension for [Underscore.js][u], but it can be used -independently from **_s**-global variable. But with Underscore.js you can -use Object-Oriented style and chaining: - -[u]: http://documentcloud.github.com/underscore/ - -```javascript -_(" epeli ").chain().trim().capitalize().value() -=> "Epeli" -``` - -## Download ## - - * [Development version](https://raw.github.com/epeli/underscore.string/master/lib/underscore.string.js) *Uncompressed with Comments 18kb* - * [Production version](https://github.com/epeli/underscore.string/raw/master/dist/underscore.string.min.js) *Minified 7kb* - - -## Node.js installation ## - -**npm package** - - npm install underscore.string - -**Standalone usage**: - -```javascript -var _s = require('underscore.string'); -``` - -**Integrate with Underscore.js**: - -```javascript -var _ = require('underscore'); - -// Import Underscore.string to separate object, because there are conflict functions (include, reverse, contains) -_.str = require('underscore.string'); - -// Mix in non-conflict functions to Underscore namespace if you want -_.mixin(_.str.exports()); - -// All functions, include conflict, will be available through _.str object -_.str.include('Underscore.string', 'string'); // => true -``` - -**Or Integrate with Underscore.js without module loading** - -Run the following expression after Underscore.js and Underscore.string are loaded -```javascript -// _.str becomes a global variable if no module loading is detected -// Mix in non-conflict functions to Underscore namespace -_.mixin(_.str.exports()); -``` - -## String Functions ## - -For availability of functions in this way you need to mix in Underscore.string functions: - -```javascript -_.mixin(_.string.exports()); -``` - -otherwise functions from examples will be available through _.string or _.str objects: - -```javascript -_.str.capitalize('epeli') -=> "Epeli" -``` - -**numberFormat** _.numberFormat(number, [ decimals=0, decimalSeparator='.', orderSeparator=',']) - -Formats the numbers. - -```javascript -_.numberFormat(1000, 2) -=> "1,000.00" - -_.numberFormat(123456789.123, 5, '.', ',') -=> "123,456,789.12300" -``` - - -**levenshtein** _.levenshtein(string1, string2) - -Calculates [Levenshtein distance][ld] between two strings. -[ld]: http://en.wikipedia.org/wiki/Levenshtein_distance - -```javascript -_.levenshtein('kitten', 'kittah') -=> 2 -``` - -**capitalize** _.capitalize(string) - -Converts first letter of the string to uppercase. - -```javascript -_.capitalize("foo Bar") -=> "Foo Bar" -``` - -**chop** _.chop(string, step) - -```javascript -_.chop('whitespace', 3) -=> ['whi','tes','pac','e'] -``` - -**clean** _.clean(str) - -Compress some whitespaces to one. - -```javascript -_.clean(" foo bar ") -=> 'foo bar' -``` - -**chars** _.chars(str) - -```javascript -_.chars('Hello') -=> ['H','e','l','l','o'] -``` - -**swapCase** _.swapCase(str) - -Returns a copy of the string in which all the case-based characters have had their case swapped. - -```javascript -_.swapCase('hELLO') -=> 'Hello' -``` - -**include** available only through _.str object, because Underscore has function with the same name. - -```javascript -_.str.include("foobar", "ob") -=> true -``` - -(removed) **includes** _.includes(string, substring) - -Tests if string contains a substring. - -```javascript -_.includes("foobar", "ob") -=> true -``` - -**includes** function was removed - -But you can create it in this way, for compatibility with previous versions: - -```javascript -_.includes = _.str.include -``` - -**count** _.count(string, substring) - -```javascript -_('Hello world').count('l') -=> 3 -``` - -**escapeHTML** _.escapeHTML(string) - -Converts HTML special characters to their entity equivalents. - -```javascript -_('
Blah blah blah
').escapeHTML(); -=> '<div>Blah blah blah</div>' -``` - -**unescapeHTML** _.unescapeHTML(string) - -Converts entity characters to HTML equivalents. - -```javascript -_('<div>Blah blah blah</div>').unescapeHTML(); -=> '
Blah blah blah
' -``` - -**insert** _.insert(string, index, substing) - -```javascript -_('Hello ').insert(6, 'world') -=> 'Hello world' -``` - -**isBlank** _.isBlank(string) - -```javascript -_('').isBlank(); // => true -_('\n').isBlank(); // => true -_(' ').isBlank(); // => true -_('a').isBlank(); // => false -``` - -**join** _.join(separator, *strings) - -Joins strings together with given separator - -```javascript -_.join(" ", "foo", "bar") -=> "foo bar" -``` - -**lines** _.lines(str) - -```javascript -_.lines("Hello\nWorld") -=> ["Hello", "World"] -``` - -**reverse** available only through _.str object, because Underscore has function with the same name. - -Return reversed string: - -```javascript -_.str.reverse("foobar") -=> 'raboof' -``` - -**splice** _.splice(string, index, howmany, substring) - -Like a array splice. - -```javascript -_('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli') -=> 'https://edtsech@bitbucket.org/epeli/underscore.strings' -``` - -**startsWith** _.startsWith(string, starts) - -This method checks whether string starts with starts. - -```javascript -_("image.gif").startsWith("image") -=> true -``` - -**endsWith** _.endsWith(string, ends) - -This method checks whether string ends with ends. - -```javascript -_("image.gif").endsWith("gif") -=> true -``` - -**succ** _.succ(str) - -Returns the successor to str. - -```javascript -_('a').succ() -=> 'b' - -_('A').succ() -=> 'B' -``` - -**supplant** - -Supplant function was removed, use Underscore.js [template function][p]. - -[p]: http://documentcloud.github.com/underscore/#template - -**strip** alias for *trim* - -**lstrip** alias for *ltrim* - -**rstrip** alias for *rtrim* - -**titleize** _.titleize(string) - -```javascript -_('my name is epeli').titleize() -=> 'My Name Is Epeli' -``` - -**camelize** _.camelize(string) - -Converts underscored or dasherized string to a camelized one - -```javascript -_('-moz-transform').camelize() -=> 'MozTransform' -``` - -**classify** _.classify(string) - -Converts string to camelized class name - -```javascript -_('some_class_name').classify() -=> 'SomeClassName' -``` - -**underscored** _.underscored(string) - -Converts a camelized or dasherized string into an underscored one - -```javascript -_('MozTransform').underscored() -=> 'moz_transform' -``` - -**dasherize** _.dasherize(string) - -Converts a underscored or camelized string into an dasherized one - -```javascript -_('MozTransform').dasherize() -=> '-moz-transform' -``` - -**humanize** _.humanize(string) - -Converts an underscored, camelized, or dasherized string into a humanized one. -Also removes beginning and ending whitespace, and removes the postfix '_id'. - -```javascript -_(' capitalize dash-CamelCase_underscore trim ').humanize() -=> 'Capitalize dash camel case underscore trim' -``` - -**trim** _.trim(string, [characters]) - -trims defined characters from begining and ending of the string. -Defaults to whitespace characters. - -```javascript -_.trim(" foobar ") -=> "foobar" - -_.trim("_-foobar-_", "_-") -=> "foobar" -``` - - -**ltrim** _.ltrim(string, [characters]) - -Left trim. Similar to trim, but only for left side. - - -**rtrim** _.rtrim(string, [characters]) - -Right trim. Similar to trim, but only for right side. - -**truncate** _.truncate(string, length, truncateString) - -```javascript -_('Hello world').truncate(5) -=> 'Hello...' - -_('Hello').truncate(10) -=> 'Hello' -``` - -**prune** _.prune(string, length, pruneString) - -Elegant version of truncate. -Makes sure the pruned string does not exceed the original length. -Avoid half-chopped words when truncating. - -```javascript -_('Hello, world').prune(5) -=> 'Hello...' - -_('Hello, world').prune(8) -=> 'Hello...' - -_('Hello, world').prune(5, ' (read a lot more)') -=> 'Hello, world' (as adding "(read a lot more)" would be longer than the original string) - -_('Hello, cruel world').prune(15) -=> 'Hello, cruel...' - -_('Hello').prune(10) -=> 'Hello' -``` - -**words** _.words(str, delimiter=/\s+/) - -Split string by delimiter (String or RegExp), /\s+/ by default. - -```javascript -_.words(" I love you ") -=> ["I","love","you"] - -_.words("I_love_you", "_") -=> ["I","love","you"] - -_.words("I-love-you", /-/) -=> ["I","love","you"] - -_.words(" ") -=> [] -``` - -**sprintf** _.sprintf(string format, *arguments) - -C like string formatting. -Credits goes to [Alexandru Marasteanu][o]. -For more detailed documentation, see the [original page][o]. - -[o]: http://www.diveintojavascript.com/projects/sprintf-for-javascript - -```javascript -_.sprintf("%.1f", 1.17) -"1.2" -``` - -**pad** _.pad(str, length, [padStr, type]) - -pads the `str` with characters until the total string length is equal to the passed `length` parameter. By default, pads on the **left** with the space char (`" "`). `padStr` is truncated to a single character if necessary. - -```javascript -_.pad("1", 8) --> " 1"; - -_.pad("1", 8, '0') --> "00000001"; - -_.pad("1", 8, '0', 'right') --> "10000000"; - -_.pad("1", 8, '0', 'both') --> "00001000"; - -_.pad("1", 8, 'bleepblorp', 'both') --> "bbbb1bbb"; -``` - -**lpad** _.lpad(str, length, [padStr]) - -left-pad a string. Alias for `pad(str, length, padStr, 'left')` - -```javascript -_.lpad("1", 8, '0') --> "00000001"; -``` - -**rpad** _.rpad(str, length, [padStr]) - -right-pad a string. Alias for `pad(str, length, padStr, 'right')` - -```javascript -_.rpad("1", 8, '0') --> "10000000"; -``` - -**lrpad** _.lrpad(str, length, [padStr]) - -left/right-pad a string. Alias for `pad(str, length, padStr, 'both')` - -```javascript -_.lrpad("1", 8, '0') --> "00001000"; -``` - -**center** alias for **lrpad** - -**ljust** alias for *rpad* - -**rjust** alias for *lpad* - -**toNumber** _.toNumber(string, [decimals]) - -Parse string to number. Returns NaN if string can't be parsed to number. - -```javascript -_('2.556').toNumber() -=> 3 - -_('2.556').toNumber(1) -=> 2.6 -``` - -**strRight** _.strRight(string, pattern) - -Searches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found. - -```javascript -_('This_is_a_test_string').strRight('_') -=> "is_a_test_string"; -``` - -**strRightBack** _.strRightBack(string, pattern) - -Searches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found. - -```javascript -_('This_is_a_test_string').strRightBack('_') -=> "string"; -``` - -**strLeft** _.strLeft(string, pattern) - -Searches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found. - -```javascript -_('This_is_a_test_string').strLeft('_') -=> "This"; -``` - -**strLeftBack** _.strLeftBack(string, pattern) - -Searches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found. - -```javascript -_('This_is_a_test_string').strLeftBack('_') -=> "This_is_a_test"; -``` - -**stripTags** - -Removes all html tags from string. - -```javascript -_('a link').stripTags() -=> 'a link' - -_('a link').stripTags() -=> 'a linkalert("hello world!")' -``` - -**toSentence** _.toSentence(array, [delimiter, lastDelimiter]) - -Join an array into a human readable sentence. - -```javascript -_.toSentence(['jQuery', 'Mootools', 'Prototype']) -=> 'jQuery, Mootools and Prototype'; - -_.toSentence(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt ') -=> 'jQuery, Mootools unt Prototype'; -``` - -**toSentenceSerial** _.toSentenceSerial(array, [delimiter, lastDelimiter]) - -The same as `toSentence`, but adjusts delimeters to use [Serial comma](http://en.wikipedia.org/wiki/Serial_comma). - -```javascript -_.toSentenceSerial(['jQuery', 'Mootools']) -=> 'jQuery and Mootools'; - -_.toSentenceSerial(['jQuery', 'Mootools', 'Prototype']) -=> 'jQuery, Mootools, and Prototype' - -_.toSentenceSerial(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt '); -=> 'jQuery, Mootools, unt Prototype'; -``` - -**repeat** _.repeat(string, count, [separator]) - -Repeats a string count times. - -```javascript -_.repeat("foo", 3) -=> 'foofoofoo'; - -_.repeat("foo", 3, "bar") -=> 'foobarfoobarfoo' -``` - -**surround** _.surround(string, wrap) - -Surround a string with another string. - -```javascript -_.surround("foo", "ab") -=> 'abfooab'; -``` - -**quote** _.quote(string, quoteChar) or _.q(string, quoteChar) - -Quotes a string. `quoteChar` defaults to `"`. - -```javascript -_.quote('foo', quoteChar) -=> '"foo"'; -``` -**unquote** _.unquote(string, quoteChar) - -Unquotes a string. `quoteChar` defaults to `"`. - -```javascript -_.unquote('"foo"') -=> 'foo'; -_.unquote("'foo'", "'") -=> 'foo'; -``` - - -**slugify** _.slugify(string) - -Transform text into a URL slug. Replaces whitespaces, accentuated, and special characters with a dash. - -```javascript -_.slugify("Un éléphant à l'orée du bois") -=> 'un-elephant-a-loree-du-bois'; -``` - -***Caution: this function is charset dependent*** - -**naturalCmp** array.sort(_.naturalCmp) - -Naturally sort strings like humans would do. - -```javascript -['foo20', 'foo5'].sort(_.naturalCmp) -=> [ 'foo5', 'foo20' ] -``` - -**toBoolean** _.toBoolean(string) or _.toBool(string) - -Turn strings that can be commonly considered as booleas to real booleans. Such as "true", "false", "1" and "0". This function is case insensitive. - -```javascript -_.toBoolean("true") -=> true -_.toBoolean("FALSE") -=> false -_.toBoolean("random") -=> undefined -``` - -It can be customized by giving arrays of truth and falsy value matcher as parameters. Matchers can be also RegExp objects. - -```javascript -_.toBoolean("truthy", ["truthy"], ["falsy"]) -=> true -_.toBoolean("true only at start", [/^true/]) -=> true -``` - -## Roadmap ## - -Any suggestions or bug reports are welcome. Just email me or more preferably open an issue. - -#### Problems - -We lose two things for `include` and `reverse` methods from `_.string`: - -* Calls like `_('foobar').include('bar')` aren't available; -* Chaining isn't available too. - -But if you need this functionality you can create aliases for conflict functions which will be convenient for you: - -```javascript -_.mixin({ - includeString: _.str.include, - reverseString: _.str.reverse -}) - -// Now wrapper calls and chaining are available. -_('foobar').chain().reverseString().includeString('rab').value() -``` - -#### Standalone Usage - -If you are using Underscore.string without Underscore. You also have `_.string` namespace for it and `_.str` alias -But of course you can just reassign `_` variable with `_.string` - -```javascript -_ = _.string -``` - -## Changelog ## - -### 2.3.3 ### - -* Add `toBoolean` -* Add `unquote` -* Add quote char option to `quote` -* Support dash-separated words in `titleize` - -### 2.3.2 ### - -* Add `naturalCmp` -* Bug fix to `camelize` -* Add ă, ș, ț and ś to `slugify` -* Doc updates -* Add support for [component](http://component.io/) -* [Full changelog](https://github.com/epeli/underscore.string/compare/v2.3.1...v2.3.2) - -### 2.3.1 ### - -* Bug fixes to `escapeHTML`, `classify`, `substr` -* Faster `count` -* Documentation fixes -* [Full changelog](https://github.com/epeli/underscore.string/compare/v2.3.0...v2.3.1) - -### 2.3.0 ### - -* Added `numberformat` method -* Added `levenshtein` method (Levenshtein distance calculation) -* Added `swapCase` method -* Changed default behavior of `words` method -* Added `toSentenceSerial` method -* Added `surround` and `quote` methods - -### 2.2.1 ### - -* Same as 2.2.0 (2.2.0rc on npm) to fix some npm drama - -### 2.2.0 ### - -* Capitalize method behavior changed -* Various perfomance tweaks - -### 2.1.1### - -* Fixed words method bug -* Added classify method - -### 2.1.0 ### - -* AMD support -* Added toSentence method -* Added slugify method -* Lots of speed optimizations - -### 2.0.0 ### - -* Added prune, humanize functions -* Added _.string (_.str) namespace for Underscore.string library -* Removed includes function - -For upgrading to this version you need to mix in Underscore.string library to Underscore object: - -```javascript -_.mixin(_.string.exports()); -``` - -and all non-conflict Underscore.string functions will be available through Underscore object. -Also function `includes` has been removed, you should replace this function by `_.str.include` -or create alias `_.includes = _.str.include` and all your code will work fine. - -### 1.1.6 ### - -* Fixed reverse and truncate -* Added isBlank, stripTags, inlude(alias for includes) -* Added uglifier compression - -### 1.1.5 ### - -* Added strRight, strRightBack, strLeft, strLeftBack - -### 1.1.4 ### - -* Added pad, lpad, rpad, lrpad methods and aliases center, ljust, rjust -* Integration with Underscore 1.1.6 - -### 1.1.3 ### - -* Added methods: underscored, camelize, dasherize -* Support newer version of npm - -### 1.1.2 ### - -* Created functions: lines, chars, words functions - -### 1.0.2 ### - -* Created integration test suite with underscore.js 1.1.4 (now it's absolutely compatible) -* Removed 'reverse' function, because this function override underscore.js 'reverse' - -## Contribute ## - -* Fork & pull request. Don't forget about tests. -* If you planning add some feature please create issue before. - -Otherwise changes will be rejected. - -## Contributors list ## -[Can be found here](https://github.com/epeli/underscore.string/graphs/contributors). - - -## Licence ## - -The MIT License - -Copyright (c) 2011 Esa-Matti Suuronen esa-matti@suuronen.org - -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. diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Rakefile b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Rakefile deleted file mode 100644 index 2cd9eed9738d..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Rakefile +++ /dev/null @@ -1,23 +0,0 @@ -# encoding: utf-8 -task default: :test - -desc 'Use UglifyJS to compress Underscore.string' -task :build do - require 'uglifier' - source = File.read('lib/underscore.string.js', :encoding => 'utf-8') - compressed = Uglifier.compile(source, copyright: false) - File.open('dist/underscore.string.min.js', 'w'){ |f| f.write compressed } - compression_rate = compressed.length.to_f/source.length - puts "compressed dist/underscore.string.min.js: #{compressed.length}/#{source.length} #{(compression_rate * 100).round}%" -end - -desc 'Run tests' -task :test do - puts "Running underscore.string test suite." - result1 = system %{phantomjs ./test/run-qunit.js "test/test.html"} - - puts "Running Underscore test suite." - result2 = system %{phantomjs ./test/run-qunit.js "test/test_underscore/index.html"} - - exit(result1 && result2 ? 0 : 1) -end diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json deleted file mode 100644 index ae91b65b5feb..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "underscore.string", - "repo": "epeli/underscore.string", - "description": "String manipulation extensions for Underscore.js javascript library", - "version": "2.3.3", - "keywords": ["underscore", "string"], - "dependencies": {}, - "development": {}, - "main": "lib/underscore.string.js", - "scripts": ["lib/underscore.string.js"] -} diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/dist/underscore.string.min.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/dist/underscore.string.min.js deleted file mode 100644 index 4f6b2b93e87b..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/dist/underscore.string.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,n){"use strict";function r(e,n){var r,t,u=e.toLowerCase();for(n=[].concat(n),r=0;n.length>r;r+=1)if(t=n[r]){if(t.test&&t.test(e))return!0;if(t.toLowerCase()===u)return!0}}var t=n.prototype.trim,u=n.prototype.trimRight,i=n.prototype.trimLeft,l=function(e){return 1*e||0},o=function(e,n){if(1>n)return"";for(var r="";n>0;)1&n&&(r+=e),n>>=1,e+=e;return r},a=[].slice,c=function(e){return null==e?"\\s":e.source?e.source:"["+g.escapeRegExp(e)+"]"},s={lt:"<",gt:">",quot:'"',amp:"&",apos:"'"},f={};for(var p in s)f[s[p]]=p;f["'"]="#39";var h=function(){function e(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}var r=o,t=function(){return t.cache.hasOwnProperty(arguments[0])||(t.cache[arguments[0]]=t.parse(arguments[0])),t.format.call(null,t.cache[arguments[0]],arguments)};return t.format=function(t,u){var i,l,o,a,c,s,f,p=1,g=t.length,d="",m=[];for(l=0;g>l;l++)if(d=e(t[l]),"string"===d)m.push(t[l]);else if("array"===d){if(a=t[l],a[2])for(i=u[p],o=0;a[2].length>o;o++){if(!i.hasOwnProperty(a[2][o]))throw new Error(h('[_.sprintf] property "%s" does not exist',a[2][o]));i=i[a[2][o]]}else i=a[1]?u[a[1]]:u[p++];if(/[^s]/.test(a[8])&&"number"!=e(i))throw new Error(h("[_.sprintf] expecting number but found %s",e(i)));switch(a[8]){case"b":i=i.toString(2);break;case"c":i=n.fromCharCode(i);break;case"d":i=parseInt(i,10);break;case"e":i=a[7]?i.toExponential(a[7]):i.toExponential();break;case"f":i=a[7]?parseFloat(i).toFixed(a[7]):parseFloat(i);break;case"o":i=i.toString(8);break;case"s":i=(i=n(i))&&a[7]?i.substring(0,a[7]):i;break;case"u":i=Math.abs(i);break;case"x":i=i.toString(16);break;case"X":i=i.toString(16).toUpperCase()}i=/[def]/.test(a[8])&&a[3]&&i>=0?"+"+i:i,s=a[4]?"0"==a[4]?"0":a[4].charAt(1):" ",f=a[6]-n(i).length,c=a[6]?r(s,f):"",m.push(a[5]?i+c:c+i)}return m.join("")},t.cache={},t.parse=function(e){for(var n=e,r=[],t=[],u=0;n;){if(null!==(r=/^[^\x25]+/.exec(n)))t.push(r[0]);else if(null!==(r=/^\x25{2}/.exec(n)))t.push("%");else{if(null===(r=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(n)))throw new Error("[_.sprintf] huh?");if(r[2]){u|=1;var i=[],l=r[2],o=[];if(null===(o=/^([a-z_][a-z_\d]*)/i.exec(l)))throw new Error("[_.sprintf] huh?");for(i.push(o[1]);""!==(l=l.substring(o[0].length));)if(null!==(o=/^\.([a-z_][a-z_\d]*)/i.exec(l)))i.push(o[1]);else{if(null===(o=/^\[(\d+)\]/.exec(l)))throw new Error("[_.sprintf] huh?");i.push(o[1])}r[2]=i}else u|=2;if(3===u)throw new Error("[_.sprintf] mixing positional and named placeholders is not (yet) supported");t.push(r)}n=n.substring(r[0].length)}return t},t}(),g={VERSION:"2.3.0",isBlank:function(e){return null==e&&(e=""),/^\s*$/.test(e)},stripTags:function(e){return null==e?"":n(e).replace(/<\/?[^>]+>/g,"")},capitalize:function(e){return e=null==e?"":n(e),e.charAt(0).toUpperCase()+e.slice(1)},chop:function(e,r){return null==e?[]:(e=n(e),r=~~r,r>0?e.match(new RegExp(".{1,"+r+"}","g")):[e])},clean:function(e){return g.strip(e).replace(/\s+/g," ")},count:function(e,r){if(null==e||null==r)return 0;e=n(e),r=n(r);for(var t=0,u=0,i=r.length;;){if(u=e.indexOf(r,u),-1===u)break;t++,u+=i}return t},chars:function(e){return null==e?[]:n(e).split("")},swapCase:function(e){return null==e?"":n(e).replace(/\S/g,function(e){return e===e.toUpperCase()?e.toLowerCase():e.toUpperCase()})},escapeHTML:function(e){return null==e?"":n(e).replace(/[&<>"']/g,function(e){return"&"+f[e]+";"})},unescapeHTML:function(e){return null==e?"":n(e).replace(/\&([^;]+);/g,function(e,r){var t;return r in s?s[r]:(t=r.match(/^#x([\da-fA-F]+)$/))?n.fromCharCode(parseInt(t[1],16)):(t=r.match(/^#(\d+)$/))?n.fromCharCode(~~t[1]):e})},escapeRegExp:function(e){return null==e?"":n(e).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")},splice:function(e,n,r,t){var u=g.chars(e);return u.splice(~~n,~~r,t),u.join("")},insert:function(e,n,r){return g.splice(e,n,0,r)},include:function(e,r){return""===r?!0:null==e?!1:-1!==n(e).indexOf(r)},join:function(){var e=a.call(arguments),n=e.shift();return null==n&&(n=""),e.join(n)},lines:function(e){return null==e?[]:n(e).split("\n")},reverse:function(e){return g.chars(e).reverse().join("")},startsWith:function(e,r){return""===r?!0:null==e||null==r?!1:(e=n(e),r=n(r),e.length>=r.length&&e.slice(0,r.length)===r)},endsWith:function(e,r){return""===r?!0:null==e||null==r?!1:(e=n(e),r=n(r),e.length>=r.length&&e.slice(e.length-r.length)===r)},succ:function(e){return null==e?"":(e=n(e),e.slice(0,-1)+n.fromCharCode(e.charCodeAt(e.length-1)+1))},titleize:function(e){return null==e?"":(e=n(e).toLowerCase(),e.replace(/(?:^|\s|-)\S/g,function(e){return e.toUpperCase()}))},camelize:function(e){return g.trim(e).replace(/[-_\s]+(.)?/g,function(e,n){return n?n.toUpperCase():""})},underscored:function(e){return g.trim(e).replace(/([a-z\d])([A-Z]+)/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()},dasherize:function(e){return g.trim(e).replace(/([A-Z])/g,"-$1").replace(/[-_\s]+/g,"-").toLowerCase()},classify:function(e){return g.titleize(n(e).replace(/[\W_]/g," ")).replace(/\s/g,"")},humanize:function(e){return g.capitalize(g.underscored(e).replace(/_id$/,"").replace(/_/g," "))},trim:function(e,r){return null==e?"":!r&&t?t.call(e):(r=c(r),n(e).replace(new RegExp("^"+r+"+|"+r+"+$","g"),""))},ltrim:function(e,r){return null==e?"":!r&&i?i.call(e):(r=c(r),n(e).replace(new RegExp("^"+r+"+"),""))},rtrim:function(e,r){return null==e?"":!r&&u?u.call(e):(r=c(r),n(e).replace(new RegExp(r+"+$"),""))},truncate:function(e,r,t){return null==e?"":(e=n(e),t=t||"...",r=~~r,e.length>r?e.slice(0,r)+t:e)},prune:function(e,r,t){if(null==e)return"";if(e=n(e),r=~~r,t=null!=t?n(t):"...",r>=e.length)return e;var u=function(e){return e.toUpperCase()!==e.toLowerCase()?"A":" "},i=e.slice(0,r+1).replace(/.(?=\W*\w*$)/g,u);return i=i.slice(i.length-2).match(/\w\w/)?i.replace(/\s*\S+$/,""):g.rtrim(i.slice(0,i.length-1)),(i+t).length>e.length?e:e.slice(0,i.length)+t},words:function(e,n){return g.isBlank(e)?[]:g.trim(e,n).split(n||/\s+/)},pad:function(e,r,t,u){e=null==e?"":n(e),r=~~r;var i=0;switch(t?t.length>1&&(t=t.charAt(0)):t=" ",u){case"right":return i=r-e.length,e+o(t,i);case"both":return i=r-e.length,o(t,Math.ceil(i/2))+e+o(t,Math.floor(i/2));default:return i=r-e.length,o(t,i)+e}},lpad:function(e,n,r){return g.pad(e,n,r)},rpad:function(e,n,r){return g.pad(e,n,r,"right")},lrpad:function(e,n,r){return g.pad(e,n,r,"both")},sprintf:h,vsprintf:function(e,n){return n.unshift(e),h.apply(null,n)},toNumber:function(e,n){return e?(e=g.trim(e),e.match(/^-?\d+(?:\.\d+)?$/)?l(l(e).toFixed(~~n)):0/0):0},numberFormat:function(e,n,r,t){if(isNaN(e)||null==e)return"";e=e.toFixed(~~n),t="string"==typeof t?t:",";var u=e.split("."),i=u[0],l=u[1]?(r||".")+u[1]:"";return i.replace(/(\d)(?=(?:\d{3})+$)/g,"$1"+t)+l},strRight:function(e,r){if(null==e)return"";e=n(e),r=null!=r?n(r):r;var t=r?e.indexOf(r):-1;return~t?e.slice(t+r.length,e.length):e},strRightBack:function(e,r){if(null==e)return"";e=n(e),r=null!=r?n(r):r;var t=r?e.lastIndexOf(r):-1;return~t?e.slice(t+r.length,e.length):e},strLeft:function(e,r){if(null==e)return"";e=n(e),r=null!=r?n(r):r;var t=r?e.indexOf(r):-1;return~t?e.slice(0,t):e},strLeftBack:function(e,n){if(null==e)return"";e+="",n=null!=n?""+n:n;var r=e.lastIndexOf(n);return~r?e.slice(0,r):e},toSentence:function(e,n,r,t){n=n||", ",r=r||" and ";var u=e.slice(),i=u.pop();return e.length>2&&t&&(r=g.rtrim(n)+r),u.length?u.join(n)+r+i:i},toSentenceSerial:function(){var e=a.call(arguments);return e[3]=!0,g.toSentence.apply(g,e)},slugify:function(e){if(null==e)return"";var r="ąàáäâãåæăćęèéëêìíïîłńòóöôõøśșțùúüûñçżź",t="aaaaaaaaaceeeeeiiiilnoooooosstuuuunczz",u=new RegExp(c(r),"g");return e=n(e).toLowerCase().replace(u,function(e){var n=r.indexOf(e);return t.charAt(n)||"-"}),g.dasherize(e.replace(/[^\w\s-]/g,""))},surround:function(e,n){return[n,e,n].join("")},quote:function(e,n){return g.surround(e,n||'"')},unquote:function(e,n){return n=n||'"',e[0]===n&&e[e.length-1]===n?e.slice(1,e.length-1):e},exports:function(){var e={};for(var n in this)this.hasOwnProperty(n)&&!n.match(/^(?:include|contains|reverse)$/)&&(e[n]=this[n]);return e},repeat:function(e,r,t){if(null==e)return"";if(r=~~r,null==t)return o(n(e),r);for(var u=[];r>0;u[--r]=e);return u.join(t)},naturalCmp:function(e,r){if(e==r)return 0;if(!e)return-1;if(!r)return 1;for(var t=/(\.\d+)|(\d+)|(\D+)/g,u=n(e).toLowerCase().match(t),i=n(r).toLowerCase().match(t),l=Math.min(u.length,i.length),o=0;l>o;o++){var a=u[o],c=i[o];if(a!==c){var s=parseInt(a,10);if(!isNaN(s)){var f=parseInt(c,10);if(!isNaN(f)&&s-f)return s-f}return c>a?-1:1}}return u.length===i.length?u.length-i.length:r>e?-1:1},levenshtein:function(e,r){if(null==e&&null==r)return 0;if(null==e)return n(r).length;if(null==r)return n(e).length;e=n(e),r=n(r);for(var t,u,i=[],l=0;r.length>=l;l++)for(var o=0;e.length>=o;o++)u=l&&o?e.charAt(o-1)===r.charAt(l-1)?t:Math.min(i[o],i[o-1],t)+1:l+o,t=i[o],i[o]=u;return i.pop()},toBoolean:function(e,n,t){return"number"==typeof e&&(e=""+e),"string"!=typeof e?!!e:(e=g.trim(e),r(e,n||["true","1"])?!0:r(e,t||["false","0"])?!1:void 0)}};g.strip=g.trim,g.lstrip=g.ltrim,g.rstrip=g.rtrim,g.center=g.lrpad,g.rjust=g.lpad,g.ljust=g.rpad,g.contains=g.include,g.q=g.quote,g.toBool=g.toBoolean,"undefined"!=typeof exports&&("undefined"!=typeof module&&module.exports&&(module.exports=g),exports._s=g),"function"==typeof define&&define.amd&&define("underscore.string",[],function(){return g}),e._=e._||{},e._.string=e._.str=g}(this,String); \ No newline at end of file diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js deleted file mode 100644 index 87611173bace..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js +++ /dev/null @@ -1,673 +0,0 @@ -// Underscore.string -// (c) 2010 Esa-Matti Suuronen -// Underscore.string is freely distributable under the terms of the MIT license. -// Documentation: https://github.com/epeli/underscore.string -// Some code is borrowed from MooTools and Alexandru Marasteanu. -// Version '2.3.2' - -!function(root, String){ - 'use strict'; - - // Defining helper functions. - - var nativeTrim = String.prototype.trim; - var nativeTrimRight = String.prototype.trimRight; - var nativeTrimLeft = String.prototype.trimLeft; - - var parseNumber = function(source) { return source * 1 || 0; }; - - var strRepeat = function(str, qty){ - if (qty < 1) return ''; - var result = ''; - while (qty > 0) { - if (qty & 1) result += str; - qty >>= 1, str += str; - } - return result; - }; - - var slice = [].slice; - - var defaultToWhiteSpace = function(characters) { - if (characters == null) - return '\\s'; - else if (characters.source) - return characters.source; - else - return '[' + _s.escapeRegExp(characters) + ']'; - }; - - // Helper for toBoolean - function boolMatch(s, matchers) { - var i, matcher, down = s.toLowerCase(); - matchers = [].concat(matchers); - for (i = 0; i < matchers.length; i += 1) { - matcher = matchers[i]; - if (!matcher) continue; - if (matcher.test && matcher.test(s)) return true; - if (matcher.toLowerCase() === down) return true; - } - } - - var escapeChars = { - lt: '<', - gt: '>', - quot: '"', - amp: '&', - apos: "'" - }; - - var reversedEscapeChars = {}; - for(var key in escapeChars) reversedEscapeChars[escapeChars[key]] = key; - reversedEscapeChars["'"] = '#39'; - - // sprintf() for JavaScript 0.7-beta1 - // http://www.diveintojavascript.com/projects/javascript-sprintf - // - // Copyright (c) Alexandru Marasteanu - // All rights reserved. - - var sprintf = (function() { - function get_type(variable) { - return Object.prototype.toString.call(variable).slice(8, -1).toLowerCase(); - } - - var str_repeat = strRepeat; - - var str_format = function() { - if (!str_format.cache.hasOwnProperty(arguments[0])) { - str_format.cache[arguments[0]] = str_format.parse(arguments[0]); - } - return str_format.format.call(null, str_format.cache[arguments[0]], arguments); - }; - - str_format.format = function(parse_tree, argv) { - var cursor = 1, tree_length = parse_tree.length, node_type = '', arg, output = [], i, k, match, pad, pad_character, pad_length; - for (i = 0; i < tree_length; i++) { - node_type = get_type(parse_tree[i]); - if (node_type === 'string') { - output.push(parse_tree[i]); - } - else if (node_type === 'array') { - match = parse_tree[i]; // convenience purposes only - if (match[2]) { // keyword argument - arg = argv[cursor]; - for (k = 0; k < match[2].length; k++) { - if (!arg.hasOwnProperty(match[2][k])) { - throw new Error(sprintf('[_.sprintf] property "%s" does not exist', match[2][k])); - } - arg = arg[match[2][k]]; - } - } else if (match[1]) { // positional argument (explicit) - arg = argv[match[1]]; - } - else { // positional argument (implicit) - arg = argv[cursor++]; - } - - if (/[^s]/.test(match[8]) && (get_type(arg) != 'number')) { - throw new Error(sprintf('[_.sprintf] expecting number but found %s', get_type(arg))); - } - switch (match[8]) { - case 'b': arg = arg.toString(2); break; - case 'c': arg = String.fromCharCode(arg); break; - case 'd': arg = parseInt(arg, 10); break; - case 'e': arg = match[7] ? arg.toExponential(match[7]) : arg.toExponential(); break; - case 'f': arg = match[7] ? parseFloat(arg).toFixed(match[7]) : parseFloat(arg); break; - case 'o': arg = arg.toString(8); break; - case 's': arg = ((arg = String(arg)) && match[7] ? arg.substring(0, match[7]) : arg); break; - case 'u': arg = Math.abs(arg); break; - case 'x': arg = arg.toString(16); break; - case 'X': arg = arg.toString(16).toUpperCase(); break; - } - arg = (/[def]/.test(match[8]) && match[3] && arg >= 0 ? '+'+ arg : arg); - pad_character = match[4] ? match[4] == '0' ? '0' : match[4].charAt(1) : ' '; - pad_length = match[6] - String(arg).length; - pad = match[6] ? str_repeat(pad_character, pad_length) : ''; - output.push(match[5] ? arg + pad : pad + arg); - } - } - return output.join(''); - }; - - str_format.cache = {}; - - str_format.parse = function(fmt) { - var _fmt = fmt, match = [], parse_tree = [], arg_names = 0; - while (_fmt) { - if ((match = /^[^\x25]+/.exec(_fmt)) !== null) { - parse_tree.push(match[0]); - } - else if ((match = /^\x25{2}/.exec(_fmt)) !== null) { - parse_tree.push('%'); - } - else if ((match = /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt)) !== null) { - if (match[2]) { - arg_names |= 1; - var field_list = [], replacement_field = match[2], field_match = []; - if ((field_match = /^([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { - field_list.push(field_match[1]); - while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { - if ((field_match = /^\.([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { - field_list.push(field_match[1]); - } - else if ((field_match = /^\[(\d+)\]/.exec(replacement_field)) !== null) { - field_list.push(field_match[1]); - } - else { - throw new Error('[_.sprintf] huh?'); - } - } - } - else { - throw new Error('[_.sprintf] huh?'); - } - match[2] = field_list; - } - else { - arg_names |= 2; - } - if (arg_names === 3) { - throw new Error('[_.sprintf] mixing positional and named placeholders is not (yet) supported'); - } - parse_tree.push(match); - } - else { - throw new Error('[_.sprintf] huh?'); - } - _fmt = _fmt.substring(match[0].length); - } - return parse_tree; - }; - - return str_format; - })(); - - - - // Defining underscore.string - - var _s = { - - VERSION: '2.3.0', - - isBlank: function(str){ - if (str == null) str = ''; - return (/^\s*$/).test(str); - }, - - stripTags: function(str){ - if (str == null) return ''; - return String(str).replace(/<\/?[^>]+>/g, ''); - }, - - capitalize : function(str){ - str = str == null ? '' : String(str); - return str.charAt(0).toUpperCase() + str.slice(1); - }, - - chop: function(str, step){ - if (str == null) return []; - str = String(str); - step = ~~step; - return step > 0 ? str.match(new RegExp('.{1,' + step + '}', 'g')) : [str]; - }, - - clean: function(str){ - return _s.strip(str).replace(/\s+/g, ' '); - }, - - count: function(str, substr){ - if (str == null || substr == null) return 0; - - str = String(str); - substr = String(substr); - - var count = 0, - pos = 0, - length = substr.length; - - while (true) { - pos = str.indexOf(substr, pos); - if (pos === -1) break; - count++; - pos += length; - } - - return count; - }, - - chars: function(str) { - if (str == null) return []; - return String(str).split(''); - }, - - swapCase: function(str) { - if (str == null) return ''; - return String(str).replace(/\S/g, function(c){ - return c === c.toUpperCase() ? c.toLowerCase() : c.toUpperCase(); - }); - }, - - escapeHTML: function(str) { - if (str == null) return ''; - return String(str).replace(/[&<>"']/g, function(m){ return '&' + reversedEscapeChars[m] + ';'; }); - }, - - unescapeHTML: function(str) { - if (str == null) return ''; - return String(str).replace(/\&([^;]+);/g, function(entity, entityCode){ - var match; - - if (entityCode in escapeChars) { - return escapeChars[entityCode]; - } else if (match = entityCode.match(/^#x([\da-fA-F]+)$/)) { - return String.fromCharCode(parseInt(match[1], 16)); - } else if (match = entityCode.match(/^#(\d+)$/)) { - return String.fromCharCode(~~match[1]); - } else { - return entity; - } - }); - }, - - escapeRegExp: function(str){ - if (str == null) return ''; - return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); - }, - - splice: function(str, i, howmany, substr){ - var arr = _s.chars(str); - arr.splice(~~i, ~~howmany, substr); - return arr.join(''); - }, - - insert: function(str, i, substr){ - return _s.splice(str, i, 0, substr); - }, - - include: function(str, needle){ - if (needle === '') return true; - if (str == null) return false; - return String(str).indexOf(needle) !== -1; - }, - - join: function() { - var args = slice.call(arguments), - separator = args.shift(); - - if (separator == null) separator = ''; - - return args.join(separator); - }, - - lines: function(str) { - if (str == null) return []; - return String(str).split("\n"); - }, - - reverse: function(str){ - return _s.chars(str).reverse().join(''); - }, - - startsWith: function(str, starts){ - if (starts === '') return true; - if (str == null || starts == null) return false; - str = String(str); starts = String(starts); - return str.length >= starts.length && str.slice(0, starts.length) === starts; - }, - - endsWith: function(str, ends){ - if (ends === '') return true; - if (str == null || ends == null) return false; - str = String(str); ends = String(ends); - return str.length >= ends.length && str.slice(str.length - ends.length) === ends; - }, - - succ: function(str){ - if (str == null) return ''; - str = String(str); - return str.slice(0, -1) + String.fromCharCode(str.charCodeAt(str.length-1) + 1); - }, - - titleize: function(str){ - if (str == null) return ''; - str = String(str).toLowerCase(); - return str.replace(/(?:^|\s|-)\S/g, function(c){ return c.toUpperCase(); }); - }, - - camelize: function(str){ - return _s.trim(str).replace(/[-_\s]+(.)?/g, function(match, c){ return c ? c.toUpperCase() : ""; }); - }, - - underscored: function(str){ - return _s.trim(str).replace(/([a-z\d])([A-Z]+)/g, '$1_$2').replace(/[-\s]+/g, '_').toLowerCase(); - }, - - dasherize: function(str){ - return _s.trim(str).replace(/([A-Z])/g, '-$1').replace(/[-_\s]+/g, '-').toLowerCase(); - }, - - classify: function(str){ - return _s.titleize(String(str).replace(/[\W_]/g, ' ')).replace(/\s/g, ''); - }, - - humanize: function(str){ - return _s.capitalize(_s.underscored(str).replace(/_id$/,'').replace(/_/g, ' ')); - }, - - trim: function(str, characters){ - if (str == null) return ''; - if (!characters && nativeTrim) return nativeTrim.call(str); - characters = defaultToWhiteSpace(characters); - return String(str).replace(new RegExp('\^' + characters + '+|' + characters + '+$', 'g'), ''); - }, - - ltrim: function(str, characters){ - if (str == null) return ''; - if (!characters && nativeTrimLeft) return nativeTrimLeft.call(str); - characters = defaultToWhiteSpace(characters); - return String(str).replace(new RegExp('^' + characters + '+'), ''); - }, - - rtrim: function(str, characters){ - if (str == null) return ''; - if (!characters && nativeTrimRight) return nativeTrimRight.call(str); - characters = defaultToWhiteSpace(characters); - return String(str).replace(new RegExp(characters + '+$'), ''); - }, - - truncate: function(str, length, truncateStr){ - if (str == null) return ''; - str = String(str); truncateStr = truncateStr || '...'; - length = ~~length; - return str.length > length ? str.slice(0, length) + truncateStr : str; - }, - - /** - * _s.prune: a more elegant version of truncate - * prune extra chars, never leaving a half-chopped word. - * @author github.com/rwz - */ - prune: function(str, length, pruneStr){ - if (str == null) return ''; - - str = String(str); length = ~~length; - pruneStr = pruneStr != null ? String(pruneStr) : '...'; - - if (str.length <= length) return str; - - var tmpl = function(c){ return c.toUpperCase() !== c.toLowerCase() ? 'A' : ' '; }, - template = str.slice(0, length+1).replace(/.(?=\W*\w*$)/g, tmpl); // 'Hello, world' -> 'HellAA AAAAA' - - if (template.slice(template.length-2).match(/\w\w/)) - template = template.replace(/\s*\S+$/, ''); - else - template = _s.rtrim(template.slice(0, template.length-1)); - - return (template+pruneStr).length > str.length ? str : str.slice(0, template.length)+pruneStr; - }, - - words: function(str, delimiter) { - if (_s.isBlank(str)) return []; - return _s.trim(str, delimiter).split(delimiter || /\s+/); - }, - - pad: function(str, length, padStr, type) { - str = str == null ? '' : String(str); - length = ~~length; - - var padlen = 0; - - if (!padStr) - padStr = ' '; - else if (padStr.length > 1) - padStr = padStr.charAt(0); - - switch(type) { - case 'right': - padlen = length - str.length; - return str + strRepeat(padStr, padlen); - case 'both': - padlen = length - str.length; - return strRepeat(padStr, Math.ceil(padlen/2)) + str - + strRepeat(padStr, Math.floor(padlen/2)); - default: // 'left' - padlen = length - str.length; - return strRepeat(padStr, padlen) + str; - } - }, - - lpad: function(str, length, padStr) { - return _s.pad(str, length, padStr); - }, - - rpad: function(str, length, padStr) { - return _s.pad(str, length, padStr, 'right'); - }, - - lrpad: function(str, length, padStr) { - return _s.pad(str, length, padStr, 'both'); - }, - - sprintf: sprintf, - - vsprintf: function(fmt, argv){ - argv.unshift(fmt); - return sprintf.apply(null, argv); - }, - - toNumber: function(str, decimals) { - if (!str) return 0; - str = _s.trim(str); - if (!str.match(/^-?\d+(?:\.\d+)?$/)) return NaN; - return parseNumber(parseNumber(str).toFixed(~~decimals)); - }, - - numberFormat : function(number, dec, dsep, tsep) { - if (isNaN(number) || number == null) return ''; - - number = number.toFixed(~~dec); - tsep = typeof tsep == 'string' ? tsep : ','; - - var parts = number.split('.'), fnums = parts[0], - decimals = parts[1] ? (dsep || '.') + parts[1] : ''; - - return fnums.replace(/(\d)(?=(?:\d{3})+$)/g, '$1' + tsep) + decimals; - }, - - strRight: function(str, sep){ - if (str == null) return ''; - str = String(str); sep = sep != null ? String(sep) : sep; - var pos = !sep ? -1 : str.indexOf(sep); - return ~pos ? str.slice(pos+sep.length, str.length) : str; - }, - - strRightBack: function(str, sep){ - if (str == null) return ''; - str = String(str); sep = sep != null ? String(sep) : sep; - var pos = !sep ? -1 : str.lastIndexOf(sep); - return ~pos ? str.slice(pos+sep.length, str.length) : str; - }, - - strLeft: function(str, sep){ - if (str == null) return ''; - str = String(str); sep = sep != null ? String(sep) : sep; - var pos = !sep ? -1 : str.indexOf(sep); - return ~pos ? str.slice(0, pos) : str; - }, - - strLeftBack: function(str, sep){ - if (str == null) return ''; - str += ''; sep = sep != null ? ''+sep : sep; - var pos = str.lastIndexOf(sep); - return ~pos ? str.slice(0, pos) : str; - }, - - toSentence: function(array, separator, lastSeparator, serial) { - separator = separator || ', '; - lastSeparator = lastSeparator || ' and '; - var a = array.slice(), lastMember = a.pop(); - - if (array.length > 2 && serial) lastSeparator = _s.rtrim(separator) + lastSeparator; - - return a.length ? a.join(separator) + lastSeparator + lastMember : lastMember; - }, - - toSentenceSerial: function() { - var args = slice.call(arguments); - args[3] = true; - return _s.toSentence.apply(_s, args); - }, - - slugify: function(str) { - if (str == null) return ''; - - var from = "ąàáäâãåæăćęèéëêìíïîłńòóöôõøśșțùúüûñçżź", - to = "aaaaaaaaaceeeeeiiiilnoooooosstuuuunczz", - regex = new RegExp(defaultToWhiteSpace(from), 'g'); - - str = String(str).toLowerCase().replace(regex, function(c){ - var index = from.indexOf(c); - return to.charAt(index) || '-'; - }); - - return _s.dasherize(str.replace(/[^\w\s-]/g, '')); - }, - - surround: function(str, wrapper) { - return [wrapper, str, wrapper].join(''); - }, - - quote: function(str, quoteChar) { - return _s.surround(str, quoteChar || '"'); - }, - - unquote: function(str, quoteChar) { - quoteChar = quoteChar || '"'; - if (str[0] === quoteChar && str[str.length-1] === quoteChar) - return str.slice(1,str.length-1); - else return str; - }, - - exports: function() { - var result = {}; - - for (var prop in this) { - if (!this.hasOwnProperty(prop) || prop.match(/^(?:include|contains|reverse)$/)) continue; - result[prop] = this[prop]; - } - - return result; - }, - - repeat: function(str, qty, separator){ - if (str == null) return ''; - - qty = ~~qty; - - // using faster implementation if separator is not needed; - if (separator == null) return strRepeat(String(str), qty); - - // this one is about 300x slower in Google Chrome - for (var repeat = []; qty > 0; repeat[--qty] = str) {} - return repeat.join(separator); - }, - - naturalCmp: function(str1, str2){ - if (str1 == str2) return 0; - if (!str1) return -1; - if (!str2) return 1; - - var cmpRegex = /(\.\d+)|(\d+)|(\D+)/g, - tokens1 = String(str1).toLowerCase().match(cmpRegex), - tokens2 = String(str2).toLowerCase().match(cmpRegex), - count = Math.min(tokens1.length, tokens2.length); - - for(var i = 0; i < count; i++) { - var a = tokens1[i], b = tokens2[i]; - - if (a !== b){ - var num1 = parseInt(a, 10); - if (!isNaN(num1)){ - var num2 = parseInt(b, 10); - if (!isNaN(num2) && num1 - num2) - return num1 - num2; - } - return a < b ? -1 : 1; - } - } - - if (tokens1.length === tokens2.length) - return tokens1.length - tokens2.length; - - return str1 < str2 ? -1 : 1; - }, - - levenshtein: function(str1, str2) { - if (str1 == null && str2 == null) return 0; - if (str1 == null) return String(str2).length; - if (str2 == null) return String(str1).length; - - str1 = String(str1); str2 = String(str2); - - var current = [], prev, value; - - for (var i = 0; i <= str2.length; i++) - for (var j = 0; j <= str1.length; j++) { - if (i && j) - if (str1.charAt(j - 1) === str2.charAt(i - 1)) - value = prev; - else - value = Math.min(current[j], current[j - 1], prev) + 1; - else - value = i + j; - - prev = current[j]; - current[j] = value; - } - - return current.pop(); - }, - - toBoolean: function(str, trueValues, falseValues) { - if (typeof str === "number") str = "" + str; - if (typeof str !== "string") return !!str; - str = _s.trim(str); - if (boolMatch(str, trueValues || ["true", "1"])) return true; - if (boolMatch(str, falseValues || ["false", "0"])) return false; - } - }; - - // Aliases - - _s.strip = _s.trim; - _s.lstrip = _s.ltrim; - _s.rstrip = _s.rtrim; - _s.center = _s.lrpad; - _s.rjust = _s.lpad; - _s.ljust = _s.rpad; - _s.contains = _s.include; - _s.q = _s.quote; - _s.toBool = _s.toBoolean; - - // Exporting - - // CommonJS module is defined - if (typeof exports !== 'undefined') { - if (typeof module !== 'undefined' && module.exports) - module.exports = _s; - - exports._s = _s; - } - - // Register as a named module with AMD. - if (typeof define === 'function' && define.amd) - define('underscore.string', [], function(){ return _s; }); - - - // Integrate with Underscore.js if defined - // or create our own underscore object. - root._ = root._ || {}; - root._.string = root._.str = _s; -}(this, String); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/libpeerconnection.log b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/libpeerconnection.log deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json deleted file mode 100644 index 4b47216d2479..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "name": "underscore.string", - "version": "2.3.3", - "description": "String manipulation extensions for Underscore.js javascript library.", - "homepage": "http://epeli.github.com/underscore.string/", - "contributors": [ - { - "name": "Esa-Matti Suuronen", - "email": "esa-matti@suuronen.org", - "url": "http://esa-matti.suuronen.org/" - }, - { - "name": "Edward Tsech", - "email": "edtsech@gmail.com" - }, - { - "name": "Pavel Pravosud", - "email": "pavel@pravosud.com", - "url": "" - }, - { - "name": "Sasha Koss", - "email": "kossnocorp@gmail.com", - "url": "http://koss.nocorp.me/" - }, - { - "name": "Vladimir Dronnikov", - "email": "dronnikov@gmail.com" - }, - { - "name": "Pete Kruckenberg", - "email": "https://github.com/kruckenb", - "url": "" - }, - { - "name": "Paul Chavard", - "email": "paul@chavard.net", - "url": "" - }, - { - "name": "Ed Finkler", - "email": "coj@funkatron.com", - "url": "" - } - ], - "keywords": [ - "underscore", - "string" - ], - "main": "./lib/underscore.string", - "directories": { - "lib": "./lib" - }, - "engines": { - "node": "*" - }, - "repository": { - "type": "git", - "url": "https://github.com/epeli/underscore.string.git" - }, - "bugs": { - "url": "https://github.com/epeli/underscore.string/issues" - }, - "licenses": [ - { - "type": "MIT" - } - ], - "readme": "# Underscore.string [![Build Status](https://secure.travis-ci.org/epeli/underscore.string.png?branch=master)](http://travis-ci.org/epeli/underscore.string) #\n\n\n\nJavascript lacks complete string manipulation operations.\nThis an attempt to fill that gap. List of build-in methods can be found\nfor example from [Dive Into JavaScript][d].\n\n[d]: http://www.diveintojavascript.com/core-javascript-reference/the-string-object\n\n\nAs name states this an extension for [Underscore.js][u], but it can be used\nindependently from **_s**-global variable. But with Underscore.js you can\nuse Object-Oriented style and chaining:\n\n[u]: http://documentcloud.github.com/underscore/\n\n```javascript\n_(\" epeli \").chain().trim().capitalize().value()\n=> \"Epeli\"\n```\n\n## Download ##\n\n * [Development version](https://raw.github.com/epeli/underscore.string/master/lib/underscore.string.js) *Uncompressed with Comments 18kb*\n * [Production version](https://github.com/epeli/underscore.string/raw/master/dist/underscore.string.min.js) *Minified 7kb*\n\n\n## Node.js installation ##\n\n**npm package**\n\n npm install underscore.string\n\n**Standalone usage**:\n\n```javascript\nvar _s = require('underscore.string');\n```\n\n**Integrate with Underscore.js**:\n\n```javascript\nvar _ = require('underscore');\n\n// Import Underscore.string to separate object, because there are conflict functions (include, reverse, contains)\n_.str = require('underscore.string');\n\n// Mix in non-conflict functions to Underscore namespace if you want\n_.mixin(_.str.exports());\n\n// All functions, include conflict, will be available through _.str object\n_.str.include('Underscore.string', 'string'); // => true\n```\n\n**Or Integrate with Underscore.js without module loading**\n\nRun the following expression after Underscore.js and Underscore.string are loaded\n```javascript\n// _.str becomes a global variable if no module loading is detected\n// Mix in non-conflict functions to Underscore namespace\n_.mixin(_.str.exports());\n```\n\n## String Functions ##\n\nFor availability of functions in this way you need to mix in Underscore.string functions:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\notherwise functions from examples will be available through _.string or _.str objects:\n\n```javascript\n_.str.capitalize('epeli')\n=> \"Epeli\"\n```\n\n**numberFormat** _.numberFormat(number, [ decimals=0, decimalSeparator='.', orderSeparator=','])\n\nFormats the numbers.\n\n```javascript\n_.numberFormat(1000, 2)\n=> \"1,000.00\"\n\n_.numberFormat(123456789.123, 5, '.', ',')\n=> \"123,456,789.12300\"\n```\n\n\n**levenshtein** _.levenshtein(string1, string2)\n\nCalculates [Levenshtein distance][ld] between two strings.\n[ld]: http://en.wikipedia.org/wiki/Levenshtein_distance\n\n```javascript\n_.levenshtein('kitten', 'kittah')\n=> 2\n```\n\n**capitalize** _.capitalize(string)\n\nConverts first letter of the string to uppercase.\n\n```javascript\n_.capitalize(\"foo Bar\")\n=> \"Foo Bar\"\n```\n\n**chop** _.chop(string, step)\n\n```javascript\n_.chop('whitespace', 3)\n=> ['whi','tes','pac','e']\n```\n\n**clean** _.clean(str)\n\nCompress some whitespaces to one.\n\n```javascript\n_.clean(\" foo bar \")\n=> 'foo bar'\n```\n\n**chars** _.chars(str)\n\n```javascript\n_.chars('Hello')\n=> ['H','e','l','l','o']\n```\n\n**swapCase** _.swapCase(str)\n\nReturns a copy of the string in which all the case-based characters have had their case swapped.\n\n```javascript\n_.swapCase('hELLO')\n=> 'Hello'\n```\n\n**include** available only through _.str object, because Underscore has function with the same name.\n\n```javascript\n_.str.include(\"foobar\", \"ob\")\n=> true\n```\n\n(removed) **includes** _.includes(string, substring)\n\nTests if string contains a substring.\n\n```javascript\n_.includes(\"foobar\", \"ob\")\n=> true\n```\n\n**includes** function was removed\n\nBut you can create it in this way, for compatibility with previous versions:\n\n```javascript\n_.includes = _.str.include\n```\n\n**count** _.count(string, substring)\n\n```javascript\n_('Hello world').count('l')\n=> 3\n```\n\n**escapeHTML** _.escapeHTML(string)\n\nConverts HTML special characters to their entity equivalents.\n\n```javascript\n_('
Blah blah blah
').escapeHTML();\n=> '<div>Blah blah blah</div>'\n```\n\n**unescapeHTML** _.unescapeHTML(string)\n\nConverts entity characters to HTML equivalents.\n\n```javascript\n_('<div>Blah blah blah</div>').unescapeHTML();\n=> '
Blah blah blah
'\n```\n\n**insert** _.insert(string, index, substing)\n\n```javascript\n_('Hello ').insert(6, 'world')\n=> 'Hello world'\n```\n\n**isBlank** _.isBlank(string)\n\n```javascript\n_('').isBlank(); // => true\n_('\\n').isBlank(); // => true\n_(' ').isBlank(); // => true\n_('a').isBlank(); // => false\n```\n\n**join** _.join(separator, *strings)\n\nJoins strings together with given separator\n\n```javascript\n_.join(\" \", \"foo\", \"bar\")\n=> \"foo bar\"\n```\n\n**lines** _.lines(str)\n\n```javascript\n_.lines(\"Hello\\nWorld\")\n=> [\"Hello\", \"World\"]\n```\n\n**reverse** available only through _.str object, because Underscore has function with the same name.\n\nReturn reversed string:\n\n```javascript\n_.str.reverse(\"foobar\")\n=> 'raboof'\n```\n\n**splice** _.splice(string, index, howmany, substring)\n\nLike a array splice.\n\n```javascript\n_('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli')\n=> 'https://edtsech@bitbucket.org/epeli/underscore.strings'\n```\n\n**startsWith** _.startsWith(string, starts)\n\nThis method checks whether string starts with starts.\n\n```javascript\n_(\"image.gif\").startsWith(\"image\")\n=> true\n```\n\n**endsWith** _.endsWith(string, ends)\n\nThis method checks whether string ends with ends.\n\n```javascript\n_(\"image.gif\").endsWith(\"gif\")\n=> true\n```\n\n**succ** _.succ(str)\n\nReturns the successor to str.\n\n```javascript\n_('a').succ()\n=> 'b'\n\n_('A').succ()\n=> 'B'\n```\n\n**supplant**\n\nSupplant function was removed, use Underscore.js [template function][p].\n\n[p]: http://documentcloud.github.com/underscore/#template\n\n**strip** alias for *trim*\n\n**lstrip** alias for *ltrim*\n\n**rstrip** alias for *rtrim*\n\n**titleize** _.titleize(string)\n\n```javascript\n_('my name is epeli').titleize()\n=> 'My Name Is Epeli'\n```\n\n**camelize** _.camelize(string)\n\nConverts underscored or dasherized string to a camelized one\n\n```javascript\n_('-moz-transform').camelize()\n=> 'MozTransform'\n```\n\n**classify** _.classify(string)\n\nConverts string to camelized class name\n\n```javascript\n_('some_class_name').classify()\n=> 'SomeClassName'\n```\n\n**underscored** _.underscored(string)\n\nConverts a camelized or dasherized string into an underscored one\n\n```javascript\n_('MozTransform').underscored()\n=> 'moz_transform'\n```\n\n**dasherize** _.dasherize(string)\n\nConverts a underscored or camelized string into an dasherized one\n\n```javascript\n_('MozTransform').dasherize()\n=> '-moz-transform'\n```\n\n**humanize** _.humanize(string)\n\nConverts an underscored, camelized, or dasherized string into a humanized one.\nAlso removes beginning and ending whitespace, and removes the postfix '_id'.\n\n```javascript\n_(' capitalize dash-CamelCase_underscore trim ').humanize()\n=> 'Capitalize dash camel case underscore trim'\n```\n\n**trim** _.trim(string, [characters])\n\ntrims defined characters from begining and ending of the string.\nDefaults to whitespace characters.\n\n```javascript\n_.trim(\" foobar \")\n=> \"foobar\"\n\n_.trim(\"_-foobar-_\", \"_-\")\n=> \"foobar\"\n```\n\n\n**ltrim** _.ltrim(string, [characters])\n\nLeft trim. Similar to trim, but only for left side.\n\n\n**rtrim** _.rtrim(string, [characters])\n\nRight trim. Similar to trim, but only for right side.\n\n**truncate** _.truncate(string, length, truncateString)\n\n```javascript\n_('Hello world').truncate(5)\n=> 'Hello...'\n\n_('Hello').truncate(10)\n=> 'Hello'\n```\n\n**prune** _.prune(string, length, pruneString)\n\nElegant version of truncate.\nMakes sure the pruned string does not exceed the original length.\nAvoid half-chopped words when truncating.\n\n```javascript\n_('Hello, world').prune(5)\n=> 'Hello...'\n\n_('Hello, world').prune(8)\n=> 'Hello...'\n\n_('Hello, world').prune(5, ' (read a lot more)')\n=> 'Hello, world' (as adding \"(read a lot more)\" would be longer than the original string)\n\n_('Hello, cruel world').prune(15)\n=> 'Hello, cruel...'\n\n_('Hello').prune(10)\n=> 'Hello'\n```\n\n**words** _.words(str, delimiter=/\\s+/)\n\nSplit string by delimiter (String or RegExp), /\\s+/ by default.\n\n```javascript\n_.words(\" I love you \")\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"I_love_you\", \"_\")\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"I-love-you\", /-/)\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\" \")\n=> []\n```\n\n**sprintf** _.sprintf(string format, *arguments)\n\nC like string formatting.\nCredits goes to [Alexandru Marasteanu][o].\nFor more detailed documentation, see the [original page][o].\n\n[o]: http://www.diveintojavascript.com/projects/sprintf-for-javascript\n\n```javascript\n_.sprintf(\"%.1f\", 1.17)\n\"1.2\"\n```\n\n**pad** _.pad(str, length, [padStr, type])\n\npads the `str` with characters until the total string length is equal to the passed `length` parameter. By default, pads on the **left** with the space char (`\" \"`). `padStr` is truncated to a single character if necessary.\n\n```javascript\n_.pad(\"1\", 8)\n-> \" 1\";\n\n_.pad(\"1\", 8, '0')\n-> \"00000001\";\n\n_.pad(\"1\", 8, '0', 'right')\n-> \"10000000\";\n\n_.pad(\"1\", 8, '0', 'both')\n-> \"00001000\";\n\n_.pad(\"1\", 8, 'bleepblorp', 'both')\n-> \"bbbb1bbb\";\n```\n\n**lpad** _.lpad(str, length, [padStr])\n\nleft-pad a string. Alias for `pad(str, length, padStr, 'left')`\n\n```javascript\n_.lpad(\"1\", 8, '0')\n-> \"00000001\";\n```\n\n**rpad** _.rpad(str, length, [padStr])\n\nright-pad a string. Alias for `pad(str, length, padStr, 'right')`\n\n```javascript\n_.rpad(\"1\", 8, '0')\n-> \"10000000\";\n```\n\n**lrpad** _.lrpad(str, length, [padStr])\n\nleft/right-pad a string. Alias for `pad(str, length, padStr, 'both')`\n\n```javascript\n_.lrpad(\"1\", 8, '0')\n-> \"00001000\";\n```\n\n**center** alias for **lrpad**\n\n**ljust** alias for *rpad*\n\n**rjust** alias for *lpad*\n\n**toNumber** _.toNumber(string, [decimals])\n\nParse string to number. Returns NaN if string can't be parsed to number.\n\n```javascript\n_('2.556').toNumber()\n=> 3\n\n_('2.556').toNumber(1)\n=> 2.6\n```\n\n**strRight** _.strRight(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strRight('_')\n=> \"is_a_test_string\";\n```\n\n**strRightBack** _.strRightBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strRightBack('_')\n=> \"string\";\n```\n\n**strLeft** _.strLeft(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strLeft('_')\n=> \"This\";\n```\n\n**strLeftBack** _.strLeftBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strLeftBack('_')\n=> \"This_is_a_test\";\n```\n\n**stripTags**\n\nRemoves all html tags from string.\n\n```javascript\n_('a link').stripTags()\n=> 'a link'\n\n_('a link').stripTags()\n=> 'a linkalert(\"hello world!\")'\n```\n\n**toSentence** _.toSentence(array, [delimiter, lastDelimiter])\n\nJoin an array into a human readable sentence.\n\n```javascript\n_.toSentence(['jQuery', 'Mootools', 'Prototype'])\n=> 'jQuery, Mootools and Prototype';\n\n_.toSentence(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt ')\n=> 'jQuery, Mootools unt Prototype';\n```\n\n**toSentenceSerial** _.toSentenceSerial(array, [delimiter, lastDelimiter])\n\nThe same as `toSentence`, but adjusts delimeters to use [Serial comma](http://en.wikipedia.org/wiki/Serial_comma).\n\n```javascript\n_.toSentenceSerial(['jQuery', 'Mootools'])\n=> 'jQuery and Mootools';\n\n_.toSentenceSerial(['jQuery', 'Mootools', 'Prototype'])\n=> 'jQuery, Mootools, and Prototype'\n\n_.toSentenceSerial(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt ');\n=> 'jQuery, Mootools, unt Prototype';\n```\n\n**repeat** _.repeat(string, count, [separator])\n\nRepeats a string count times.\n\n```javascript\n_.repeat(\"foo\", 3)\n=> 'foofoofoo';\n\n_.repeat(\"foo\", 3, \"bar\")\n=> 'foobarfoobarfoo'\n```\n\n**surround** _.surround(string, wrap)\n\nSurround a string with another string.\n\n```javascript\n_.surround(\"foo\", \"ab\")\n=> 'abfooab';\n```\n\n**quote** _.quote(string, quoteChar) or _.q(string, quoteChar)\n\nQuotes a string. `quoteChar` defaults to `\"`.\n\n```javascript\n_.quote('foo', quoteChar)\n=> '\"foo\"';\n```\n**unquote** _.unquote(string, quoteChar)\n\nUnquotes a string. `quoteChar` defaults to `\"`.\n\n```javascript\n_.unquote('\"foo\"')\n=> 'foo';\n_.unquote(\"'foo'\", \"'\")\n=> 'foo';\n```\n\n\n**slugify** _.slugify(string)\n\nTransform text into a URL slug. Replaces whitespaces, accentuated, and special characters with a dash.\n\n```javascript\n_.slugify(\"Un éléphant à l'orée du bois\")\n=> 'un-elephant-a-loree-du-bois';\n```\n\n***Caution: this function is charset dependent***\n\n**naturalCmp** array.sort(_.naturalCmp)\n\nNaturally sort strings like humans would do.\n\n```javascript\n['foo20', 'foo5'].sort(_.naturalCmp)\n=> [ 'foo5', 'foo20' ]\n```\n\n**toBoolean** _.toBoolean(string) or _.toBool(string)\n\nTurn strings that can be commonly considered as booleas to real booleans. Such as \"true\", \"false\", \"1\" and \"0\". This function is case insensitive.\n\n```javascript\n_.toBoolean(\"true\")\n=> true\n_.toBoolean(\"FALSE\")\n=> false\n_.toBoolean(\"random\")\n=> undefined\n```\n\nIt can be customized by giving arrays of truth and falsy value matcher as parameters. Matchers can be also RegExp objects.\n\n```javascript\n_.toBoolean(\"truthy\", [\"truthy\"], [\"falsy\"])\n=> true\n_.toBoolean(\"true only at start\", [/^true/])\n=> true\n```\n\n## Roadmap ##\n\nAny suggestions or bug reports are welcome. Just email me or more preferably open an issue.\n\n#### Problems\n\nWe lose two things for `include` and `reverse` methods from `_.string`:\n\n* Calls like `_('foobar').include('bar')` aren't available;\n* Chaining isn't available too.\n\nBut if you need this functionality you can create aliases for conflict functions which will be convenient for you:\n\n```javascript\n_.mixin({\n includeString: _.str.include,\n reverseString: _.str.reverse\n})\n\n// Now wrapper calls and chaining are available.\n_('foobar').chain().reverseString().includeString('rab').value()\n```\n\n#### Standalone Usage\n\nIf you are using Underscore.string without Underscore. You also have `_.string` namespace for it and `_.str` alias\nBut of course you can just reassign `_` variable with `_.string`\n\n```javascript\n_ = _.string\n```\n\n## Changelog ##\n\n### 2.3.3 ###\n\n* Add `toBoolean`\n* Add `unquote`\n* Add quote char option to `quote`\n* Support dash-separated words in `titleize`\n\n### 2.3.2 ###\n\n* Add `naturalCmp`\n* Bug fix to `camelize`\n* Add ă, ș, ț and ś to `slugify`\n* Doc updates\n* Add support for [component](http://component.io/)\n* [Full changelog](https://github.com/epeli/underscore.string/compare/v2.3.1...v2.3.2)\n\n### 2.3.1 ###\n\n* Bug fixes to `escapeHTML`, `classify`, `substr`\n* Faster `count`\n* Documentation fixes\n* [Full changelog](https://github.com/epeli/underscore.string/compare/v2.3.0...v2.3.1)\n\n### 2.3.0 ###\n\n* Added `numberformat` method\n* Added `levenshtein` method (Levenshtein distance calculation)\n* Added `swapCase` method\n* Changed default behavior of `words` method\n* Added `toSentenceSerial` method\n* Added `surround` and `quote` methods\n\n### 2.2.1 ###\n\n* Same as 2.2.0 (2.2.0rc on npm) to fix some npm drama\n\n### 2.2.0 ###\n\n* Capitalize method behavior changed\n* Various perfomance tweaks\n\n### 2.1.1###\n\n* Fixed words method bug\n* Added classify method\n\n### 2.1.0 ###\n\n* AMD support\n* Added toSentence method\n* Added slugify method\n* Lots of speed optimizations\n\n### 2.0.0 ###\n\n* Added prune, humanize functions\n* Added _.string (_.str) namespace for Underscore.string library\n* Removed includes function\n\nFor upgrading to this version you need to mix in Underscore.string library to Underscore object:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\nand all non-conflict Underscore.string functions will be available through Underscore object.\nAlso function `includes` has been removed, you should replace this function by `_.str.include`\nor create alias `_.includes = _.str.include` and all your code will work fine.\n\n### 1.1.6 ###\n\n* Fixed reverse and truncate\n* Added isBlank, stripTags, inlude(alias for includes)\n* Added uglifier compression\n\n### 1.1.5 ###\n\n* Added strRight, strRightBack, strLeft, strLeftBack\n\n### 1.1.4 ###\n\n* Added pad, lpad, rpad, lrpad methods and aliases center, ljust, rjust\n* Integration with Underscore 1.1.6\n\n### 1.1.3 ###\n\n* Added methods: underscored, camelize, dasherize\n* Support newer version of npm\n\n### 1.1.2 ###\n\n* Created functions: lines, chars, words functions\n\n### 1.0.2 ###\n\n* Created integration test suite with underscore.js 1.1.4 (now it's absolutely compatible)\n* Removed 'reverse' function, because this function override underscore.js 'reverse'\n\n## Contribute ##\n\n* Fork & pull request. Don't forget about tests.\n* If you planning add some feature please create issue before.\n\nOtherwise changes will be rejected.\n\n## Contributors list ##\n[Can be found here](https://github.com/epeli/underscore.string/graphs/contributors).\n\n\n## Licence ##\n\nThe MIT License\n\nCopyright (c) 2011 Esa-Matti Suuronen esa-matti@suuronen.org\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n", - "readmeFilename": "README.markdown", - "_id": "underscore.string@2.3.3", - "_from": "underscore.string@~2.3.1" -} diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/run-qunit.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/run-qunit.js deleted file mode 100644 index 44a21670563b..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/run-qunit.js +++ /dev/null @@ -1,45 +0,0 @@ -function waitFor(test, complete, timeout) { - var result, start = new Date().getTime() - setInterval(function interval() { - if ((new Date().getTime() - start < timeout) && !result) { - result = test() - } else { - if (!result) { - phantom.exit(1) - } else { - complete() - clearInterval(interval) - } - } - }, 100) -} - - -var fs = require('fs'), page = require('webpage').create(); -var url = 'file://localhost' + fs.workingDirectory + '/' + phantom.args[0]; - -page.onConsoleMessage = function(msg) { - console.log(msg) -} - -page.open(url, function(status) { - waitFor(function() { - return page.evaluate(function(){ - var el = document.getElementById('qunit-testresult') - return el && el.innerText.match('completed') - }) - }, function() { - var failures = page.evaluate(function() { - var el = document.getElementById('qunit-testresult'), - fails = document.getElementsByClassName('fail') - - for (var i = 0; i < fails.length; i++) - console.log(fails[i].innerText) - - console.log(el.innerText) - - return parseInt(el.getElementsByClassName('failed')[0].innerHTML) - }) - phantom.exit(failures > 0 ? 1 : 0) - }, 10000) -}) \ No newline at end of file diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/speed.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/speed.js deleted file mode 100644 index 9ceeea76d029..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/speed.js +++ /dev/null @@ -1,148 +0,0 @@ -(function() { - - JSLitmus.test('levenshtein', function() { - return [ - _.levenshtein('pineapple', 'potato'), - _.levenshtein('seven', 'eight'), - _.levenshtein('the very same string', 'the very same string'), - _.levenshtein('very very very long string', 'something completely different') - ]; - }); - - - JSLitmus.test('trimNoNative', function() { - return _.trim(" foobar ", " "); - }); - - JSLitmus.test('trim', function() { - return _.trim(" foobar "); - }); - - JSLitmus.test('trim object-oriented', function() { - return _(" foobar ").trim(); - }); - - JSLitmus.test('trim jQuery', function() { - return jQuery.trim(" foobar "); - }); - - JSLitmus.test('ltrimp', function() { - return _.ltrim(" foobar ", " "); - }); - - JSLitmus.test('rtrimp', function() { - return _.rtrim(" foobar ", " "); - }); - - JSLitmus.test('startsWith', function() { - return _.startsWith("foobar", "foo"); - }); - - JSLitmus.test('endsWith', function() { - return _.endsWith("foobar", "xx"); - }); - - JSLitmus.test('chop', function(){ - return _('whitespace').chop(2); - }); - - JSLitmus.test('count', function(){ - return _('Hello worls').count('l'); - }); - - JSLitmus.test('insert', function() { - return _('Hello ').insert(6, 'world'); - }); - - JSLitmus.test('splice', function() { - return _('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli'); - }); - - JSLitmus.test('succ', function(){ - var let = 'a', alphabet = []; - - for (var i=0; i < 26; i++) { - alphabet.push(let); - let = _(let).succ(); - } - - return alphabet; - }); - - JSLitmus.test('titleize', function(){ - return _('the titleize string method').titleize(); - }); - - JSLitmus.test('truncate', function(){ - return _('Hello world').truncate(5); - }); - - JSLitmus.test('prune', function(){ - return _('Hello world').prune(5); - }); - - JSLitmus.test('isBlank', function(){ - return _('').isBlank(); - }); - - JSLitmus.test('escapeHTML', function(){ - _('
Blah blah blah
').escapeHTML(); - }); - - JSLitmus.test('unescapeHTML', function(){ - _('<div>Blah blah blah</div>').unescapeHTML(); - }); - - JSLitmus.test('reverse', function(){ - _('Hello World').reverse(); - }); - - JSLitmus.test('pad default', function(){ - _('foo').pad(12); - }); - - JSLitmus.test('pad hash left', function(){ - _('foo').pad(12, '#'); - }); - - JSLitmus.test('pad hash right', function(){ - _('foo').pad(12, '#', 'right'); - }); - - JSLitmus.test('pad hash both', function(){ - _('foo').pad(12, '#', 'both'); - }); - - JSLitmus.test('pad hash both longPad', function(){ - _('foo').pad(12, 'f00f00f00', 'both'); - }); - - JSLitmus.test('toNumber', function(){ - _('10.232323').toNumber(2); - }); - - JSLitmus.test('strRight', function(){ - _('aaa_bbb_ccc').strRight('_'); - }); - - JSLitmus.test('strRightBack', function(){ - _('aaa_bbb_ccc').strRightBack('_'); - }); - - JSLitmus.test('strLeft', function(){ - _('aaa_bbb_ccc').strLeft('_'); - }); - - JSLitmus.test('strLeftBack', function(){ - _('aaa_bbb_ccc').strLeftBack('_'); - }); - - JSLitmus.test('join', function(){ - _('separator').join(1, 2, 3, 4, 5, 6, 7, 8, 'foo', 'bar', 'lol', 'wut'); - }); - - JSLitmus.test('slugify', function(){ - _("Un éléphant à l'orée du bois").slugify(); - }); - -})(); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings.js deleted file mode 100644 index 77364f205a0e..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings.js +++ /dev/null @@ -1,685 +0,0 @@ -$(document).ready(function() { - - // Include Underscore.string methods to Underscore namespace - _.mixin(_.str.exports()); - - module('String extensions'); - - test('Strings: naturalSort', function() { - var arr = ['foo2', 'foo1', 'foo10', 'foo30', 'foo100', 'foo10bar'], - sorted = ['foo1', 'foo2', 'foo10', 'foo10bar', 'foo30', 'foo100']; - deepEqual(arr.sort(_.naturalCmp), sorted); - }); - - test('Strings: trim', function() { - equal(_.trim(123), '123', 'Non string'); - equal(_(' foo').trim(), 'foo'); - equal(_('foo ').trim(), 'foo'); - equal(_(' foo ').trim(), 'foo'); - equal(_(' foo ').trim(), 'foo'); - equal(_(' foo ').trim(' '), 'foo', 'Manually set whitespace'); - equal(_('\t foo \t ').trim(/\s/), 'foo', 'Manually set RegExp /\\s+/'); - - equal(_('ffoo').trim('f'), 'oo'); - equal(_('ooff').trim('f'), 'oo'); - equal(_('ffooff').trim('f'), 'oo'); - - - equal(_('_-foobar-_').trim('_-'), 'foobar'); - - equal(_('http://foo/').trim('/'), 'http://foo'); - equal(_('c:\\').trim('\\'), 'c:'); - - equal(_(123).trim(), '123'); - equal(_(123).trim(3), '12'); - equal(_('').trim(), '', 'Trim empty string should return empty string'); - equal(_(null).trim(), '', 'Trim null should return empty string'); - equal(_(undefined).trim(), '', 'Trim undefined should return empty string'); - }); - - test('String: levenshtein', function() { - equal(_.levenshtein('Godfather', 'Godfather'), 0); - equal(_.levenshtein('Godfather', 'Godfathe'), 1); - equal(_.levenshtein('Godfather', 'odfather'), 1); - equal(_.levenshtein('Godfather', 'Gdfthr'), 3); - equal(_.levenshtein('seven', 'eight'), 5); - equal(_.levenshtein('123', 123), 0); - equal(_.levenshtein(321, '321'), 0); - equal(_.levenshtein('lol', null), 3); - equal(_.levenshtein('lol'), 3); - equal(_.levenshtein(null, 'lol'), 3); - equal(_.levenshtein(undefined, 'lol'), 3); - equal(_.levenshtein(), 0); - }); - - test('Strings: ltrim', function() { - equal(_(' foo').ltrim(), 'foo'); - equal(_(' foo').ltrim(), 'foo'); - equal(_('foo ').ltrim(), 'foo '); - equal(_(' foo ').ltrim(), 'foo '); - equal(_('').ltrim(), '', 'ltrim empty string should return empty string'); - equal(_(null).ltrim(), '', 'ltrim null should return empty string'); - equal(_(undefined).ltrim(), '', 'ltrim undefined should return empty string'); - - equal(_('ffoo').ltrim('f'), 'oo'); - equal(_('ooff').ltrim('f'), 'ooff'); - equal(_('ffooff').ltrim('f'), 'ooff'); - - equal(_('_-foobar-_').ltrim('_-'), 'foobar-_'); - - equal(_(123).ltrim(1), '23'); - }); - - test('Strings: rtrim', function() { - equal(_('http://foo/').rtrim('/'), 'http://foo', 'clean trailing slash'); - equal(_(' foo').rtrim(), ' foo'); - equal(_('foo ').rtrim(), 'foo'); - equal(_('foo ').rtrim(), 'foo'); - equal(_('foo bar ').rtrim(), 'foo bar'); - equal(_(' foo ').rtrim(), ' foo'); - - equal(_('ffoo').rtrim('f'), 'ffoo'); - equal(_('ooff').rtrim('f'), 'oo'); - equal(_('ffooff').rtrim('f'), 'ffoo'); - - equal(_('_-foobar-_').rtrim('_-'), '_-foobar'); - - equal(_(123).rtrim(3), '12'); - equal(_('').rtrim(), '', 'rtrim empty string should return empty string'); - equal(_(null).rtrim(), '', 'rtrim null should return empty string'); - }); - - test('Strings: capitalize', function() { - equal(_('fabio').capitalize(), 'Fabio', 'First letter is upper case'); - equal(_.capitalize('fabio'), 'Fabio', 'First letter is upper case'); - equal(_.capitalize('FOO'), 'FOO', 'Other letters unchanged'); - equal(_(123).capitalize(), '123', 'Non string'); - equal(_.capitalize(''), '', 'Capitalizing empty string returns empty string'); - equal(_.capitalize(null), '', 'Capitalizing null returns empty string'); - equal(_.capitalize(undefined), '', 'Capitalizing undefined returns empty string'); - }); - - test('Strings: join', function() { - equal(_.join('', 'foo', 'bar'), 'foobar', 'basic join'); - equal(_.join('', 1, 'foo', 2), '1foo2', 'join numbers and strings'); - equal(_.join(' ','foo', 'bar'), 'foo bar', 'join with spaces'); - equal(_.join('1', '2', '2'), '212', 'join number strings'); - equal(_.join(1, 2, 2), '212', 'join numbers'); - equal(_.join('','foo', null), 'foo', 'join null with string returns string'); - equal(_.join(null,'foo', 'bar'), 'foobar', 'join strings with null returns string'); - equal(_(' ').join('foo', 'bar'), 'foo bar', 'join object oriented'); - }); - - test('Strings: reverse', function() { - equal(_.str.reverse('foo'), 'oof' ); - equal(_.str.reverse('foobar'), 'raboof' ); - equal(_.str.reverse('foo bar'), 'rab oof' ); - equal(_.str.reverse('saippuakauppias'), 'saippuakauppias' ); - equal(_.str.reverse(123), '321', 'Non string'); - equal(_.str.reverse(123.45), '54.321', 'Non string'); - equal(_.str.reverse(''), '', 'reversing empty string returns empty string' ); - equal(_.str.reverse(null), '', 'reversing null returns empty string' ); - equal(_.str.reverse(undefined), '', 'reversing undefined returns empty string' ); - }); - - test('Strings: clean', function() { - equal(_(' foo bar ').clean(), 'foo bar'); - equal(_(123).clean(), '123'); - equal(_('').clean(), '', 'claning empty string returns empty string'); - equal(_(null).clean(), '', 'claning null returns empty string'); - equal(_(undefined).clean(), '', 'claning undefined returns empty string'); - }); - - test('Strings: sprintf', function() { - // Should be very tested function already. Thanks to - // http://www.diveintojavascript.com/projects/sprintf-for-javascript - equal(_.sprintf('Hello %s', 'me'), 'Hello me', 'basic'); - equal(_('Hello %s').sprintf('me'), 'Hello me', 'object'); - equal(_('hello %s').chain().sprintf('me').capitalize().value(), 'Hello me', 'Chaining works'); - equal(_.sprintf('%.1f', 1.22222), '1.2', 'round'); - equal(_.sprintf('%.1f', 1.17), '1.2', 'round 2'); - equal(_.sprintf('%(id)d - %(name)s', {id: 824, name: 'Hello World'}), '824 - Hello World', 'Named replacements work'); - equal(_.sprintf('%(args[0].id)d - %(args[1].name)s', {args: [{id: 824}, {name: 'Hello World'}]}), '824 - Hello World', 'Named replacements with arrays work'); - }); - - - test('Strings: vsprintf', function() { - equal(_.vsprintf('Hello %s', ['me']), 'Hello me', 'basic'); - equal(_('Hello %s').vsprintf(['me']), 'Hello me', 'object'); - equal(_('hello %s').chain().vsprintf(['me']).capitalize().value(), 'Hello me', 'Chaining works'); - equal(_.vsprintf('%.1f', [1.22222]), '1.2', 'round'); - equal(_.vsprintf('%.1f', [1.17]), '1.2', 'round 2'); - equal(_.vsprintf('%(id)d - %(name)s', [{id: 824, name: 'Hello World'}]), '824 - Hello World', 'Named replacement works'); - equal(_.vsprintf('%(args[0].id)d - %(args[1].name)s', [{args: [{id: 824}, {name: 'Hello World'}]}]), '824 - Hello World', 'Named replacement with arrays works'); - }); - - test('Strings: startsWith', function() { - ok(_('foobar').startsWith('foo'), 'foobar starts with foo'); - ok(!_('oobar').startsWith('foo'), 'oobar does not start with foo'); - ok(_(12345).startsWith(123), '12345 starts with 123'); - ok(!_(2345).startsWith(123), '2345 does not start with 123'); - ok(_('').startsWith(''), 'empty string starts with empty string'); - ok(_(null).startsWith(''), 'null starts with empty string'); - ok(!_(null).startsWith('foo'), 'null starts with foo'); - }); - - test('Strings: endsWith', function() { - ok(_('foobar').endsWith('bar'), 'foobar ends with bar'); - ok(_.endsWith('foobar', 'bar'), 'foobar ends with bar'); - ok(_.endsWith('00018-0000062.Plone.sdh264.1a7264e6912a91aa4a81b64dc5517df7b8875994.mp4', 'mp4'), 'endsWith .mp4'); - ok(!_('fooba').endsWith('bar'), 'fooba does not end with bar'); - ok(_.endsWith(12345, 45), '12345 ends with 45'); - ok(!_.endsWith(12345, 6), '12345 does not end with 6'); - ok(_('').endsWith(''), 'empty string ends with empty string'); - ok(_(null).endsWith(''), 'null ends with empty string'); - ok(!_(null).endsWith('foo'), 'null ends with foo'); - }); - - test('Strings: include', function() { - ok(_.str.include('foobar', 'bar'), 'foobar includes bar'); - ok(!_.str.include('foobar', 'buzz'), 'foobar does not includes buzz'); - ok(_.str.include(12345, 34), '12345 includes 34'); - ok(!_.str.contains(12345, 6), '12345 does not includes 6'); - ok(!_.str.include('', 34), 'empty string includes 34'); - ok(!_.str.include(null, 34), 'null includes 34'); - ok(_.str.include(null, ''), 'null includes empty string'); - }); - - test('String: chop', function(){ - ok(_('whitespace').chop(2).length === 5, 'output [wh, it, es, pa, ce]'); - ok(_('whitespace').chop(3).length === 4, 'output [whi, tes, pac, e]'); - ok(_('whitespace').chop()[0].length === 10, 'output [whitespace]'); - ok(_(12345).chop(1).length === 5, 'output [1, 2, 3, 4, 5]'); - }); - - test('String: clean', function(){ - equal(_.clean(' foo bar '), 'foo bar'); - equal(_.clean(''), ''); - equal(_.clean(null), ''); - equal(_.clean(1), '1'); - }); - - test('String: count', function(){ - equal(_('Hello world').count('l'), 3); - equal(_('Hello world').count('Hello'), 1); - equal(_('Hello world').count('foo'), 0); - equal(_('x.xx....x.x').count('x'), 5); - equal(_('').count('x'), 0); - equal(_(null).count('x'), 0); - equal(_(undefined).count('x'), 0); - equal(_(12345).count(1), 1); - equal(_(11345).count(1), 2); - }); - - test('String: insert', function(){ - equal(_('Hello ').insert(6, 'Jessy'), 'Hello Jessy'); - equal(_('Hello ').insert(100, 'Jessy'), 'Hello Jessy'); - equal(_('').insert(100, 'Jessy'), 'Jessy'); - equal(_(null).insert(100, 'Jessy'), 'Jessy'); - equal(_(undefined).insert(100, 'Jessy'), 'Jessy'); - equal(_(12345).insert(6, 'Jessy'), '12345Jessy'); - }); - - test('String: splice', function(){ - equal(_('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli'), - 'https://edtsech@bitbucket.org/epeli/underscore.strings'); - equal(_.splice(12345, 1, 2, 321), '132145', 'Non strings'); - }); - - test('String: succ', function(){ - equal(_('a').succ(), 'b'); - equal(_('A').succ(), 'B'); - equal(_('+').succ(), ','); - equal(_(1).succ(), '2'); - }); - - test('String: titleize', function(){ - equal(_('the titleize string method').titleize(), 'The Titleize String Method'); - equal(_('the titleize string method').titleize(), 'The Titleize String Method'); - equal(_('').titleize(), '', 'Titleize empty string returns empty string'); - equal(_(null).titleize(), '', 'Titleize null returns empty string'); - equal(_(undefined).titleize(), '', 'Titleize undefined returns empty string'); - equal(_('let\'s have some fun').titleize(), 'Let\'s Have Some Fun'); - equal(_('a-dash-separated-string').titleize(), 'A-Dash-Separated-String'); - equal(_('A-DASH-SEPARATED-STRING').titleize(), 'A-Dash-Separated-String'); - equal(_(123).titleize(), '123'); - }); - - test('String: camelize', function(){ - equal(_('the_camelize_string_method').camelize(), 'theCamelizeStringMethod'); - equal(_('-the-camelize-string-method').camelize(), 'TheCamelizeStringMethod'); - equal(_('the camelize string method').camelize(), 'theCamelizeStringMethod'); - equal(_(' the camelize string method').camelize(), 'theCamelizeStringMethod'); - equal(_('the camelize string method').camelize(), 'theCamelizeStringMethod'); - equal(_('').camelize(), '', 'Camelize empty string returns empty string'); - equal(_(null).camelize(), '', 'Camelize null returns empty string'); - equal(_(undefined).camelize(), '', 'Camelize undefined returns empty string'); - equal(_(123).camelize(), '123'); - }); - - test('String: underscored', function(){ - equal(_('the-underscored-string-method').underscored(), 'the_underscored_string_method'); - equal(_('theUnderscoredStringMethod').underscored(), 'the_underscored_string_method'); - equal(_('TheUnderscoredStringMethod').underscored(), 'the_underscored_string_method'); - equal(_(' the underscored string method').underscored(), 'the_underscored_string_method'); - equal(_('').underscored(), ''); - equal(_(null).underscored(), ''); - equal(_(undefined).underscored(), ''); - equal(_(123).underscored(), '123'); - }); - - test('String: dasherize', function(){ - equal(_('the_dasherize_string_method').dasherize(), 'the-dasherize-string-method'); - equal(_('TheDasherizeStringMethod').dasherize(), '-the-dasherize-string-method'); - equal(_('thisIsATest').dasherize(), 'this-is-a-test'); - equal(_('this Is A Test').dasherize(), 'this-is-a-test'); - equal(_('thisIsATest123').dasherize(), 'this-is-a-test123'); - equal(_('123thisIsATest').dasherize(), '123this-is-a-test'); - equal(_('the dasherize string method').dasherize(), 'the-dasherize-string-method'); - equal(_('the dasherize string method ').dasherize(), 'the-dasherize-string-method'); - equal(_('téléphone').dasherize(), 'téléphone'); - equal(_('foo$bar').dasherize(), 'foo$bar'); - equal(_('').dasherize(), ''); - equal(_(null).dasherize(), ''); - equal(_(undefined).dasherize(), ''); - equal(_(123).dasherize(), '123'); - }); - - test('String: camelize', function(){ - equal(_.camelize('-moz-transform'), 'MozTransform'); - equal(_.camelize('webkit-transform'), 'webkitTransform'); - equal(_.camelize('under_scored'), 'underScored'); - equal(_.camelize(' with spaces'), 'withSpaces'); - equal(_('').camelize(), ''); - equal(_(null).camelize(), ''); - equal(_(undefined).camelize(), ''); - equal(_("_som eWeird---name-").camelize(), 'SomEWeirdName'); - }); - - test('String: join', function(){ - equal(_.join(1, 2, 3, 4), '21314'); - equal(_.join('|', 'foo', 'bar', 'baz'), 'foo|bar|baz'); - equal(_.join('',2,3,null), '23'); - equal(_.join(null,2,3), '23'); - }); - - test('String: classify', function(){ - equal(_.classify(1), '1'); - equal(_('some_class_name').classify(), 'SomeClassName'); - equal(_('my wonderfull class_name').classify(), 'MyWonderfullClassName'); - equal(_('my wonderfull.class.name').classify(), 'MyWonderfullClassName'); - }); - - test('String: humanize', function(){ - equal(_('the_humanize_string_method').humanize(), 'The humanize string method'); - equal(_('ThehumanizeStringMethod').humanize(), 'Thehumanize string method'); - equal(_('the humanize string method').humanize(), 'The humanize string method'); - equal(_('the humanize_id string method_id').humanize(), 'The humanize id string method'); - equal(_('the humanize string method ').humanize(), 'The humanize string method'); - equal(_(' capitalize dash-CamelCase_underscore trim ').humanize(), 'Capitalize dash camel case underscore trim'); - equal(_(123).humanize(), '123'); - equal(_('').humanize(), ''); - equal(_(null).humanize(), ''); - equal(_(undefined).humanize(), ''); - }); - - test('String: truncate', function(){ - equal(_('Hello world').truncate(6, 'read more'), 'Hello read more'); - equal(_('Hello world').truncate(5), 'Hello...'); - equal(_('Hello').truncate(10), 'Hello'); - equal(_('').truncate(10), ''); - equal(_(null).truncate(10), ''); - equal(_(undefined).truncate(10), ''); - equal(_(1234567890).truncate(5), '12345...'); - }); - - test('String: prune', function(){ - equal(_('Hello, cruel world').prune(6, ' read more'), 'Hello read more'); - equal(_('Hello, world').prune(5, 'read a lot more'), 'Hello, world'); - equal(_('Hello, world').prune(5), 'Hello...'); - equal(_('Hello, world').prune(8), 'Hello...'); - equal(_('Hello, cruel world').prune(15), 'Hello, cruel...'); - equal(_('Hello world').prune(22), 'Hello world'); - equal(_('Привет, жеÑтокий мир').prune(6, ' read more'), 'Привет read more'); - equal(_('Привет, мир').prune(6, 'read a lot more'), 'Привет, мир'); - equal(_('Привет, мир').prune(6), 'Привет...'); - equal(_('Привет, мир').prune(8), 'Привет...'); - equal(_('Привет, жеÑтокий мир').prune(16), 'Привет, жеÑтокий...'); - equal(_('Привет, мир').prune(22), 'Привет, мир'); - equal(_('alksjd!!!!!!....').prune(100, ''), 'alksjd!!!!!!....'); - equal(_(123).prune(10), '123'); - equal(_(123).prune(1, 321), '321'); - equal(_('').prune(5), ''); - equal(_(null).prune(5), ''); - equal(_(undefined).prune(5), ''); - }); - - test('String: isBlank', function(){ - ok(_('').isBlank()); - ok(_(' ').isBlank()); - ok(_('\n').isBlank()); - ok(!_('a').isBlank()); - ok(!_('0').isBlank()); - ok(!_(0).isBlank()); - ok(_('').isBlank()); - ok(_(null).isBlank()); - ok(_(undefined).isBlank()); - }); - - test('String: escapeRegExp', function(){ - equal(_.escapeRegExp(/hello(?=\sworld)/.source), 'hello\\(\\?\\=\\\\sworld\\)', 'with lookahead'); - equal(_.escapeRegExp(/hello(?!\shell)/.source), 'hello\\(\\?\\!\\\\shell\\)', 'with negative lookahead'); - }); - - test('String: escapeHTML', function(){ - equal(_('
Blah & "blah" & \'blah\'
').escapeHTML(), - '<div>Blah & "blah" & 'blah'</div>'); - equal(_('<').escapeHTML(), '&lt;'); - equal(_(5).escapeHTML(), '5'); - equal(_('').escapeHTML(), ''); - equal(_(null).escapeHTML(), ''); - equal(_(undefined).escapeHTML(), ''); - }); - - test('String: unescapeHTML', function(){ - equal(_('<div>Blah & "blah" & 'blah'</div>').unescapeHTML(), - '
Blah & "blah" & \'blah\'
'); - equal(_('&lt;').unescapeHTML(), '<'); - equal(_(''').unescapeHTML(), '\''); - equal(_(''').unescapeHTML(), '\''); - equal(_(''').unescapeHTML(), '\''); - equal(_('J').unescapeHTML(), 'J'); - equal(_('J').unescapeHTML(), 'J'); - equal(_('J').unescapeHTML(), 'J'); - equal(_('&_#39;').unescapeHTML(), '&_#39;'); - equal(_(''_;').unescapeHTML(), ''_;'); - equal(_('&#38;').unescapeHTML(), '&'); - equal(_('&amp;').unescapeHTML(), '&'); - equal(_('').unescapeHTML(), ''); - equal(_(null).unescapeHTML(), ''); - equal(_(undefined).unescapeHTML(), ''); - equal(_(5).unescapeHTML(), '5'); - // equal(_(undefined).unescapeHTML(), ''); - }); - - test('String: words', function() { - deepEqual(_('I love you!').words(), ['I', 'love', 'you!']); - deepEqual(_(' I love you! ').words(), ['I', 'love', 'you!']); - deepEqual(_('I_love_you!').words('_'), ['I', 'love', 'you!']); - deepEqual(_('I-love-you!').words(/-/), ['I', 'love', 'you!']); - deepEqual(_(123).words(), ['123'], '123 number has one word "123".'); - deepEqual(_(0).words(), ['0'], 'Zero number has one word "0".'); - deepEqual(_('').words(), [], 'Empty strings has no words.'); - deepEqual(_(' ').words(), [], 'Blank strings has no words.'); - deepEqual(_(null).words(), [], 'null has no words.'); - deepEqual(_(undefined).words(), [], 'undefined has no words.'); - }); - - test('String: chars', function() { - equal(_('Hello').chars().length, 5); - equal(_(123).chars().length, 3); - equal(_('').chars().length, 0); - equal(_(null).chars().length, 0); - equal(_(undefined).chars().length, 0); - }); - - test('String: swapCase', function(){ - equal(_('AaBbCcDdEe').swapCase(), 'aAbBcCdDeE'); - equal(_('Hello World').swapCase(), 'hELLO wORLD'); - equal(_('').swapCase(), ''); - equal(_(null).swapCase(), ''); - equal(_(undefined).swapCase(), ''); - }); - - test('String: lines', function() { - equal(_('Hello\nWorld').lines().length, 2); - equal(_('Hello World').lines().length, 1); - equal(_(123).lines().length, 1); - equal(_('').lines().length, 1); - equal(_(null).lines().length, 0); - equal(_(undefined).lines().length, 0); - }); - - test('String: pad', function() { - equal(_('1').pad(8), ' 1'); - equal(_(1).pad(8), ' 1'); - equal(_('1').pad(8, '0'), '00000001'); - equal(_('1').pad(8, '0', 'left'), '00000001'); - equal(_('1').pad(8, '0', 'right'), '10000000'); - equal(_('1').pad(8, '0', 'both'), '00001000'); - equal(_('foo').pad(8, '0', 'both'), '000foo00'); - equal(_('foo').pad(7, '0', 'both'), '00foo00'); - equal(_('foo').pad(7, '!@$%dofjrofj', 'both'), '!!foo!!'); - equal(_('').pad(2), ' '); - equal(_(null).pad(2), ' '); - equal(_(undefined).pad(2), ' '); - }); - - test('String: lpad', function() { - equal(_('1').lpad(8), ' 1'); - equal(_(1).lpad(8), ' 1'); - equal(_('1').lpad(8, '0'), '00000001'); - equal(_('1').lpad(8, '0', 'left'), '00000001'); - equal(_('').lpad(2), ' '); - equal(_(null).lpad(2), ' '); - equal(_(undefined).lpad(2), ' '); - }); - - test('String: rpad', function() { - equal(_('1').rpad(8), '1 '); - equal(_(1).lpad(8), ' 1'); - equal(_('1').rpad(8, '0'), '10000000'); - equal(_('foo').rpad(8, '0'), 'foo00000'); - equal(_('foo').rpad(7, '0'), 'foo0000'); - equal(_('').rpad(2), ' '); - equal(_(null).rpad(2), ' '); - equal(_(undefined).rpad(2), ' '); - }); - - test('String: lrpad', function() { - equal(_('1').lrpad(8), ' 1 '); - equal(_(1).lrpad(8), ' 1 '); - equal(_('1').lrpad(8, '0'), '00001000'); - equal(_('foo').lrpad(8, '0'), '000foo00'); - equal(_('foo').lrpad(7, '0'), '00foo00'); - equal(_('foo').lrpad(7, '!@$%dofjrofj'), '!!foo!!'); - equal(_('').lrpad(2), ' '); - equal(_(null).lrpad(2), ' '); - equal(_(undefined).lrpad(2), ' '); - }); - - test('String: toNumber', function() { - deepEqual(_('not a number').toNumber(), NaN); - equal(_(0).toNumber(), 0); - equal(_('0').toNumber(), 0); - equal(_('0.0').toNumber(), 0); - equal(_('0.1').toNumber(), 0); - equal(_('0.1').toNumber(1), 0.1); - equal(_(' 0.1 ').toNumber(1), 0.1); - equal(_('0000').toNumber(), 0); - equal(_('2.345').toNumber(), 2); - equal(_('2.345').toNumber(NaN), 2); - equal(_('2.345').toNumber(2), 2.35); - equal(_('2.344').toNumber(2), 2.34); - equal(_('2').toNumber(2), 2.00); - equal(_(2).toNumber(2), 2.00); - equal(_(-2).toNumber(), -2); - equal(_('-2').toNumber(), -2); - equal(_('').toNumber(), 0); - equal(_(null).toNumber(), 0); - equal(_(undefined).toNumber(), 0); - }); - - test('String: numberFormat', function() { - equal(_.numberFormat(9000), '9,000'); - equal(_.numberFormat(9000, 0), '9,000'); - equal(_.numberFormat(9000, 0, '', ''), '9000'); - equal(_.numberFormat(90000, 2), '90,000.00'); - equal(_.numberFormat(1000.754), '1,001'); - equal(_.numberFormat(1000.754, 2), '1,000.75'); - equal(_.numberFormat(1000.754, 0, ',', '.'), '1.001'); - equal(_.numberFormat(1000.754, 2, ',', '.'), '1.000,75'); - equal(_.numberFormat(1000000.754, 2, ',', '.'), '1.000.000,75'); - equal(_.numberFormat(1000000000), '1,000,000,000'); - equal(_.numberFormat(100000000), '100,000,000'); - equal(_.numberFormat('not number'), ''); - equal(_.numberFormat(), ''); - equal(_.numberFormat(null, '.', ','), ''); - equal(_.numberFormat(undefined, '.', ','), ''); - equal(_.numberFormat(new Number(5000)), '5,000'); - }); - - test('String: strRight', function() { - equal(_('This_is_a_test_string').strRight('_'), 'is_a_test_string'); - equal(_('This_is_a_test_string').strRight('string'), ''); - equal(_('This_is_a_test_string').strRight(), 'This_is_a_test_string'); - equal(_('This_is_a_test_string').strRight(''), 'This_is_a_test_string'); - equal(_('This_is_a_test_string').strRight('-'), 'This_is_a_test_string'); - equal(_('This_is_a_test_string').strRight(''), 'This_is_a_test_string'); - equal(_('').strRight('foo'), ''); - equal(_(null).strRight('foo'), ''); - equal(_(undefined).strRight('foo'), ''); - equal(_(12345).strRight(2), '345'); - }); - - test('String: strRightBack', function() { - equal(_('This_is_a_test_string').strRightBack('_'), 'string'); - equal(_('This_is_a_test_string').strRightBack('string'), ''); - equal(_('This_is_a_test_string').strRightBack(), 'This_is_a_test_string'); - equal(_('This_is_a_test_string').strRightBack(''), 'This_is_a_test_string'); - equal(_('This_is_a_test_string').strRightBack('-'), 'This_is_a_test_string'); - equal(_('').strRightBack('foo'), ''); - equal(_(null).strRightBack('foo'), ''); - equal(_(undefined).strRightBack('foo'), ''); - equal(_(12345).strRightBack(2), '345'); - }); - - test('String: strLeft', function() { - equal(_('This_is_a_test_string').strLeft('_'), 'This'); - equal(_('This_is_a_test_string').strLeft('This'), ''); - equal(_('This_is_a_test_string').strLeft(), 'This_is_a_test_string'); - equal(_('This_is_a_test_string').strLeft(''), 'This_is_a_test_string'); - equal(_('This_is_a_test_string').strLeft('-'), 'This_is_a_test_string'); - equal(_('').strLeft('foo'), ''); - equal(_(null).strLeft('foo'), ''); - equal(_(undefined).strLeft('foo'), ''); - equal(_(123454321).strLeft(3), '12'); - }); - - test('String: strLeftBack', function() { - equal(_('This_is_a_test_string').strLeftBack('_'), 'This_is_a_test'); - equal(_('This_is_a_test_string').strLeftBack('This'), ''); - equal(_('This_is_a_test_string').strLeftBack(), 'This_is_a_test_string'); - equal(_('This_is_a_test_string').strLeftBack(''), 'This_is_a_test_string'); - equal(_('This_is_a_test_string').strLeftBack('-'), 'This_is_a_test_string'); - equal(_('').strLeftBack('foo'), ''); - equal(_(null).strLeftBack('foo'), ''); - equal(_(undefined).strLeftBack('foo'), ''); - equal(_(123454321).strLeftBack(3), '123454'); - }); - - test('Strings: stripTags', function() { - equal(_('a link').stripTags(), 'a link'); - equal(_('a link - - - - - - - - -

Underscore.string Test Suite

-

-

-
    -
    -

    Underscore.string Speed Suite

    - -
    - - diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_standalone.html b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_standalone.html deleted file mode 100644 index 9854c17115c4..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_standalone.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - Underscore.strings Test Suite - - - - - - - - -

    Underscore.string Test Suite

    -

    -

    -
      - - diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/arrays.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/arrays.js deleted file mode 100644 index 32252a3f5906..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/arrays.js +++ /dev/null @@ -1,200 +0,0 @@ -$(document).ready(function() { - - module("Arrays"); - - test("first", function() { - equal(_.first([1,2,3]), 1, 'can pull out the first element of an array'); - equal(_([1, 2, 3]).first(), 1, 'can perform OO-style "first()"'); - equal(_.first([1,2,3], 0).join(', '), "", 'can pass an index to first'); - equal(_.first([1,2,3], 2).join(', '), '1, 2', 'can pass an index to first'); - equal(_.first([1,2,3], 5).join(', '), '1, 2, 3', 'can pass an index to first'); - var result = (function(){ return _.first(arguments); })(4, 3, 2, 1); - equal(result, 4, 'works on an arguments object.'); - result = _.map([[1,2,3],[1,2,3]], _.first); - equal(result.join(','), '1,1', 'works well with _.map'); - result = (function() { return _.take([1,2,3], 2); })(); - equal(result.join(','), '1,2', 'aliased as take'); - - equal(_.first(null), undefined, 'handles nulls'); - }); - - test("rest", function() { - var numbers = [1, 2, 3, 4]; - equal(_.rest(numbers).join(", "), "2, 3, 4", 'working rest()'); - equal(_.rest(numbers, 0).join(", "), "1, 2, 3, 4", 'working rest(0)'); - equal(_.rest(numbers, 2).join(', '), '3, 4', 'rest can take an index'); - var result = (function(){ return _(arguments).tail(); })(1, 2, 3, 4); - equal(result.join(', '), '2, 3, 4', 'aliased as tail and works on arguments object'); - result = _.map([[1,2,3],[1,2,3]], _.rest); - equal(_.flatten(result).join(','), '2,3,2,3', 'works well with _.map'); - result = (function(){ return _(arguments).drop(); })(1, 2, 3, 4); - equal(result.join(', '), '2, 3, 4', 'aliased as drop and works on arguments object'); - }); - - test("initial", function() { - equal(_.initial([1,2,3,4,5]).join(", "), "1, 2, 3, 4", 'working initial()'); - equal(_.initial([1,2,3,4],2).join(", "), "1, 2", 'initial can take an index'); - var result = (function(){ return _(arguments).initial(); })(1, 2, 3, 4); - equal(result.join(", "), "1, 2, 3", 'initial works on arguments object'); - result = _.map([[1,2,3],[1,2,3]], _.initial); - equal(_.flatten(result).join(','), '1,2,1,2', 'initial works with _.map'); - }); - - test("last", function() { - equal(_.last([1,2,3]), 3, 'can pull out the last element of an array'); - equal(_.last([1,2,3], 0).join(', '), "", 'can pass an index to last'); - equal(_.last([1,2,3], 2).join(', '), '2, 3', 'can pass an index to last'); - equal(_.last([1,2,3], 5).join(', '), '1, 2, 3', 'can pass an index to last'); - var result = (function(){ return _(arguments).last(); })(1, 2, 3, 4); - equal(result, 4, 'works on an arguments object'); - result = _.map([[1,2,3],[1,2,3]], _.last); - equal(result.join(','), '3,3', 'works well with _.map'); - - equal(_.last(null), undefined, 'handles nulls'); - }); - - test("compact", function() { - equal(_.compact([0, 1, false, 2, false, 3]).length, 3, 'can trim out all falsy values'); - var result = (function(){ return _(arguments).compact().length; })(0, 1, false, 2, false, 3); - equal(result, 3, 'works on an arguments object'); - }); - - test("flatten", function() { - if (window.JSON) { - var list = [1, [2], [3, [[[4]]]]]; - equal(JSON.stringify(_.flatten(list)), '[1,2,3,4]', 'can flatten nested arrays'); - equal(JSON.stringify(_.flatten(list, true)), '[1,2,3,[[[4]]]]', 'can shallowly flatten nested arrays'); - var result = (function(){ return _.flatten(arguments); })(1, [2], [3, [[[4]]]]); - equal(JSON.stringify(result), '[1,2,3,4]', 'works on an arguments object'); - } - }); - - test("without", function() { - var list = [1, 2, 1, 0, 3, 1, 4]; - equal(_.without(list, 0, 1).join(', '), '2, 3, 4', 'can remove all instances of an object'); - var result = (function(){ return _.without(arguments, 0, 1); })(1, 2, 1, 0, 3, 1, 4); - equal(result.join(', '), '2, 3, 4', 'works on an arguments object'); - - var list = [{one : 1}, {two : 2}]; - ok(_.without(list, {one : 1}).length == 2, 'uses real object identity for comparisons.'); - ok(_.without(list, list[0]).length == 1, 'ditto.'); - }); - - test("uniq", function() { - var list = [1, 2, 1, 3, 1, 4]; - equal(_.uniq(list).join(', '), '1, 2, 3, 4', 'can find the unique values of an unsorted array'); - - var list = [1, 1, 1, 2, 2, 3]; - equal(_.uniq(list, true).join(', '), '1, 2, 3', 'can find the unique values of a sorted array faster'); - - var list = [{name:'moe'}, {name:'curly'}, {name:'larry'}, {name:'curly'}]; - var iterator = function(value) { return value.name; }; - equal(_.map(_.uniq(list, false, iterator), iterator).join(', '), 'moe, curly, larry', 'can find the unique values of an array using a custom iterator'); - - var iterator = function(value) { return value +1; }; - var list = [1, 2, 2, 3, 4, 4]; - equal(_.uniq(list, true, iterator).join(', '), '1, 2, 3, 4', 'iterator works with sorted array'); - - var result = (function(){ return _.uniq(arguments); })(1, 2, 1, 3, 1, 4); - equal(result.join(', '), '1, 2, 3, 4', 'works on an arguments object'); - }); - - test("intersection", function() { - var stooges = ['moe', 'curly', 'larry'], leaders = ['moe', 'groucho']; - equal(_.intersection(stooges, leaders).join(''), 'moe', 'can take the set intersection of two arrays'); - equal(_(stooges).intersection(leaders).join(''), 'moe', 'can perform an OO-style intersection'); - var result = (function(){ return _.intersection(arguments, leaders); })('moe', 'curly', 'larry'); - equal(result.join(''), 'moe', 'works on an arguments object'); - }); - - test("union", function() { - var result = _.union([1, 2, 3], [2, 30, 1], [1, 40]); - equal(result.join(' '), '1 2 3 30 40', 'takes the union of a list of arrays'); - - var result = _.union([1, 2, 3], [2, 30, 1], [1, 40, [1]]); - equal(result.join(' '), '1 2 3 30 40 1', 'takes the union of a list of nested arrays'); - }); - - test("difference", function() { - var result = _.difference([1, 2, 3], [2, 30, 40]); - equal(result.join(' '), '1 3', 'takes the difference of two arrays'); - - var result = _.difference([1, 2, 3, 4], [2, 30, 40], [1, 11, 111]); - equal(result.join(' '), '3 4', 'takes the difference of three arrays'); - }); - - test('zip', function() { - var names = ['moe', 'larry', 'curly'], ages = [30, 40, 50], leaders = [true]; - var stooges = _.zip(names, ages, leaders); - equal(String(stooges), 'moe,30,true,larry,40,,curly,50,', 'zipped together arrays of different lengths'); - }); - - test('object', function() { - var result = _.object(['moe', 'larry', 'curly'], [30, 40, 50]); - var shouldBe = {moe: 30, larry: 40, curly: 50}; - ok(_.isEqual(result, shouldBe), 'two arrays zipped together into an object'); - - result = _.object([['one', 1], ['two', 2], ['three', 3]]); - shouldBe = {one: 1, two: 2, three: 3}; - ok(_.isEqual(result, shouldBe), 'an array of pairs zipped together into an object'); - - var stooges = {moe: 30, larry: 40, curly: 50}; - ok(_.isEqual(_.object(_.pairs(stooges)), stooges), 'an object converted to pairs and back to an object'); - - ok(_.isEqual(_.object(null), {}), 'handles nulls'); - }); - - test("indexOf", function() { - var numbers = [1, 2, 3]; - numbers.indexOf = null; - equal(_.indexOf(numbers, 2), 1, 'can compute indexOf, even without the native function'); - var result = (function(){ return _.indexOf(arguments, 2); })(1, 2, 3); - equal(result, 1, 'works on an arguments object'); - equal(_.indexOf(null, 2), -1, 'handles nulls properly'); - - var numbers = [10, 20, 30, 40, 50], num = 35; - var index = _.indexOf(numbers, num, true); - equal(index, -1, '35 is not in the list'); - - numbers = [10, 20, 30, 40, 50]; num = 40; - index = _.indexOf(numbers, num, true); - equal(index, 3, '40 is in the list'); - - numbers = [1, 40, 40, 40, 40, 40, 40, 40, 50, 60, 70]; num = 40; - index = _.indexOf(numbers, num, true); - equal(index, 1, '40 is in the list'); - - numbers = [1, 2, 3, 1, 2, 3, 1, 2, 3]; - index = _.indexOf(numbers, 2, 5); - equal(index, 7, 'supports the fromIndex argument'); - }); - - test("lastIndexOf", function() { - var numbers = [1, 0, 1]; - equal(_.lastIndexOf(numbers, 1), 2); - - numbers = [1, 0, 1, 0, 0, 1, 0, 0, 0]; - numbers.lastIndexOf = null; - equal(_.lastIndexOf(numbers, 1), 5, 'can compute lastIndexOf, even without the native function'); - equal(_.lastIndexOf(numbers, 0), 8, 'lastIndexOf the other element'); - var result = (function(){ return _.lastIndexOf(arguments, 1); })(1, 0, 1, 0, 0, 1, 0, 0, 0); - equal(result, 5, 'works on an arguments object'); - equal(_.indexOf(null, 2), -1, 'handles nulls properly'); - - numbers = [1, 2, 3, 1, 2, 3, 1, 2, 3]; - index = _.lastIndexOf(numbers, 2, 2); - equal(index, 1, 'supports the fromIndex argument'); - }); - - test("range", function() { - equal(_.range(0).join(''), '', 'range with 0 as a first argument generates an empty array'); - equal(_.range(4).join(' '), '0 1 2 3', 'range with a single positive argument generates an array of elements 0,1,2,...,n-1'); - equal(_.range(5, 8).join(' '), '5 6 7', 'range with two arguments a & b, a<b generates an array of elements a,a+1,a+2,...,b-2,b-1'); - equal(_.range(8, 5).join(''), '', 'range with two arguments a & b, b<a generates an empty array'); - equal(_.range(3, 10, 3).join(' '), '3 6 9', 'range with three arguments a & b & c, c < b-a, a < b generates an array of elements a,a+c,a+2c,...,b - (multiplier of a) < c'); - equal(_.range(3, 10, 15).join(''), '3', 'range with three arguments a & b & c, c > b-a, a < b generates an array with a single element, equal to a'); - equal(_.range(12, 7, -2).join(' '), '12 10 8', 'range with three arguments a & b & c, a > b, c < 0 generates an array of elements a,a-c,a-2c and ends with the number not less than b'); - equal(_.range(0, -10, -1).join(' '), '0 -1 -2 -3 -4 -5 -6 -7 -8 -9', 'final example in the Python docs'); - }); - -}); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/chaining.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/chaining.js deleted file mode 100644 index 16cf7bf57417..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/chaining.js +++ /dev/null @@ -1,59 +0,0 @@ -$(document).ready(function() { - - module("Chaining"); - - test("map/flatten/reduce", function() { - var lyrics = [ - "I'm a lumberjack and I'm okay", - "I sleep all night and I work all day", - "He's a lumberjack and he's okay", - "He sleeps all night and he works all day" - ]; - var counts = _(lyrics).chain() - .map(function(line) { return line.split(''); }) - .flatten() - .reduce(function(hash, l) { - hash[l] = hash[l] || 0; - hash[l]++; - return hash; - }, {}).value(); - ok(counts['a'] == 16 && counts['e'] == 10, 'counted all the letters in the song'); - }); - - test("select/reject/sortBy", function() { - var numbers = [1,2,3,4,5,6,7,8,9,10]; - numbers = _(numbers).chain().select(function(n) { - return n % 2 == 0; - }).reject(function(n) { - return n % 4 == 0; - }).sortBy(function(n) { - return -n; - }).value(); - equal(numbers.join(', '), "10, 6, 2", "filtered and reversed the numbers"); - }); - - test("select/reject/sortBy in functional style", function() { - var numbers = [1,2,3,4,5,6,7,8,9,10]; - numbers = _.chain(numbers).select(function(n) { - return n % 2 == 0; - }).reject(function(n) { - return n % 4 == 0; - }).sortBy(function(n) { - return -n; - }).value(); - equal(numbers.join(', '), "10, 6, 2", "filtered and reversed the numbers"); - }); - - test("reverse/concat/unshift/pop/map", function() { - var numbers = [1,2,3,4,5]; - numbers = _(numbers).chain() - .reverse() - .concat([5, 5, 5]) - .unshift(17) - .pop() - .map(function(n){ return n * 2; }) - .value(); - equal(numbers.join(', '), "34, 10, 8, 6, 4, 2, 10, 10", 'can chain together array functions.'); - }); - -}); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/collections.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/collections.js deleted file mode 100644 index e089626dfdbb..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/collections.js +++ /dev/null @@ -1,426 +0,0 @@ -$(document).ready(function() { - - module("Collections"); - - test("each", function() { - _.each([1, 2, 3], function(num, i) { - equal(num, i + 1, 'each iterators provide value and iteration count'); - }); - - var answers = []; - _.each([1, 2, 3], function(num){ answers.push(num * this.multiplier);}, {multiplier : 5}); - equal(answers.join(', '), '5, 10, 15', 'context object property accessed'); - - answers = []; - _.forEach([1, 2, 3], function(num){ answers.push(num); }); - equal(answers.join(', '), '1, 2, 3', 'aliased as "forEach"'); - - answers = []; - var obj = {one : 1, two : 2, three : 3}; - obj.constructor.prototype.four = 4; - _.each(obj, function(value, key){ answers.push(key); }); - equal(answers.join(", "), 'one, two, three', 'iterating over objects works, and ignores the object prototype.'); - delete obj.constructor.prototype.four; - - answer = null; - _.each([1, 2, 3], function(num, index, arr){ if (_.include(arr, num)) answer = true; }); - ok(answer, 'can reference the original collection from inside the iterator'); - - answers = 0; - _.each(null, function(){ ++answers; }); - equal(answers, 0, 'handles a null properly'); - }); - - test('map', function() { - var doubled = _.map([1, 2, 3], function(num){ return num * 2; }); - equal(doubled.join(', '), '2, 4, 6', 'doubled numbers'); - - doubled = _.collect([1, 2, 3], function(num){ return num * 2; }); - equal(doubled.join(', '), '2, 4, 6', 'aliased as "collect"'); - - var tripled = _.map([1, 2, 3], function(num){ return num * this.multiplier; }, {multiplier : 3}); - equal(tripled.join(', '), '3, 6, 9', 'tripled numbers with context'); - - var doubled = _([1, 2, 3]).map(function(num){ return num * 2; }); - equal(doubled.join(', '), '2, 4, 6', 'OO-style doubled numbers'); - - if (document.querySelectorAll) { - var ids = _.map(document.querySelectorAll('#map-test *'), function(n){ return n.id; }); - deepEqual(ids, ['id1', 'id2'], 'Can use collection methods on NodeLists.'); - } - - var ids = _.map($('#map-test').children(), function(n){ return n.id; }); - deepEqual(ids, ['id1', 'id2'], 'Can use collection methods on jQuery Array-likes.'); - - var ids = _.map(document.images, function(n){ return n.id; }); - ok(ids[0] == 'chart_image', 'can use collection methods on HTMLCollections'); - - var ifnull = _.map(null, function(){}); - ok(_.isArray(ifnull) && ifnull.length === 0, 'handles a null properly'); - }); - - test('reduce', function() { - var sum = _.reduce([1, 2, 3], function(sum, num){ return sum + num; }, 0); - equal(sum, 6, 'can sum up an array'); - - var context = {multiplier : 3}; - sum = _.reduce([1, 2, 3], function(sum, num){ return sum + num * this.multiplier; }, 0, context); - equal(sum, 18, 'can reduce with a context object'); - - sum = _.inject([1, 2, 3], function(sum, num){ return sum + num; }, 0); - equal(sum, 6, 'aliased as "inject"'); - - sum = _([1, 2, 3]).reduce(function(sum, num){ return sum + num; }, 0); - equal(sum, 6, 'OO-style reduce'); - - var sum = _.reduce([1, 2, 3], function(sum, num){ return sum + num; }); - equal(sum, 6, 'default initial value'); - - var ifnull; - try { - _.reduce(null, function(){}); - } catch (ex) { - ifnull = ex; - } - ok(ifnull instanceof TypeError, 'handles a null (without inital value) properly'); - - ok(_.reduce(null, function(){}, 138) === 138, 'handles a null (with initial value) properly'); - equal(_.reduce([], function(){}, undefined), undefined, 'undefined can be passed as a special case'); - raises(function() { _.reduce([], function(){}); }, TypeError, 'throws an error for empty arrays with no initial value'); - }); - - test('reduceRight', function() { - var list = _.reduceRight(["foo", "bar", "baz"], function(memo, str){ return memo + str; }, ''); - equal(list, 'bazbarfoo', 'can perform right folds'); - - var list = _.foldr(["foo", "bar", "baz"], function(memo, str){ return memo + str; }, ''); - equal(list, 'bazbarfoo', 'aliased as "foldr"'); - - var list = _.foldr(["foo", "bar", "baz"], function(memo, str){ return memo + str; }); - equal(list, 'bazbarfoo', 'default initial value'); - - var ifnull; - try { - _.reduceRight(null, function(){}); - } catch (ex) { - ifnull = ex; - } - ok(ifnull instanceof TypeError, 'handles a null (without inital value) properly'); - - var sum = _.reduceRight({a: 1, b: 2, c: 3}, function(sum, num){ return sum + num; }); - equal(sum, 6, 'default initial value on object'); - - ok(_.reduceRight(null, function(){}, 138) === 138, 'handles a null (with initial value) properly'); - - equal(_.reduceRight([], function(){}, undefined), undefined, 'undefined can be passed as a special case'); - raises(function() { _.reduceRight([], function(){}); }, TypeError, 'throws an error for empty arrays with no initial value'); - - // Assert that the correct arguments are being passed. - - var args, - memo = {}, - object = {a: 1, b: 2}, - lastKey = _.keys(object).pop(); - - var expected = lastKey == 'a' - ? [memo, 1, 'a', object] - : [memo, 2, 'b', object]; - - _.reduceRight(object, function() { - args || (args = _.toArray(arguments)); - }, memo); - - deepEqual(args, expected); - - // And again, with numeric keys. - - object = {'2': 'a', '1': 'b'}; - lastKey = _.keys(object).pop(); - args = null; - - expected = lastKey == '2' - ? [memo, 'a', '2', object] - : [memo, 'b', '1', object]; - - _.reduceRight(object, function() { - args || (args = _.toArray(arguments)); - }, memo); - - deepEqual(args, expected); - }); - - test('find', function() { - var array = [1, 2, 3, 4]; - strictEqual(_.find(array, function(n) { return n > 2; }), 3, 'should return first found `value`'); - strictEqual(_.find(array, function() { return false; }), void 0, 'should return `undefined` if `value` is not found'); - }); - - test('detect', function() { - var result = _.detect([1, 2, 3], function(num){ return num * 2 == 4; }); - equal(result, 2, 'found the first "2" and broke the loop'); - }); - - test('select', function() { - var evens = _.select([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; }); - equal(evens.join(', '), '2, 4, 6', 'selected each even number'); - - evens = _.filter([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; }); - equal(evens.join(', '), '2, 4, 6', 'aliased as "filter"'); - }); - - test('reject', function() { - var odds = _.reject([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; }); - equal(odds.join(', '), '1, 3, 5', 'rejected each even number'); - - var context = "obj"; - - var evens = _.reject([1, 2, 3, 4, 5, 6], function(num){ - equal(context, "obj"); - return num % 2 != 0; - }, context); - equal(evens.join(', '), '2, 4, 6', 'rejected each odd number'); - }); - - test('all', function() { - ok(_.all([], _.identity), 'the empty set'); - ok(_.all([true, true, true], _.identity), 'all true values'); - ok(!_.all([true, false, true], _.identity), 'one false value'); - ok(_.all([0, 10, 28], function(num){ return num % 2 == 0; }), 'even numbers'); - ok(!_.all([0, 11, 28], function(num){ return num % 2 == 0; }), 'an odd number'); - ok(_.all([1], _.identity) === true, 'cast to boolean - true'); - ok(_.all([0], _.identity) === false, 'cast to boolean - false'); - ok(_.every([true, true, true], _.identity), 'aliased as "every"'); - ok(!_.all([undefined, undefined, undefined], _.identity), 'works with arrays of undefined'); - }); - - test('any', function() { - var nativeSome = Array.prototype.some; - Array.prototype.some = null; - ok(!_.any([]), 'the empty set'); - ok(!_.any([false, false, false]), 'all false values'); - ok(_.any([false, false, true]), 'one true value'); - ok(_.any([null, 0, 'yes', false]), 'a string'); - ok(!_.any([null, 0, '', false]), 'falsy values'); - ok(!_.any([1, 11, 29], function(num){ return num % 2 == 0; }), 'all odd numbers'); - ok(_.any([1, 10, 29], function(num){ return num % 2 == 0; }), 'an even number'); - ok(_.any([1], _.identity) === true, 'cast to boolean - true'); - ok(_.any([0], _.identity) === false, 'cast to boolean - false'); - ok(_.some([false, false, true]), 'aliased as "some"'); - Array.prototype.some = nativeSome; - }); - - test('include', function() { - ok(_.include([1,2,3], 2), 'two is in the array'); - ok(!_.include([1,3,9], 2), 'two is not in the array'); - ok(_.contains({moe:1, larry:3, curly:9}, 3) === true, '_.include on objects checks their values'); - ok(_([1,2,3]).include(2), 'OO-style include'); - }); - - test('invoke', function() { - var list = [[5, 1, 7], [3, 2, 1]]; - var result = _.invoke(list, 'sort'); - equal(result[0].join(', '), '1, 5, 7', 'first array sorted'); - equal(result[1].join(', '), '1, 2, 3', 'second array sorted'); - }); - - test('invoke w/ function reference', function() { - var list = [[5, 1, 7], [3, 2, 1]]; - var result = _.invoke(list, Array.prototype.sort); - equal(result[0].join(', '), '1, 5, 7', 'first array sorted'); - equal(result[1].join(', '), '1, 2, 3', 'second array sorted'); - }); - - // Relevant when using ClojureScript - test('invoke when strings have a call method', function() { - String.prototype.call = function() { - return 42; - }; - var list = [[5, 1, 7], [3, 2, 1]]; - var s = "foo"; - equal(s.call(), 42, "call function exists"); - var result = _.invoke(list, 'sort'); - equal(result[0].join(', '), '1, 5, 7', 'first array sorted'); - equal(result[1].join(', '), '1, 2, 3', 'second array sorted'); - delete String.prototype.call; - equal(s.call, undefined, "call function removed"); - }); - - test('pluck', function() { - var people = [{name : 'moe', age : 30}, {name : 'curly', age : 50}]; - equal(_.pluck(people, 'name').join(', '), 'moe, curly', 'pulls names out of objects'); - }); - - test('where', function() { - var list = [{a: 1, b: 2}, {a: 2, b: 2}, {a: 1, b: 3}, {a: 1, b: 4}]; - var result = _.where(list, {a: 1}); - equal(result.length, 3); - equal(result[result.length - 1].b, 4); - result = _.where(list, {b: 2}); - equal(result.length, 2); - equal(result[0].a, 1); - }); - - test('max', function() { - equal(3, _.max([1, 2, 3]), 'can perform a regular Math.max'); - - var neg = _.max([1, 2, 3], function(num){ return -num; }); - equal(neg, 1, 'can perform a computation-based max'); - - equal(-Infinity, _.max({}), 'Maximum value of an empty object'); - equal(-Infinity, _.max([]), 'Maximum value of an empty array'); - - equal(299999, _.max(_.range(1,300000)), "Maximum value of a too-big array"); - }); - - test('min', function() { - equal(1, _.min([1, 2, 3]), 'can perform a regular Math.min'); - - var neg = _.min([1, 2, 3], function(num){ return -num; }); - equal(neg, 3, 'can perform a computation-based min'); - - equal(Infinity, _.min({}), 'Minimum value of an empty object'); - equal(Infinity, _.min([]), 'Minimum value of an empty array'); - - var now = new Date(9999999999); - var then = new Date(0); - equal(_.min([now, then]), then); - - equal(1, _.min(_.range(1,300000)), "Minimum value of a too-big array"); - }); - - test('sortBy', function() { - var people = [{name : 'curly', age : 50}, {name : 'moe', age : 30}]; - people = _.sortBy(people, function(person){ return person.age; }); - equal(_.pluck(people, 'name').join(', '), 'moe, curly', 'stooges sorted by age'); - - var list = [undefined, 4, 1, undefined, 3, 2]; - equal(_.sortBy(list, _.identity).join(','), '1,2,3,4,,', 'sortBy with undefined values'); - - var list = ["one", "two", "three", "four", "five"]; - var sorted = _.sortBy(list, 'length'); - equal(sorted.join(' '), 'one two four five three', 'sorted by length'); - - function Pair(x, y) { - this.x = x; - this.y = y; - } - - var collection = [ - new Pair(1, 1), new Pair(1, 2), - new Pair(1, 3), new Pair(1, 4), - new Pair(1, 5), new Pair(1, 6), - new Pair(2, 1), new Pair(2, 2), - new Pair(2, 3), new Pair(2, 4), - new Pair(2, 5), new Pair(2, 6), - new Pair(undefined, 1), new Pair(undefined, 2), - new Pair(undefined, 3), new Pair(undefined, 4), - new Pair(undefined, 5), new Pair(undefined, 6) - ]; - - var actual = _.sortBy(collection, function(pair) { - return pair.x; - }); - - deepEqual(actual, collection, 'sortBy should be stable'); - }); - - test('groupBy', function() { - var parity = _.groupBy([1, 2, 3, 4, 5, 6], function(num){ return num % 2; }); - ok('0' in parity && '1' in parity, 'created a group for each value'); - equal(parity[0].join(', '), '2, 4, 6', 'put each even number in the right group'); - - var list = ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"]; - var grouped = _.groupBy(list, 'length'); - equal(grouped['3'].join(' '), 'one two six ten'); - equal(grouped['4'].join(' '), 'four five nine'); - equal(grouped['5'].join(' '), 'three seven eight'); - - var context = {}; - _.groupBy([{}], function(){ ok(this === context); }, context); - - grouped = _.groupBy([4.2, 6.1, 6.4], function(num) { - return Math.floor(num) > 4 ? 'hasOwnProperty' : 'constructor'; - }); - equal(grouped.constructor.length, 1); - equal(grouped.hasOwnProperty.length, 2); - - var array = [{}]; - _.groupBy(array, function(value, index, obj){ ok(obj === array); }); - }); - - test('countBy', function() { - var parity = _.countBy([1, 2, 3, 4, 5], function(num){ return num % 2 == 0; }); - equal(parity['true'], 2); - equal(parity['false'], 3); - - var list = ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"]; - var grouped = _.countBy(list, 'length'); - equal(grouped['3'], 4); - equal(grouped['4'], 3); - equal(grouped['5'], 3); - - var context = {}; - _.countBy([{}], function(){ ok(this === context); }, context); - - grouped = _.countBy([4.2, 6.1, 6.4], function(num) { - return Math.floor(num) > 4 ? 'hasOwnProperty' : 'constructor'; - }); - equal(grouped.constructor, 1); - equal(grouped.hasOwnProperty, 2); - - var array = [{}]; - _.countBy(array, function(value, index, obj){ ok(obj === array); }); - }); - - test('sortedIndex', function() { - var numbers = [10, 20, 30, 40, 50], num = 35; - var indexForNum = _.sortedIndex(numbers, num); - equal(indexForNum, 3, '35 should be inserted at index 3'); - - var indexFor30 = _.sortedIndex(numbers, 30); - equal(indexFor30, 2, '30 should be inserted at index 2'); - - var objects = [{x: 10}, {x: 20}, {x: 30}, {x: 40}]; - var iterator = function(obj){ return obj.x; }; - strictEqual(_.sortedIndex(objects, {x: 25}, iterator), 2); - strictEqual(_.sortedIndex(objects, {x: 35}, 'x'), 3); - - var context = {1: 2, 2: 3, 3: 4}; - iterator = function(obj){ return this[obj]; }; - strictEqual(_.sortedIndex([1, 3], 2, iterator, context), 1); - }); - - test('shuffle', function() { - var numbers = _.range(10); - var shuffled = _.shuffle(numbers).sort(); - notStrictEqual(numbers, shuffled, 'original object is unmodified'); - equal(shuffled.join(','), numbers.join(','), 'contains the same members before and after shuffle'); - }); - - test('toArray', function() { - ok(!_.isArray(arguments), 'arguments object is not an array'); - ok(_.isArray(_.toArray(arguments)), 'arguments object converted into array'); - var a = [1,2,3]; - ok(_.toArray(a) !== a, 'array is cloned'); - equal(_.toArray(a).join(', '), '1, 2, 3', 'cloned array contains same elements'); - - var numbers = _.toArray({one : 1, two : 2, three : 3}); - equal(numbers.join(', '), '1, 2, 3', 'object flattened into array'); - }); - - test('size', function() { - equal(_.size({one : 1, two : 2, three : 3}), 3, 'can compute the size of an object'); - equal(_.size([1, 2, 3]), 3, 'can compute the size of an array'); - - var func = function() { - return _.size(arguments); - }; - - equal(func(1, 2, 3, 4), 4, 'can test the size of the arguments object'); - - equal(_.size('hello'), 5, 'can compute the size of a string'); - - equal(_.size(null), 0, 'handles nulls'); - }); - -}); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/functions.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/functions.js deleted file mode 100644 index a529658779da..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/functions.js +++ /dev/null @@ -1,259 +0,0 @@ -$(document).ready(function() { - - module("Functions"); - - test("bind", function() { - var context = {name : 'moe'}; - var func = function(arg) { return "name: " + (this.name || arg); }; - var bound = _.bind(func, context); - equal(bound(), 'name: moe', 'can bind a function to a context'); - - bound = _(func).bind(context); - equal(bound(), 'name: moe', 'can do OO-style binding'); - - bound = _.bind(func, null, 'curly'); - equal(bound(), 'name: curly', 'can bind without specifying a context'); - - func = function(salutation, name) { return salutation + ': ' + name; }; - func = _.bind(func, this, 'hello'); - equal(func('moe'), 'hello: moe', 'the function was partially applied in advance'); - - var func = _.bind(func, this, 'curly'); - equal(func(), 'hello: curly', 'the function was completely applied in advance'); - - var func = function(salutation, firstname, lastname) { return salutation + ': ' + firstname + ' ' + lastname; }; - func = _.bind(func, this, 'hello', 'moe', 'curly'); - equal(func(), 'hello: moe curly', 'the function was partially applied in advance and can accept multiple arguments'); - - func = function(context, message) { equal(this, context, message); }; - _.bind(func, 0, 0, 'can bind a function to `0`')(); - _.bind(func, '', '', 'can bind a function to an empty string')(); - _.bind(func, false, false, 'can bind a function to `false`')(); - - // These tests are only meaningful when using a browser without a native bind function - // To test this with a modern browser, set underscore's nativeBind to undefined - var F = function () { return this; }; - var Boundf = _.bind(F, {hello: "moe curly"}); - equal(new Boundf().hello, undefined, "function should not be bound to the context, to comply with ECMAScript 5"); - equal(Boundf().hello, "moe curly", "When called without the new operator, it's OK to be bound to the context"); - }); - - test("bindAll", function() { - var curly = {name : 'curly'}, moe = { - name : 'moe', - getName : function() { return 'name: ' + this.name; }, - sayHi : function() { return 'hi: ' + this.name; } - }; - curly.getName = moe.getName; - _.bindAll(moe, 'getName', 'sayHi'); - curly.sayHi = moe.sayHi; - equal(curly.getName(), 'name: curly', 'unbound function is bound to current object'); - equal(curly.sayHi(), 'hi: moe', 'bound function is still bound to original object'); - - curly = {name : 'curly'}; - moe = { - name : 'moe', - getName : function() { return 'name: ' + this.name; }, - sayHi : function() { return 'hi: ' + this.name; } - }; - _.bindAll(moe); - curly.sayHi = moe.sayHi; - equal(curly.sayHi(), 'hi: moe', 'calling bindAll with no arguments binds all functions to the object'); - }); - - test("memoize", function() { - var fib = function(n) { - return n < 2 ? n : fib(n - 1) + fib(n - 2); - }; - var fastFib = _.memoize(fib); - equal(fib(10), 55, 'a memoized version of fibonacci produces identical results'); - equal(fastFib(10), 55, 'a memoized version of fibonacci produces identical results'); - - var o = function(str) { - return str; - }; - var fastO = _.memoize(o); - equal(o('toString'), 'toString', 'checks hasOwnProperty'); - equal(fastO('toString'), 'toString', 'checks hasOwnProperty'); - }); - - asyncTest("delay", 2, function() { - var delayed = false; - _.delay(function(){ delayed = true; }, 100); - setTimeout(function(){ ok(!delayed, "didn't delay the function quite yet"); }, 50); - setTimeout(function(){ ok(delayed, 'delayed the function'); start(); }, 150); - }); - - asyncTest("defer", 1, function() { - var deferred = false; - _.defer(function(bool){ deferred = bool; }, true); - _.delay(function(){ ok(deferred, "deferred the function"); start(); }, 50); - }); - - asyncTest("throttle", 2, function() { - var counter = 0; - var incr = function(){ counter++; }; - var throttledIncr = _.throttle(incr, 100); - throttledIncr(); throttledIncr(); throttledIncr(); - setTimeout(throttledIncr, 70); - setTimeout(throttledIncr, 120); - setTimeout(throttledIncr, 140); - setTimeout(throttledIncr, 190); - setTimeout(throttledIncr, 220); - setTimeout(throttledIncr, 240); - _.delay(function(){ equal(counter, 1, "incr was called immediately"); }, 30); - _.delay(function(){ equal(counter, 4, "incr was throttled"); start(); }, 400); - }); - - asyncTest("throttle arguments", 2, function() { - var value = 0; - var update = function(val){ value = val; }; - var throttledUpdate = _.throttle(update, 100); - throttledUpdate(1); throttledUpdate(2); throttledUpdate(3); - setTimeout(function(){ throttledUpdate(4); }, 120); - setTimeout(function(){ throttledUpdate(5); }, 140); - setTimeout(function(){ throttledUpdate(6); }, 250); - _.delay(function(){ equal(value, 1, "updated to latest value"); }, 40); - _.delay(function(){ equal(value, 6, "updated to latest value"); start(); }, 400); - }); - - asyncTest("throttle once", 2, function() { - var counter = 0; - var incr = function(){ return ++counter; }; - var throttledIncr = _.throttle(incr, 100); - var result = throttledIncr(); - _.delay(function(){ - equal(result, 1, "throttled functions return their value"); - equal(counter, 1, "incr was called once"); start(); - }, 220); - }); - - asyncTest("throttle twice", 1, function() { - var counter = 0; - var incr = function(){ counter++; }; - var throttledIncr = _.throttle(incr, 100); - throttledIncr(); throttledIncr(); - _.delay(function(){ equal(counter, 2, "incr was called twice"); start(); }, 220); - }); - - asyncTest("throttle repeatedly with results", 9, function() { - var counter = 0; - var incr = function(){ return ++counter; }; - var throttledIncr = _.throttle(incr, 100); - var results = []; - var saveResult = function() { results.push(throttledIncr()); }; - saveResult(); saveResult(); saveResult(); - setTimeout(saveResult, 70); - setTimeout(saveResult, 120); - setTimeout(saveResult, 140); - setTimeout(saveResult, 190); - setTimeout(saveResult, 240); - setTimeout(saveResult, 260); - _.delay(function() { - equal(results[0], 1, "incr was called once"); - equal(results[1], 1, "incr was throttled"); - equal(results[2], 1, "incr was throttled"); - equal(results[3], 1, "incr was throttled"); - equal(results[4], 2, "incr was called twice"); - equal(results[5], 2, "incr was throttled"); - equal(results[6], 2, "incr was throttled"); - equal(results[7], 3, "incr was called thrice"); - equal(results[8], 3, "incr was throttled"); - start(); - }, 400); - }); - - asyncTest("debounce", 1, function() { - var counter = 0; - var incr = function(){ counter++; }; - var debouncedIncr = _.debounce(incr, 50); - debouncedIncr(); debouncedIncr(); debouncedIncr(); - setTimeout(debouncedIncr, 30); - setTimeout(debouncedIncr, 60); - setTimeout(debouncedIncr, 90); - setTimeout(debouncedIncr, 120); - setTimeout(debouncedIncr, 150); - _.delay(function(){ equal(counter, 1, "incr was debounced"); start(); }, 220); - }); - - asyncTest("debounce asap", 5, function() { - var a, b, c; - var counter = 0; - var incr = function(){ return ++counter; }; - var debouncedIncr = _.debounce(incr, 50, true); - a = debouncedIncr(); - b = debouncedIncr(); - c = debouncedIncr(); - equal(a, 1); - equal(b, 1); - equal(c, 1); - equal(counter, 1, 'incr was called immediately'); - setTimeout(debouncedIncr, 30); - setTimeout(debouncedIncr, 60); - setTimeout(debouncedIncr, 90); - setTimeout(debouncedIncr, 120); - setTimeout(debouncedIncr, 150); - _.delay(function(){ equal(counter, 1, "incr was debounced"); start(); }, 220); - }); - - asyncTest("debounce asap recursively", 2, function() { - var counter = 0; - var debouncedIncr = _.debounce(function(){ - counter++; - if (counter < 5) debouncedIncr(); - }, 50, true); - debouncedIncr(); - equal(counter, 1, 'incr was called immediately'); - _.delay(function(){ equal(counter, 1, "incr was debounced"); start(); }, 70); - }); - - test("once", function() { - var num = 0; - var increment = _.once(function(){ num++; }); - increment(); - increment(); - equal(num, 1); - }); - - test("wrap", function() { - var greet = function(name){ return "hi: " + name; }; - var backwards = _.wrap(greet, function(func, name){ return func(name) + ' ' + name.split('').reverse().join(''); }); - equal(backwards('moe'), 'hi: moe eom', 'wrapped the saluation function'); - - var inner = function(){ return "Hello "; }; - var obj = {name : "Moe"}; - obj.hi = _.wrap(inner, function(fn){ return fn() + this.name; }); - equal(obj.hi(), "Hello Moe"); - - var noop = function(){}; - var wrapped = _.wrap(noop, function(fn){ return Array.prototype.slice.call(arguments, 0); }); - var ret = wrapped(['whats', 'your'], 'vector', 'victor'); - deepEqual(ret, [noop, ['whats', 'your'], 'vector', 'victor']); - }); - - test("compose", function() { - var greet = function(name){ return "hi: " + name; }; - var exclaim = function(sentence){ return sentence + '!'; }; - var composed = _.compose(exclaim, greet); - equal(composed('moe'), 'hi: moe!', 'can compose a function that takes another'); - - composed = _.compose(greet, exclaim); - equal(composed('moe'), 'hi: moe!', 'in this case, the functions are also commutative'); - }); - - test("after", function() { - var testAfter = function(afterAmount, timesCalled) { - var afterCalled = 0; - var after = _.after(afterAmount, function() { - afterCalled++; - }); - while (timesCalled--) after(); - return afterCalled; - }; - - equal(testAfter(5, 5), 1, "after(N) should fire after being called N times"); - equal(testAfter(5, 4), 0, "after(N) should not fire unless called N times"); - equal(testAfter(0, 0), 1, "after(0) should fire immediately"); - }); - -}); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/index.html b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/index.html deleted file mode 100644 index 064fa98611a2..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - Underscore Test Suite - - - - - - - - - - - - - - - - -
      -
      -
      -
      -
      -
      -
      -
      -

      Underscore Speed Suite

      -

      - A representative sample of the functions are benchmarked here, to provide - a sense of how fast they might run in different browsers. - Each iteration runs on an array of 1000 elements.

      - For example, the 'intersection' test measures the number of times you can - find the intersection of two thousand-element arrays in one second. -

      -
      - - - diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/objects.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/objects.js deleted file mode 100644 index 22949c3bfe06..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/objects.js +++ /dev/null @@ -1,548 +0,0 @@ -$(document).ready(function() { - - module("Objects"); - - test("keys", function() { - equal(_.keys({one : 1, two : 2}).join(', '), 'one, two', 'can extract the keys from an object'); - // the test above is not safe because it relies on for-in enumeration order - var a = []; a[1] = 0; - equal(_.keys(a).join(', '), '1', 'is not fooled by sparse arrays; see issue #95'); - raises(function() { _.keys(null); }, TypeError, 'throws an error for `null` values'); - raises(function() { _.keys(void 0); }, TypeError, 'throws an error for `undefined` values'); - raises(function() { _.keys(1); }, TypeError, 'throws an error for number primitives'); - raises(function() { _.keys('a'); }, TypeError, 'throws an error for string primitives'); - raises(function() { _.keys(true); }, TypeError, 'throws an error for boolean primitives'); - }); - - test("values", function() { - equal(_.values({one: 1, two: 2}).join(', '), '1, 2', 'can extract the values from an object'); - equal(_.values({one: 1, two: 2, length: 3}).join(', '), '1, 2, 3', '... even when one of them is "length"'); - }); - - test("pairs", function() { - deepEqual(_.pairs({one: 1, two: 2}), [['one', 1], ['two', 2]], 'can convert an object into pairs'); - deepEqual(_.pairs({one: 1, two: 2, length: 3}), [['one', 1], ['two', 2], ['length', 3]], '... even when one of them is "length"'); - }); - - test("invert", function() { - var obj = {first: 'Moe', second: 'Larry', third: 'Curly'}; - equal(_.keys(_.invert(obj)).join(' '), 'Moe Larry Curly', 'can invert an object'); - ok(_.isEqual(_.invert(_.invert(obj)), obj), 'two inverts gets you back where you started'); - - var obj = {length: 3}; - ok(_.invert(obj)['3'] == 'length', 'can invert an object with "length"') - }); - - test("functions", function() { - var obj = {a : 'dash', b : _.map, c : (/yo/), d : _.reduce}; - ok(_.isEqual(['b', 'd'], _.functions(obj)), 'can grab the function names of any passed-in object'); - - var Animal = function(){}; - Animal.prototype.run = function(){}; - equal(_.functions(new Animal).join(''), 'run', 'also looks up functions on the prototype'); - }); - - test("extend", function() { - var result; - equal(_.extend({}, {a:'b'}).a, 'b', 'can extend an object with the attributes of another'); - equal(_.extend({a:'x'}, {a:'b'}).a, 'b', 'properties in source override destination'); - equal(_.extend({x:'x'}, {a:'b'}).x, 'x', 'properties not in source dont get overriden'); - result = _.extend({x:'x'}, {a:'a'}, {b:'b'}); - ok(_.isEqual(result, {x:'x', a:'a', b:'b'}), 'can extend from multiple source objects'); - result = _.extend({x:'x'}, {a:'a', x:2}, {a:'b'}); - ok(_.isEqual(result, {x:2, a:'b'}), 'extending from multiple source objects last property trumps'); - result = _.extend({}, {a: void 0, b: null}); - equal(_.keys(result).join(''), 'ab', 'extend does not copy undefined values'); - }); - - test("pick", function() { - var result; - result = _.pick({a:1, b:2, c:3}, 'a', 'c'); - ok(_.isEqual(result, {a:1, c:3}), 'can restrict properties to those named'); - result = _.pick({a:1, b:2, c:3}, ['b', 'c']); - ok(_.isEqual(result, {b:2, c:3}), 'can restrict properties to those named in an array'); - result = _.pick({a:1, b:2, c:3}, ['a'], 'b'); - ok(_.isEqual(result, {a:1, b:2}), 'can restrict properties to those named in mixed args'); - - var Obj = function(){}; - Obj.prototype = {a: 1, b: 2, c: 3}; - ok(_.isEqual(_.pick(new Obj, 'a', 'c'), {a:1, c: 3}), 'include prototype props'); - }); - - test("omit", function() { - var result; - result = _.omit({a:1, b:2, c:3}, 'b'); - ok(_.isEqual(result, {a:1, c:3}), 'can omit a single named property'); - result = _.omit({a:1, b:2, c:3}, 'a', 'c'); - ok(_.isEqual(result, {b:2}), 'can omit several named properties'); - result = _.omit({a:1, b:2, c:3}, ['b', 'c']); - ok(_.isEqual(result, {a:1}), 'can omit properties named in an array'); - - var Obj = function(){}; - Obj.prototype = {a: 1, b: 2, c: 3}; - ok(_.isEqual(_.omit(new Obj, 'b'), {a:1, c: 3}), 'include prototype props'); - }); - - test("defaults", function() { - var result; - var options = {zero: 0, one: 1, empty: "", nan: NaN, string: "string"}; - - _.defaults(options, {zero: 1, one: 10, twenty: 20}); - equal(options.zero, 0, 'value exists'); - equal(options.one, 1, 'value exists'); - equal(options.twenty, 20, 'default applied'); - - _.defaults(options, {empty: "full"}, {nan: "nan"}, {word: "word"}, {word: "dog"}); - equal(options.empty, "", 'value exists'); - ok(_.isNaN(options.nan), "NaN isn't overridden"); - equal(options.word, "word", 'new value is added, first one wins'); - }); - - test("clone", function() { - var moe = {name : 'moe', lucky : [13, 27, 34]}; - var clone = _.clone(moe); - equal(clone.name, 'moe', 'the clone as the attributes of the original'); - - clone.name = 'curly'; - ok(clone.name == 'curly' && moe.name == 'moe', 'clones can change shallow attributes without affecting the original'); - - clone.lucky.push(101); - equal(_.last(moe.lucky), 101, 'changes to deep attributes are shared with the original'); - - equal(_.clone(undefined), void 0, 'non objects should not be changed by clone'); - equal(_.clone(1), 1, 'non objects should not be changed by clone'); - equal(_.clone(null), null, 'non objects should not be changed by clone'); - }); - - test("isEqual", function() { - function First() { - this.value = 1; - } - First.prototype.value = 1; - function Second() { - this.value = 1; - } - Second.prototype.value = 2; - - // Basic equality and identity comparisons. - ok(_.isEqual(null, null), "`null` is equal to `null`"); - ok(_.isEqual(), "`undefined` is equal to `undefined`"); - - ok(!_.isEqual(0, -0), "`0` is not equal to `-0`"); - ok(!_.isEqual(-0, 0), "Commutative equality is implemented for `0` and `-0`"); - ok(!_.isEqual(null, undefined), "`null` is not equal to `undefined`"); - ok(!_.isEqual(undefined, null), "Commutative equality is implemented for `null` and `undefined`"); - - // String object and primitive comparisons. - ok(_.isEqual("Curly", "Curly"), "Identical string primitives are equal"); - ok(_.isEqual(new String("Curly"), new String("Curly")), "String objects with identical primitive values are equal"); - ok(_.isEqual(new String("Curly"), "Curly"), "String primitives and their corresponding object wrappers are equal"); - ok(_.isEqual("Curly", new String("Curly")), "Commutative equality is implemented for string objects and primitives"); - - ok(!_.isEqual("Curly", "Larry"), "String primitives with different values are not equal"); - ok(!_.isEqual(new String("Curly"), new String("Larry")), "String objects with different primitive values are not equal"); - ok(!_.isEqual(new String("Curly"), {toString: function(){ return "Curly"; }}), "String objects and objects with a custom `toString` method are not equal"); - - // Number object and primitive comparisons. - ok(_.isEqual(75, 75), "Identical number primitives are equal"); - ok(_.isEqual(new Number(75), new Number(75)), "Number objects with identical primitive values are equal"); - ok(_.isEqual(75, new Number(75)), "Number primitives and their corresponding object wrappers are equal"); - ok(_.isEqual(new Number(75), 75), "Commutative equality is implemented for number objects and primitives"); - ok(!_.isEqual(new Number(0), -0), "`new Number(0)` and `-0` are not equal"); - ok(!_.isEqual(0, new Number(-0)), "Commutative equality is implemented for `new Number(0)` and `-0`"); - - ok(!_.isEqual(new Number(75), new Number(63)), "Number objects with different primitive values are not equal"); - ok(!_.isEqual(new Number(63), {valueOf: function(){ return 63; }}), "Number objects and objects with a `valueOf` method are not equal"); - - // Comparisons involving `NaN`. - ok(_.isEqual(NaN, NaN), "`NaN` is equal to `NaN`"); - ok(!_.isEqual(61, NaN), "A number primitive is not equal to `NaN`"); - ok(!_.isEqual(new Number(79), NaN), "A number object is not equal to `NaN`"); - ok(!_.isEqual(Infinity, NaN), "`Infinity` is not equal to `NaN`"); - - // Boolean object and primitive comparisons. - ok(_.isEqual(true, true), "Identical boolean primitives are equal"); - ok(_.isEqual(new Boolean, new Boolean), "Boolean objects with identical primitive values are equal"); - ok(_.isEqual(true, new Boolean(true)), "Boolean primitives and their corresponding object wrappers are equal"); - ok(_.isEqual(new Boolean(true), true), "Commutative equality is implemented for booleans"); - ok(!_.isEqual(new Boolean(true), new Boolean), "Boolean objects with different primitive values are not equal"); - - // Common type coercions. - ok(!_.isEqual(true, new Boolean(false)), "Boolean objects are not equal to the boolean primitive `true`"); - ok(!_.isEqual("75", 75), "String and number primitives with like values are not equal"); - ok(!_.isEqual(new Number(63), new String(63)), "String and number objects with like values are not equal"); - ok(!_.isEqual(75, "75"), "Commutative equality is implemented for like string and number values"); - ok(!_.isEqual(0, ""), "Number and string primitives with like values are not equal"); - ok(!_.isEqual(1, true), "Number and boolean primitives with like values are not equal"); - ok(!_.isEqual(new Boolean(false), new Number(0)), "Boolean and number objects with like values are not equal"); - ok(!_.isEqual(false, new String("")), "Boolean primitives and string objects with like values are not equal"); - ok(!_.isEqual(12564504e5, new Date(2009, 9, 25)), "Dates and their corresponding numeric primitive values are not equal"); - - // Dates. - ok(_.isEqual(new Date(2009, 9, 25), new Date(2009, 9, 25)), "Date objects referencing identical times are equal"); - ok(!_.isEqual(new Date(2009, 9, 25), new Date(2009, 11, 13)), "Date objects referencing different times are not equal"); - ok(!_.isEqual(new Date(2009, 11, 13), { - getTime: function(){ - return 12606876e5; - } - }), "Date objects and objects with a `getTime` method are not equal"); - ok(!_.isEqual(new Date("Curly"), new Date("Curly")), "Invalid dates are not equal"); - - // Functions. - ok(!_.isEqual(First, Second), "Different functions with identical bodies and source code representations are not equal"); - - // RegExps. - ok(_.isEqual(/(?:)/gim, /(?:)/gim), "RegExps with equivalent patterns and flags are equal"); - ok(!_.isEqual(/(?:)/g, /(?:)/gi), "RegExps with equivalent patterns and different flags are not equal"); - ok(!_.isEqual(/Moe/gim, /Curly/gim), "RegExps with different patterns and equivalent flags are not equal"); - ok(!_.isEqual(/(?:)/gi, /(?:)/g), "Commutative equality is implemented for RegExps"); - ok(!_.isEqual(/Curly/g, {source: "Larry", global: true, ignoreCase: false, multiline: false}), "RegExps and RegExp-like objects are not equal"); - - // Empty arrays, array-like objects, and object literals. - ok(_.isEqual({}, {}), "Empty object literals are equal"); - ok(_.isEqual([], []), "Empty array literals are equal"); - ok(_.isEqual([{}], [{}]), "Empty nested arrays and objects are equal"); - ok(!_.isEqual({length: 0}, []), "Array-like objects and arrays are not equal."); - ok(!_.isEqual([], {length: 0}), "Commutative equality is implemented for array-like objects"); - - ok(!_.isEqual({}, []), "Object literals and array literals are not equal"); - ok(!_.isEqual([], {}), "Commutative equality is implemented for objects and arrays"); - - // Arrays with primitive and object values. - ok(_.isEqual([1, "Larry", true], [1, "Larry", true]), "Arrays containing identical primitives are equal"); - ok(_.isEqual([(/Moe/g), new Date(2009, 9, 25)], [(/Moe/g), new Date(2009, 9, 25)]), "Arrays containing equivalent elements are equal"); - - // Multi-dimensional arrays. - var a = [new Number(47), false, "Larry", /Moe/, new Date(2009, 11, 13), ['running', 'biking', new String('programming')], {a: 47}]; - var b = [new Number(47), false, "Larry", /Moe/, new Date(2009, 11, 13), ['running', 'biking', new String('programming')], {a: 47}]; - ok(_.isEqual(a, b), "Arrays containing nested arrays and objects are recursively compared"); - - // Overwrite the methods defined in ES 5.1 section 15.4.4. - a.forEach = a.map = a.filter = a.every = a.indexOf = a.lastIndexOf = a.some = a.reduce = a.reduceRight = null; - b.join = b.pop = b.reverse = b.shift = b.slice = b.splice = b.concat = b.sort = b.unshift = null; - - // Array elements and properties. - ok(_.isEqual(a, b), "Arrays containing equivalent elements and different non-numeric properties are equal"); - a.push("White Rocks"); - ok(!_.isEqual(a, b), "Arrays of different lengths are not equal"); - a.push("East Boulder"); - b.push("Gunbarrel Ranch", "Teller Farm"); - ok(!_.isEqual(a, b), "Arrays of identical lengths containing different elements are not equal"); - - // Sparse arrays. - ok(_.isEqual(Array(3), Array(3)), "Sparse arrays of identical lengths are equal"); - ok(!_.isEqual(Array(3), Array(6)), "Sparse arrays of different lengths are not equal when both are empty"); - - // Simple objects. - ok(_.isEqual({a: "Curly", b: 1, c: true}, {a: "Curly", b: 1, c: true}), "Objects containing identical primitives are equal"); - ok(_.isEqual({a: /Curly/g, b: new Date(2009, 11, 13)}, {a: /Curly/g, b: new Date(2009, 11, 13)}), "Objects containing equivalent members are equal"); - ok(!_.isEqual({a: 63, b: 75}, {a: 61, b: 55}), "Objects of identical sizes with different values are not equal"); - ok(!_.isEqual({a: 63, b: 75}, {a: 61, c: 55}), "Objects of identical sizes with different property names are not equal"); - ok(!_.isEqual({a: 1, b: 2}, {a: 1}), "Objects of different sizes are not equal"); - ok(!_.isEqual({a: 1}, {a: 1, b: 2}), "Commutative equality is implemented for objects"); - ok(!_.isEqual({x: 1, y: undefined}, {x: 1, z: 2}), "Objects with identical keys and different values are not equivalent"); - - // `A` contains nested objects and arrays. - a = { - name: new String("Moe Howard"), - age: new Number(77), - stooge: true, - hobbies: ["acting"], - film: { - name: "Sing a Song of Six Pants", - release: new Date(1947, 9, 30), - stars: [new String("Larry Fine"), "Shemp Howard"], - minutes: new Number(16), - seconds: 54 - } - }; - - // `B` contains equivalent nested objects and arrays. - b = { - name: new String("Moe Howard"), - age: new Number(77), - stooge: true, - hobbies: ["acting"], - film: { - name: "Sing a Song of Six Pants", - release: new Date(1947, 9, 30), - stars: [new String("Larry Fine"), "Shemp Howard"], - minutes: new Number(16), - seconds: 54 - } - }; - ok(_.isEqual(a, b), "Objects with nested equivalent members are recursively compared"); - - // Instances. - ok(_.isEqual(new First, new First), "Object instances are equal"); - ok(!_.isEqual(new First, new Second), "Objects with different constructors and identical own properties are not equal"); - ok(!_.isEqual({value: 1}, new First), "Object instances and objects sharing equivalent properties are not equal"); - ok(!_.isEqual({value: 2}, new Second), "The prototype chain of objects should not be examined"); - - // Circular Arrays. - (a = []).push(a); - (b = []).push(b); - ok(_.isEqual(a, b), "Arrays containing circular references are equal"); - a.push(new String("Larry")); - b.push(new String("Larry")); - ok(_.isEqual(a, b), "Arrays containing circular references and equivalent properties are equal"); - a.push("Shemp"); - b.push("Curly"); - ok(!_.isEqual(a, b), "Arrays containing circular references and different properties are not equal"); - - // More circular arrays #767. - a = ["everything is checked but", "this", "is not"]; - a[1] = a; - b = ["everything is checked but", ["this", "array"], "is not"]; - ok(!_.isEqual(a, b), "Comparison of circular references with non-circular references are not equal"); - - // Circular Objects. - a = {abc: null}; - b = {abc: null}; - a.abc = a; - b.abc = b; - ok(_.isEqual(a, b), "Objects containing circular references are equal"); - a.def = 75; - b.def = 75; - ok(_.isEqual(a, b), "Objects containing circular references and equivalent properties are equal"); - a.def = new Number(75); - b.def = new Number(63); - ok(!_.isEqual(a, b), "Objects containing circular references and different properties are not equal"); - - // More circular objects #767. - a = {everything: "is checked", but: "this", is: "not"}; - a.but = a; - b = {everything: "is checked", but: {that:"object"}, is: "not"}; - ok(!_.isEqual(a, b), "Comparison of circular references with non-circular object references are not equal"); - - // Cyclic Structures. - a = [{abc: null}]; - b = [{abc: null}]; - (a[0].abc = a).push(a); - (b[0].abc = b).push(b); - ok(_.isEqual(a, b), "Cyclic structures are equal"); - a[0].def = "Larry"; - b[0].def = "Larry"; - ok(_.isEqual(a, b), "Cyclic structures containing equivalent properties are equal"); - a[0].def = new String("Larry"); - b[0].def = new String("Curly"); - ok(!_.isEqual(a, b), "Cyclic structures containing different properties are not equal"); - - // Complex Circular References. - a = {foo: {b: {foo: {c: {foo: null}}}}}; - b = {foo: {b: {foo: {c: {foo: null}}}}}; - a.foo.b.foo.c.foo = a; - b.foo.b.foo.c.foo = b; - ok(_.isEqual(a, b), "Cyclic structures with nested and identically-named properties are equal"); - - // Chaining. - ok(!_.isEqual(_({x: 1, y: undefined}).chain(), _({x: 1, z: 2}).chain()), 'Chained objects containing different values are not equal'); - equal(_({x: 1, y: 2}).chain().isEqual(_({x: 1, y: 2}).chain()).value(), true, '`isEqual` can be chained'); - - // Custom `isEqual` methods. - var isEqualObj = {isEqual: function (o) { return o.isEqual == this.isEqual; }, unique: {}}; - var isEqualObjClone = {isEqual: isEqualObj.isEqual, unique: {}}; - - ok(_.isEqual(isEqualObj, isEqualObjClone), 'Both objects implement identical `isEqual` methods'); - ok(_.isEqual(isEqualObjClone, isEqualObj), 'Commutative equality is implemented for objects with custom `isEqual` methods'); - ok(!_.isEqual(isEqualObj, {}), 'Objects that do not implement equivalent `isEqual` methods are not equal'); - ok(!_.isEqual({}, isEqualObj), 'Commutative equality is implemented for objects with different `isEqual` methods'); - - // Objects from another frame. - ok(_.isEqual({}, iObject)); - }); - - test("isEmpty", function() { - ok(!_([1]).isEmpty(), '[1] is not empty'); - ok(_.isEmpty([]), '[] is empty'); - ok(!_.isEmpty({one : 1}), '{one : 1} is not empty'); - ok(_.isEmpty({}), '{} is empty'); - ok(_.isEmpty(new RegExp('')), 'objects with prototype properties are empty'); - ok(_.isEmpty(null), 'null is empty'); - ok(_.isEmpty(), 'undefined is empty'); - ok(_.isEmpty(''), 'the empty string is empty'); - ok(!_.isEmpty('moe'), 'but other strings are not'); - - var obj = {one : 1}; - delete obj.one; - ok(_.isEmpty(obj), 'deleting all the keys from an object empties it'); - }); - - // Setup remote variables for iFrame tests. - var iframe = document.createElement('iframe'); - jQuery(iframe).appendTo(document.body); - var iDoc = iframe.contentDocument || iframe.contentWindow.document; - iDoc.write( - "" - ); - iDoc.close(); - - test("isElement", function() { - ok(!_.isElement('div'), 'strings are not dom elements'); - ok(_.isElement($('html')[0]), 'the html tag is a DOM element'); - ok(_.isElement(iElement), 'even from another frame'); - }); - - test("isArguments", function() { - var args = (function(){ return arguments; })(1, 2, 3); - ok(!_.isArguments('string'), 'a string is not an arguments object'); - ok(!_.isArguments(_.isArguments), 'a function is not an arguments object'); - ok(_.isArguments(args), 'but the arguments object is an arguments object'); - ok(!_.isArguments(_.toArray(args)), 'but not when it\'s converted into an array'); - ok(!_.isArguments([1,2,3]), 'and not vanilla arrays.'); - ok(_.isArguments(iArguments), 'even from another frame'); - }); - - test("isObject", function() { - ok(_.isObject(arguments), 'the arguments object is object'); - ok(_.isObject([1, 2, 3]), 'and arrays'); - ok(_.isObject($('html')[0]), 'and DOM element'); - ok(_.isObject(iElement), 'even from another frame'); - ok(_.isObject(function () {}), 'and functions'); - ok(_.isObject(iFunction), 'even from another frame'); - ok(!_.isObject(null), 'but not null'); - ok(!_.isObject(undefined), 'and not undefined'); - ok(!_.isObject('string'), 'and not string'); - ok(!_.isObject(12), 'and not number'); - ok(!_.isObject(true), 'and not boolean'); - ok(_.isObject(new String('string')), 'but new String()'); - }); - - test("isArray", function() { - ok(!_.isArray(arguments), 'the arguments object is not an array'); - ok(_.isArray([1, 2, 3]), 'but arrays are'); - ok(_.isArray(iArray), 'even from another frame'); - }); - - test("isString", function() { - ok(!_.isString(document.body), 'the document body is not a string'); - ok(_.isString([1, 2, 3].join(', ')), 'but strings are'); - ok(_.isString(iString), 'even from another frame'); - }); - - test("isNumber", function() { - ok(!_.isNumber('string'), 'a string is not a number'); - ok(!_.isNumber(arguments), 'the arguments object is not a number'); - ok(!_.isNumber(undefined), 'undefined is not a number'); - ok(_.isNumber(3 * 4 - 7 / 10), 'but numbers are'); - ok(_.isNumber(NaN), 'NaN *is* a number'); - ok(_.isNumber(Infinity), 'Infinity is a number'); - ok(_.isNumber(iNumber), 'even from another frame'); - ok(!_.isNumber('1'), 'numeric strings are not numbers'); - }); - - test("isBoolean", function() { - ok(!_.isBoolean(2), 'a number is not a boolean'); - ok(!_.isBoolean("string"), 'a string is not a boolean'); - ok(!_.isBoolean("false"), 'the string "false" is not a boolean'); - ok(!_.isBoolean("true"), 'the string "true" is not a boolean'); - ok(!_.isBoolean(arguments), 'the arguments object is not a boolean'); - ok(!_.isBoolean(undefined), 'undefined is not a boolean'); - ok(!_.isBoolean(NaN), 'NaN is not a boolean'); - ok(!_.isBoolean(null), 'null is not a boolean'); - ok(_.isBoolean(true), 'but true is'); - ok(_.isBoolean(false), 'and so is false'); - ok(_.isBoolean(iBoolean), 'even from another frame'); - }); - - test("isFunction", function() { - ok(!_.isFunction([1, 2, 3]), 'arrays are not functions'); - ok(!_.isFunction('moe'), 'strings are not functions'); - ok(_.isFunction(_.isFunction), 'but functions are'); - ok(_.isFunction(iFunction), 'even from another frame'); - }); - - test("isDate", function() { - ok(!_.isDate(100), 'numbers are not dates'); - ok(!_.isDate({}), 'objects are not dates'); - ok(_.isDate(new Date()), 'but dates are'); - ok(_.isDate(iDate), 'even from another frame'); - }); - - test("isRegExp", function() { - ok(!_.isRegExp(_.identity), 'functions are not RegExps'); - ok(_.isRegExp(/identity/), 'but RegExps are'); - ok(_.isRegExp(iRegExp), 'even from another frame'); - }); - - test("isFinite", function() { - ok(!_.isFinite(undefined), 'undefined is not Finite'); - ok(!_.isFinite(null), 'null is not Finite'); - ok(!_.isFinite(NaN), 'NaN is not Finite'); - ok(!_.isFinite(Infinity), 'Infinity is not Finite'); - ok(!_.isFinite(-Infinity), '-Infinity is not Finite'); - ok(!_.isFinite('12'), 'Strings are not numbers'); - var obj = new Number(5); - ok(_.isFinite(obj), 'Number instances can be finite'); - ok(_.isFinite(0), '0 is Finite'); - ok(_.isFinite(123), 'Ints are Finite'); - ok(_.isFinite(-12.44), 'Floats are Finite'); - }); - - test("isNaN", function() { - ok(!_.isNaN(undefined), 'undefined is not NaN'); - ok(!_.isNaN(null), 'null is not NaN'); - ok(!_.isNaN(0), '0 is not NaN'); - ok(_.isNaN(NaN), 'but NaN is'); - ok(_.isNaN(iNaN), 'even from another frame'); - ok(_.isNaN(new Number(NaN)), 'wrapped NaN is still NaN'); - }); - - test("isNull", function() { - ok(!_.isNull(undefined), 'undefined is not null'); - ok(!_.isNull(NaN), 'NaN is not null'); - ok(_.isNull(null), 'but null is'); - ok(_.isNull(iNull), 'even from another frame'); - }); - - test("isUndefined", function() { - ok(!_.isUndefined(1), 'numbers are defined'); - ok(!_.isUndefined(null), 'null is defined'); - ok(!_.isUndefined(false), 'false is defined'); - ok(!_.isUndefined(NaN), 'NaN is defined'); - ok(_.isUndefined(), 'nothing is undefined'); - ok(_.isUndefined(undefined), 'undefined is undefined'); - ok(_.isUndefined(iUndefined), 'even from another frame'); - }); - - if (window.ActiveXObject) { - test("IE host objects", function() { - var xml = new ActiveXObject("Msxml2.DOMDocument.3.0"); - ok(!_.isNumber(xml)); - ok(!_.isBoolean(xml)); - ok(!_.isNaN(xml)); - ok(!_.isFunction(xml)); - ok(!_.isNull(xml)); - ok(!_.isUndefined(xml)); - }); - } - - test("tap", function() { - var intercepted = null; - var interceptor = function(obj) { intercepted = obj; }; - var returned = _.tap(1, interceptor); - equal(intercepted, 1, "passes tapped object to interceptor"); - equal(returned, 1, "returns tapped object"); - - returned = _([1,2,3]).chain(). - map(function(n){ return n * 2; }). - max(). - tap(interceptor). - value(); - ok(returned == 6 && intercepted == 6, 'can use tapped objects in a chain'); - }); -}); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/speed.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/speed.js deleted file mode 100644 index 05e3f2a37e01..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/speed.js +++ /dev/null @@ -1,75 +0,0 @@ -(function() { - - var numbers = []; - for (var i=0; i<1000; i++) numbers.push(i); - var objects = _.map(numbers, function(n){ return {num : n}; }); - var randomized = _.sortBy(numbers, function(){ return Math.random(); }); - var deep = _.map(_.range(100), function() { return _.range(1000); }); - - JSLitmus.test('_.each()', function() { - var timesTwo = []; - _.each(numbers, function(num){ timesTwo.push(num * 2); }); - return timesTwo; - }); - - JSLitmus.test('_(list).each()', function() { - var timesTwo = []; - _(numbers).each(function(num){ timesTwo.push(num * 2); }); - return timesTwo; - }); - - JSLitmus.test('jQuery.each()', function() { - var timesTwo = []; - jQuery.each(numbers, function(){ timesTwo.push(this * 2); }); - return timesTwo; - }); - - JSLitmus.test('_.map()', function() { - return _.map(objects, function(obj){ return obj.num; }); - }); - - JSLitmus.test('jQuery.map()', function() { - return jQuery.map(objects, function(obj){ return obj.num; }); - }); - - JSLitmus.test('_.pluck()', function() { - return _.pluck(objects, 'num'); - }); - - JSLitmus.test('_.uniq()', function() { - return _.uniq(randomized); - }); - - JSLitmus.test('_.uniq() (sorted)', function() { - return _.uniq(numbers, true); - }); - - JSLitmus.test('_.sortBy()', function() { - return _.sortBy(numbers, function(num){ return -num; }); - }); - - JSLitmus.test('_.isEqual()', function() { - return _.isEqual(numbers, randomized); - }); - - JSLitmus.test('_.keys()', function() { - return _.keys(objects); - }); - - JSLitmus.test('_.values()', function() { - return _.values(objects); - }); - - JSLitmus.test('_.intersection()', function() { - return _.intersection(numbers, randomized); - }); - - JSLitmus.test('_.range()', function() { - return _.range(1000); - }); - - JSLitmus.test('_.flatten()', function() { - return _.flatten(deep); - }); - -})(); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/utility.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/utility.js deleted file mode 100644 index c9be20ad7968..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/utility.js +++ /dev/null @@ -1,249 +0,0 @@ -$(document).ready(function() { - - var templateSettings; - - module("Utility", { - - setup: function() { - templateSettings = _.clone(_.templateSettings); - }, - - teardown: function() { - _.templateSettings = templateSettings; - } - - }); - - test("#750 - Return _ instance.", 2, function() { - var instance = _([]); - ok(_(instance) === instance); - ok(new _(instance) === instance); - }); - - test("identity", function() { - var moe = {name : 'moe'}; - equal(_.identity(moe), moe, 'moe is the same as his identity'); - }); - - test("uniqueId", function() { - var ids = [], i = 0; - while(i++ < 100) ids.push(_.uniqueId()); - equal(_.uniq(ids).length, ids.length, 'can generate a globally-unique stream of ids'); - }); - - test("times", function() { - var vals = []; - _.times(3, function (i) { vals.push(i); }); - ok(_.isEqual(vals, [0,1,2]), "is 0 indexed"); - // - vals = []; - _(3).times(function (i) { vals.push(i); }); - ok(_.isEqual(vals, [0,1,2]), "works as a wrapper"); - }); - - test("mixin", function() { - _.mixin({ - myReverse: function(string) { - return string.split('').reverse().join(''); - } - }); - equal(_.myReverse('panacea'), 'aecanap', 'mixed in a function to _'); - equal(_('champ').myReverse(), 'pmahc', 'mixed in a function to the OOP wrapper'); - }); - - test("_.escape", function() { - equal(_.escape("Curly & Moe"), "Curly & Moe"); - equal(_.escape("Curly & Moe"), "Curly &amp; Moe"); - equal(_.escape(null), ''); - }); - - test("_.unescape", function() { - var string = "Curly & Moe"; - equal(_.unescape("Curly & Moe"), string); - equal(_.unescape("Curly &amp; Moe"), "Curly & Moe"); - equal(_.unescape(null), ''); - equal(_.unescape(_.escape(string)), string); - }); - - test("template", function() { - var basicTemplate = _.template("<%= thing %> is gettin' on my noives!"); - var result = basicTemplate({thing : 'This'}); - equal(result, "This is gettin' on my noives!", 'can do basic attribute interpolation'); - - var sansSemicolonTemplate = _.template("A <% this %> B"); - equal(sansSemicolonTemplate(), "A B"); - - var backslashTemplate = _.template("<%= thing %> is \\ridanculous"); - equal(backslashTemplate({thing: 'This'}), "This is \\ridanculous"); - - var escapeTemplate = _.template('<%= a ? "checked=\\"checked\\"" : "" %>'); - equal(escapeTemplate({a: true}), 'checked="checked"', 'can handle slash escapes in interpolations.'); - - var fancyTemplate = _.template("
        <% \ - for (key in people) { \ - %>
      • <%= people[key] %>
      • <% } %>
      "); - result = fancyTemplate({people : {moe : "Moe", larry : "Larry", curly : "Curly"}}); - equal(result, "
      • Moe
      • Larry
      • Curly
      ", 'can run arbitrary javascript in templates'); - - var escapedCharsInJavascriptTemplate = _.template("
        <% _.each(numbers.split('\\n'), function(item) { %>
      • <%= item %>
      • <% }) %>
      "); - result = escapedCharsInJavascriptTemplate({numbers: "one\ntwo\nthree\nfour"}); - equal(result, "
      • one
      • two
      • three
      • four
      ", 'Can use escaped characters (e.g. \\n) in Javascript'); - - var namespaceCollisionTemplate = _.template("<%= pageCount %> <%= thumbnails[pageCount] %> <% _.each(thumbnails, function(p) { %>
      \">
      <% }); %>"); - result = namespaceCollisionTemplate({ - pageCount: 3, - thumbnails: { - 1: "p1-thumbnail.gif", - 2: "p2-thumbnail.gif", - 3: "p3-thumbnail.gif" - } - }); - equal(result, "3 p3-thumbnail.gif
      "); - - var noInterpolateTemplate = _.template("

      Just some text. Hey, I know this is silly but it aids consistency.

      "); - result = noInterpolateTemplate(); - equal(result, "

      Just some text. Hey, I know this is silly but it aids consistency.

      "); - - var quoteTemplate = _.template("It's its, not it's"); - equal(quoteTemplate({}), "It's its, not it's"); - - var quoteInStatementAndBody = _.template("<%\ - if(foo == 'bar'){ \ - %>Statement quotes and 'quotes'.<% } %>"); - equal(quoteInStatementAndBody({foo: "bar"}), "Statement quotes and 'quotes'."); - - var withNewlinesAndTabs = _.template('This\n\t\tis: <%= x %>.\n\tok.\nend.'); - equal(withNewlinesAndTabs({x: 'that'}), 'This\n\t\tis: that.\n\tok.\nend.'); - - var template = _.template("<%- value %>"); - var result = template({value: " - - - diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/index.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/index.js deleted file mode 100644 index 2cf0ca5b0913..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./underscore'); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json deleted file mode 100644 index 014ab265f48c..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "underscore", - "description": "JavaScript's functional programming helper library.", - "homepage": "http://underscorejs.org", - "keywords": [ - "util", - "functional", - "server", - "client", - "browser" - ], - "author": { - "name": "Jeremy Ashkenas", - "email": "jeremy@documentcloud.org" - }, - "repository": { - "type": "git", - "url": "git://github.com/documentcloud/underscore.git" - }, - "main": "underscore.js", - "version": "1.4.4", - "devDependencies": { - "phantomjs": "0.2.2" - }, - "scripts": { - "test": "phantomjs test/vendor/runner.js test/index.html?noglobals=true" - }, - "readme": " __\n /\\ \\ __\n __ __ ___ \\_\\ \\ __ _ __ ____ ___ ___ _ __ __ /\\_\\ ____\n /\\ \\/\\ \\ /' _ `\\ /'_ \\ /'__`\\/\\ __\\/ ,__\\ / ___\\ / __`\\/\\ __\\/'__`\\ \\/\\ \\ /',__\\\n \\ \\ \\_\\ \\/\\ \\/\\ \\/\\ \\ \\ \\/\\ __/\\ \\ \\//\\__, `\\/\\ \\__//\\ \\ \\ \\ \\ \\//\\ __/ __ \\ \\ \\/\\__, `\\\n \\ \\____/\\ \\_\\ \\_\\ \\___,_\\ \\____\\\\ \\_\\\\/\\____/\\ \\____\\ \\____/\\ \\_\\\\ \\____\\/\\_\\ _\\ \\ \\/\\____/\n \\/___/ \\/_/\\/_/\\/__,_ /\\/____/ \\/_/ \\/___/ \\/____/\\/___/ \\/_/ \\/____/\\/_//\\ \\_\\ \\/___/\n \\ \\____/\n \\/___/\n\nUnderscore.js is a utility-belt library for JavaScript that provides\nsupport for the usual functional suspects (each, map, reduce, filter...)\nwithout extending any core JavaScript objects.\n\nFor Docs, License, Tests, and pre-packed downloads, see:\nhttp://underscorejs.org\n\nMany thanks to our contributors:\nhttps://github.com/documentcloud/underscore/contributors\n", - "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/documentcloud/underscore/issues" - }, - "_id": "underscore@1.4.4", - "_from": "underscore@~1.4.3" -} diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js deleted file mode 100644 index c1d9d3aed083..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var n=this,t=n._,r={},e=Array.prototype,u=Object.prototype,i=Function.prototype,a=e.push,o=e.slice,c=e.concat,l=u.toString,f=u.hasOwnProperty,s=e.forEach,p=e.map,h=e.reduce,v=e.reduceRight,d=e.filter,g=e.every,m=e.some,y=e.indexOf,b=e.lastIndexOf,x=Array.isArray,_=Object.keys,j=i.bind,w=function(n){return n instanceof w?n:this instanceof w?(this._wrapped=n,void 0):new w(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=w),exports._=w):n._=w,w.VERSION="1.4.4";var A=w.each=w.forEach=function(n,t,e){if(null!=n)if(s&&n.forEach===s)n.forEach(t,e);else if(n.length===+n.length){for(var u=0,i=n.length;i>u;u++)if(t.call(e,n[u],u,n)===r)return}else for(var a in n)if(w.has(n,a)&&t.call(e,n[a],a,n)===r)return};w.map=w.collect=function(n,t,r){var e=[];return null==n?e:p&&n.map===p?n.map(t,r):(A(n,function(n,u,i){e[e.length]=t.call(r,n,u,i)}),e)};var O="Reduce of empty array with no initial value";w.reduce=w.foldl=w.inject=function(n,t,r,e){var u=arguments.length>2;if(null==n&&(n=[]),h&&n.reduce===h)return e&&(t=w.bind(t,e)),u?n.reduce(t,r):n.reduce(t);if(A(n,function(n,i,a){u?r=t.call(e,r,n,i,a):(r=n,u=!0)}),!u)throw new TypeError(O);return r},w.reduceRight=w.foldr=function(n,t,r,e){var u=arguments.length>2;if(null==n&&(n=[]),v&&n.reduceRight===v)return e&&(t=w.bind(t,e)),u?n.reduceRight(t,r):n.reduceRight(t);var i=n.length;if(i!==+i){var a=w.keys(n);i=a.length}if(A(n,function(o,c,l){c=a?a[--i]:--i,u?r=t.call(e,r,n[c],c,l):(r=n[c],u=!0)}),!u)throw new TypeError(O);return r},w.find=w.detect=function(n,t,r){var e;return E(n,function(n,u,i){return t.call(r,n,u,i)?(e=n,!0):void 0}),e},w.filter=w.select=function(n,t,r){var e=[];return null==n?e:d&&n.filter===d?n.filter(t,r):(A(n,function(n,u,i){t.call(r,n,u,i)&&(e[e.length]=n)}),e)},w.reject=function(n,t,r){return w.filter(n,function(n,e,u){return!t.call(r,n,e,u)},r)},w.every=w.all=function(n,t,e){t||(t=w.identity);var u=!0;return null==n?u:g&&n.every===g?n.every(t,e):(A(n,function(n,i,a){return(u=u&&t.call(e,n,i,a))?void 0:r}),!!u)};var E=w.some=w.any=function(n,t,e){t||(t=w.identity);var u=!1;return null==n?u:m&&n.some===m?n.some(t,e):(A(n,function(n,i,a){return u||(u=t.call(e,n,i,a))?r:void 0}),!!u)};w.contains=w.include=function(n,t){return null==n?!1:y&&n.indexOf===y?n.indexOf(t)!=-1:E(n,function(n){return n===t})},w.invoke=function(n,t){var r=o.call(arguments,2),e=w.isFunction(t);return w.map(n,function(n){return(e?t:n[t]).apply(n,r)})},w.pluck=function(n,t){return w.map(n,function(n){return n[t]})},w.where=function(n,t,r){return w.isEmpty(t)?r?null:[]:w[r?"find":"filter"](n,function(n){for(var r in t)if(t[r]!==n[r])return!1;return!0})},w.findWhere=function(n,t){return w.where(n,t,!0)},w.max=function(n,t,r){if(!t&&w.isArray(n)&&n[0]===+n[0]&&65535>n.length)return Math.max.apply(Math,n);if(!t&&w.isEmpty(n))return-1/0;var e={computed:-1/0,value:-1/0};return A(n,function(n,u,i){var a=t?t.call(r,n,u,i):n;a>=e.computed&&(e={value:n,computed:a})}),e.value},w.min=function(n,t,r){if(!t&&w.isArray(n)&&n[0]===+n[0]&&65535>n.length)return Math.min.apply(Math,n);if(!t&&w.isEmpty(n))return 1/0;var e={computed:1/0,value:1/0};return A(n,function(n,u,i){var a=t?t.call(r,n,u,i):n;e.computed>a&&(e={value:n,computed:a})}),e.value},w.shuffle=function(n){var t,r=0,e=[];return A(n,function(n){t=w.random(r++),e[r-1]=e[t],e[t]=n}),e};var k=function(n){return w.isFunction(n)?n:function(t){return t[n]}};w.sortBy=function(n,t,r){var e=k(t);return w.pluck(w.map(n,function(n,t,u){return{value:n,index:t,criteria:e.call(r,n,t,u)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.indexi;){var o=i+a>>>1;u>r.call(e,n[o])?i=o+1:a=o}return i},w.toArray=function(n){return n?w.isArray(n)?o.call(n):n.length===+n.length?w.map(n,w.identity):w.values(n):[]},w.size=function(n){return null==n?0:n.length===+n.length?n.length:w.keys(n).length},w.first=w.head=w.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:o.call(n,0,t)},w.initial=function(n,t,r){return o.call(n,0,n.length-(null==t||r?1:t))},w.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:o.call(n,Math.max(n.length-t,0))},w.rest=w.tail=w.drop=function(n,t,r){return o.call(n,null==t||r?1:t)},w.compact=function(n){return w.filter(n,w.identity)};var R=function(n,t,r){return A(n,function(n){w.isArray(n)?t?a.apply(r,n):R(n,t,r):r.push(n)}),r};w.flatten=function(n,t){return R(n,t,[])},w.without=function(n){return w.difference(n,o.call(arguments,1))},w.uniq=w.unique=function(n,t,r,e){w.isFunction(t)&&(e=r,r=t,t=!1);var u=r?w.map(n,r,e):n,i=[],a=[];return A(u,function(r,e){(t?e&&a[a.length-1]===r:w.contains(a,r))||(a.push(r),i.push(n[e]))}),i},w.union=function(){return w.uniq(c.apply(e,arguments))},w.intersection=function(n){var t=o.call(arguments,1);return w.filter(w.uniq(n),function(n){return w.every(t,function(t){return w.indexOf(t,n)>=0})})},w.difference=function(n){var t=c.apply(e,o.call(arguments,1));return w.filter(n,function(n){return!w.contains(t,n)})},w.zip=function(){for(var n=o.call(arguments),t=w.max(w.pluck(n,"length")),r=Array(t),e=0;t>e;e++)r[e]=w.pluck(n,""+e);return r},w.object=function(n,t){if(null==n)return{};for(var r={},e=0,u=n.length;u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},w.indexOf=function(n,t,r){if(null==n)return-1;var e=0,u=n.length;if(r){if("number"!=typeof r)return e=w.sortedIndex(n,t),n[e]===t?e:-1;e=0>r?Math.max(0,u+r):r}if(y&&n.indexOf===y)return n.indexOf(t,r);for(;u>e;e++)if(n[e]===t)return e;return-1},w.lastIndexOf=function(n,t,r){if(null==n)return-1;var e=null!=r;if(b&&n.lastIndexOf===b)return e?n.lastIndexOf(t,r):n.lastIndexOf(t);for(var u=e?r:n.length;u--;)if(n[u]===t)return u;return-1},w.range=function(n,t,r){1>=arguments.length&&(t=n||0,n=0),r=arguments[2]||1;for(var e=Math.max(Math.ceil((t-n)/r),0),u=0,i=Array(e);e>u;)i[u++]=n,n+=r;return i},w.bind=function(n,t){if(n.bind===j&&j)return j.apply(n,o.call(arguments,1));var r=o.call(arguments,2);return function(){return n.apply(t,r.concat(o.call(arguments)))}},w.partial=function(n){var t=o.call(arguments,1);return function(){return n.apply(this,t.concat(o.call(arguments)))}},w.bindAll=function(n){var t=o.call(arguments,1);return 0===t.length&&(t=w.functions(n)),A(t,function(t){n[t]=w.bind(n[t],n)}),n},w.memoize=function(n,t){var r={};return t||(t=w.identity),function(){var e=t.apply(this,arguments);return w.has(r,e)?r[e]:r[e]=n.apply(this,arguments)}},w.delay=function(n,t){var r=o.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},w.defer=function(n){return w.delay.apply(w,[n,1].concat(o.call(arguments,1)))},w.throttle=function(n,t){var r,e,u,i,a=0,o=function(){a=new Date,u=null,i=n.apply(r,e)};return function(){var c=new Date,l=t-(c-a);return r=this,e=arguments,0>=l?(clearTimeout(u),u=null,a=c,i=n.apply(r,e)):u||(u=setTimeout(o,l)),i}},w.debounce=function(n,t,r){var e,u;return function(){var i=this,a=arguments,o=function(){e=null,r||(u=n.apply(i,a))},c=r&&!e;return clearTimeout(e),e=setTimeout(o,t),c&&(u=n.apply(i,a)),u}},w.once=function(n){var t,r=!1;return function(){return r?t:(r=!0,t=n.apply(this,arguments),n=null,t)}},w.wrap=function(n,t){return function(){var r=[n];return a.apply(r,arguments),t.apply(this,r)}},w.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length-1;r>=0;r--)t=[n[r].apply(this,t)];return t[0]}},w.after=function(n,t){return 0>=n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},w.keys=_||function(n){if(n!==Object(n))throw new TypeError("Invalid object");var t=[];for(var r in n)w.has(n,r)&&(t[t.length]=r);return t},w.values=function(n){var t=[];for(var r in n)w.has(n,r)&&t.push(n[r]);return t},w.pairs=function(n){var t=[];for(var r in n)w.has(n,r)&&t.push([r,n[r]]);return t},w.invert=function(n){var t={};for(var r in n)w.has(n,r)&&(t[n[r]]=r);return t},w.functions=w.methods=function(n){var t=[];for(var r in n)w.isFunction(n[r])&&t.push(r);return t.sort()},w.extend=function(n){return A(o.call(arguments,1),function(t){if(t)for(var r in t)n[r]=t[r]}),n},w.pick=function(n){var t={},r=c.apply(e,o.call(arguments,1));return A(r,function(r){r in n&&(t[r]=n[r])}),t},w.omit=function(n){var t={},r=c.apply(e,o.call(arguments,1));for(var u in n)w.contains(r,u)||(t[u]=n[u]);return t},w.defaults=function(n){return A(o.call(arguments,1),function(t){if(t)for(var r in t)null==n[r]&&(n[r]=t[r])}),n},w.clone=function(n){return w.isObject(n)?w.isArray(n)?n.slice():w.extend({},n):n},w.tap=function(n,t){return t(n),n};var I=function(n,t,r,e){if(n===t)return 0!==n||1/n==1/t;if(null==n||null==t)return n===t;n instanceof w&&(n=n._wrapped),t instanceof w&&(t=t._wrapped);var u=l.call(n);if(u!=l.call(t))return!1;switch(u){case"[object String]":return n==t+"";case"[object Number]":return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case"[object Date]":case"[object Boolean]":return+n==+t;case"[object RegExp]":return n.source==t.source&&n.global==t.global&&n.multiline==t.multiline&&n.ignoreCase==t.ignoreCase}if("object"!=typeof n||"object"!=typeof t)return!1;for(var i=r.length;i--;)if(r[i]==n)return e[i]==t;r.push(n),e.push(t);var a=0,o=!0;if("[object Array]"==u){if(a=n.length,o=a==t.length)for(;a--&&(o=I(n[a],t[a],r,e)););}else{var c=n.constructor,f=t.constructor;if(c!==f&&!(w.isFunction(c)&&c instanceof c&&w.isFunction(f)&&f instanceof f))return!1;for(var s in n)if(w.has(n,s)&&(a++,!(o=w.has(t,s)&&I(n[s],t[s],r,e))))break;if(o){for(s in t)if(w.has(t,s)&&!a--)break;o=!a}}return r.pop(),e.pop(),o};w.isEqual=function(n,t){return I(n,t,[],[])},w.isEmpty=function(n){if(null==n)return!0;if(w.isArray(n)||w.isString(n))return 0===n.length;for(var t in n)if(w.has(n,t))return!1;return!0},w.isElement=function(n){return!(!n||1!==n.nodeType)},w.isArray=x||function(n){return"[object Array]"==l.call(n)},w.isObject=function(n){return n===Object(n)},A(["Arguments","Function","String","Number","Date","RegExp"],function(n){w["is"+n]=function(t){return l.call(t)=="[object "+n+"]"}}),w.isArguments(arguments)||(w.isArguments=function(n){return!(!n||!w.has(n,"callee"))}),"function"!=typeof/./&&(w.isFunction=function(n){return"function"==typeof n}),w.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},w.isNaN=function(n){return w.isNumber(n)&&n!=+n},w.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"==l.call(n)},w.isNull=function(n){return null===n},w.isUndefined=function(n){return n===void 0},w.has=function(n,t){return f.call(n,t)},w.noConflict=function(){return n._=t,this},w.identity=function(n){return n},w.times=function(n,t,r){for(var e=Array(n),u=0;n>u;u++)e[u]=t.call(r,u);return e},w.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))};var M={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};M.unescape=w.invert(M.escape);var S={escape:RegExp("["+w.keys(M.escape).join("")+"]","g"),unescape:RegExp("("+w.keys(M.unescape).join("|")+")","g")};w.each(["escape","unescape"],function(n){w[n]=function(t){return null==t?"":(""+t).replace(S[n],function(t){return M[n][t]})}}),w.result=function(n,t){if(null==n)return null;var r=n[t];return w.isFunction(r)?r.call(n):r},w.mixin=function(n){A(w.functions(n),function(t){var r=w[t]=n[t];w.prototype[t]=function(){var n=[this._wrapped];return a.apply(n,arguments),D.call(this,r.apply(w,n))}})};var N=0;w.uniqueId=function(n){var t=++N+"";return n?n+t:t},w.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var T=/(.)^/,q={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},B=/\\|'|\r|\n|\t|\u2028|\u2029/g;w.template=function(n,t,r){var e;r=w.defaults({},r,w.templateSettings);var u=RegExp([(r.escape||T).source,(r.interpolate||T).source,(r.evaluate||T).source].join("|")+"|$","g"),i=0,a="__p+='";n.replace(u,function(t,r,e,u,o){return a+=n.slice(i,o).replace(B,function(n){return"\\"+q[n]}),r&&(a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'"),e&&(a+="'+\n((__t=("+e+"))==null?'':__t)+\n'"),u&&(a+="';\n"+u+"\n__p+='"),i=o+t.length,t}),a+="';\n",r.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{e=Function(r.variable||"obj","_",a)}catch(o){throw o.source=a,o}if(t)return e(t,w);var c=function(n){return e.call(this,n,w)};return c.source="function("+(r.variable||"obj")+"){\n"+a+"}",c},w.chain=function(n){return w(n).chain()};var D=function(n){return this._chain?w(n).chain():n};w.mixin(w),A(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=e[n];w.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!=n&&"splice"!=n||0!==r.length||delete r[0],D.call(this,r)}}),A(["concat","join","slice"],function(n){var t=e[n];w.prototype[n]=function(){return D.call(this,t.apply(this._wrapped,arguments))}}),w.extend(w.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this); \ No newline at end of file diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js deleted file mode 100644 index a12f0d96cfb4..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js +++ /dev/null @@ -1,1226 +0,0 @@ -// Underscore.js 1.4.4 -// http://underscorejs.org -// (c) 2009-2013 Jeremy Ashkenas, DocumentCloud Inc. -// Underscore may be freely distributed under the MIT license. - -(function() { - - // Baseline setup - // -------------- - - // Establish the root object, `window` in the browser, or `global` on the server. - var root = this; - - // Save the previous value of the `_` variable. - var previousUnderscore = root._; - - // Establish the object that gets returned to break out of a loop iteration. - var breaker = {}; - - // Save bytes in the minified (but not gzipped) version: - var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype; - - // Create quick reference variables for speed access to core prototypes. - var push = ArrayProto.push, - slice = ArrayProto.slice, - concat = ArrayProto.concat, - toString = ObjProto.toString, - hasOwnProperty = ObjProto.hasOwnProperty; - - // All **ECMAScript 5** native function implementations that we hope to use - // are declared here. - var - nativeForEach = ArrayProto.forEach, - nativeMap = ArrayProto.map, - nativeReduce = ArrayProto.reduce, - nativeReduceRight = ArrayProto.reduceRight, - nativeFilter = ArrayProto.filter, - nativeEvery = ArrayProto.every, - nativeSome = ArrayProto.some, - nativeIndexOf = ArrayProto.indexOf, - nativeLastIndexOf = ArrayProto.lastIndexOf, - nativeIsArray = Array.isArray, - nativeKeys = Object.keys, - nativeBind = FuncProto.bind; - - // Create a safe reference to the Underscore object for use below. - var _ = function(obj) { - if (obj instanceof _) return obj; - if (!(this instanceof _)) return new _(obj); - this._wrapped = obj; - }; - - // Export the Underscore object for **Node.js**, with - // backwards-compatibility for the old `require()` API. If we're in - // the browser, add `_` as a global object via a string identifier, - // for Closure Compiler "advanced" mode. - if (typeof exports !== 'undefined') { - if (typeof module !== 'undefined' && module.exports) { - exports = module.exports = _; - } - exports._ = _; - } else { - root._ = _; - } - - // Current version. - _.VERSION = '1.4.4'; - - // Collection Functions - // -------------------- - - // The cornerstone, an `each` implementation, aka `forEach`. - // Handles objects with the built-in `forEach`, arrays, and raw objects. - // Delegates to **ECMAScript 5**'s native `forEach` if available. - var each = _.each = _.forEach = function(obj, iterator, context) { - if (obj == null) return; - if (nativeForEach && obj.forEach === nativeForEach) { - obj.forEach(iterator, context); - } else if (obj.length === +obj.length) { - for (var i = 0, l = obj.length; i < l; i++) { - if (iterator.call(context, obj[i], i, obj) === breaker) return; - } - } else { - for (var key in obj) { - if (_.has(obj, key)) { - if (iterator.call(context, obj[key], key, obj) === breaker) return; - } - } - } - }; - - // Return the results of applying the iterator to each element. - // Delegates to **ECMAScript 5**'s native `map` if available. - _.map = _.collect = function(obj, iterator, context) { - var results = []; - if (obj == null) return results; - if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); - each(obj, function(value, index, list) { - results[results.length] = iterator.call(context, value, index, list); - }); - return results; - }; - - var reduceError = 'Reduce of empty array with no initial value'; - - // **Reduce** builds up a single result from a list of values, aka `inject`, - // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available. - _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) { - var initial = arguments.length > 2; - if (obj == null) obj = []; - if (nativeReduce && obj.reduce === nativeReduce) { - if (context) iterator = _.bind(iterator, context); - return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator); - } - each(obj, function(value, index, list) { - if (!initial) { - memo = value; - initial = true; - } else { - memo = iterator.call(context, memo, value, index, list); - } - }); - if (!initial) throw new TypeError(reduceError); - return memo; - }; - - // The right-associative version of reduce, also known as `foldr`. - // Delegates to **ECMAScript 5**'s native `reduceRight` if available. - _.reduceRight = _.foldr = function(obj, iterator, memo, context) { - var initial = arguments.length > 2; - if (obj == null) obj = []; - if (nativeReduceRight && obj.reduceRight === nativeReduceRight) { - if (context) iterator = _.bind(iterator, context); - return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator); - } - var length = obj.length; - if (length !== +length) { - var keys = _.keys(obj); - length = keys.length; - } - each(obj, function(value, index, list) { - index = keys ? keys[--length] : --length; - if (!initial) { - memo = obj[index]; - initial = true; - } else { - memo = iterator.call(context, memo, obj[index], index, list); - } - }); - if (!initial) throw new TypeError(reduceError); - return memo; - }; - - // Return the first value which passes a truth test. Aliased as `detect`. - _.find = _.detect = function(obj, iterator, context) { - var result; - any(obj, function(value, index, list) { - if (iterator.call(context, value, index, list)) { - result = value; - return true; - } - }); - return result; - }; - - // Return all the elements that pass a truth test. - // Delegates to **ECMAScript 5**'s native `filter` if available. - // Aliased as `select`. - _.filter = _.select = function(obj, iterator, context) { - var results = []; - if (obj == null) return results; - if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context); - each(obj, function(value, index, list) { - if (iterator.call(context, value, index, list)) results[results.length] = value; - }); - return results; - }; - - // Return all the elements for which a truth test fails. - _.reject = function(obj, iterator, context) { - return _.filter(obj, function(value, index, list) { - return !iterator.call(context, value, index, list); - }, context); - }; - - // Determine whether all of the elements match a truth test. - // Delegates to **ECMAScript 5**'s native `every` if available. - // Aliased as `all`. - _.every = _.all = function(obj, iterator, context) { - iterator || (iterator = _.identity); - var result = true; - if (obj == null) return result; - if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context); - each(obj, function(value, index, list) { - if (!(result = result && iterator.call(context, value, index, list))) return breaker; - }); - return !!result; - }; - - // Determine if at least one element in the object matches a truth test. - // Delegates to **ECMAScript 5**'s native `some` if available. - // Aliased as `any`. - var any = _.some = _.any = function(obj, iterator, context) { - iterator || (iterator = _.identity); - var result = false; - if (obj == null) return result; - if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context); - each(obj, function(value, index, list) { - if (result || (result = iterator.call(context, value, index, list))) return breaker; - }); - return !!result; - }; - - // Determine if the array or object contains a given value (using `===`). - // Aliased as `include`. - _.contains = _.include = function(obj, target) { - if (obj == null) return false; - if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1; - return any(obj, function(value) { - return value === target; - }); - }; - - // Invoke a method (with arguments) on every item in a collection. - _.invoke = function(obj, method) { - var args = slice.call(arguments, 2); - var isFunc = _.isFunction(method); - return _.map(obj, function(value) { - return (isFunc ? method : value[method]).apply(value, args); - }); - }; - - // Convenience version of a common use case of `map`: fetching a property. - _.pluck = function(obj, key) { - return _.map(obj, function(value){ return value[key]; }); - }; - - // Convenience version of a common use case of `filter`: selecting only objects - // containing specific `key:value` pairs. - _.where = function(obj, attrs, first) { - if (_.isEmpty(attrs)) return first ? null : []; - return _[first ? 'find' : 'filter'](obj, function(value) { - for (var key in attrs) { - if (attrs[key] !== value[key]) return false; - } - return true; - }); - }; - - // Convenience version of a common use case of `find`: getting the first object - // containing specific `key:value` pairs. - _.findWhere = function(obj, attrs) { - return _.where(obj, attrs, true); - }; - - // Return the maximum element or (element-based computation). - // Can't optimize arrays of integers longer than 65,535 elements. - // See: https://bugs.webkit.org/show_bug.cgi?id=80797 - _.max = function(obj, iterator, context) { - if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) { - return Math.max.apply(Math, obj); - } - if (!iterator && _.isEmpty(obj)) return -Infinity; - var result = {computed : -Infinity, value: -Infinity}; - each(obj, function(value, index, list) { - var computed = iterator ? iterator.call(context, value, index, list) : value; - computed >= result.computed && (result = {value : value, computed : computed}); - }); - return result.value; - }; - - // Return the minimum element (or element-based computation). - _.min = function(obj, iterator, context) { - if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) { - return Math.min.apply(Math, obj); - } - if (!iterator && _.isEmpty(obj)) return Infinity; - var result = {computed : Infinity, value: Infinity}; - each(obj, function(value, index, list) { - var computed = iterator ? iterator.call(context, value, index, list) : value; - computed < result.computed && (result = {value : value, computed : computed}); - }); - return result.value; - }; - - // Shuffle an array. - _.shuffle = function(obj) { - var rand; - var index = 0; - var shuffled = []; - each(obj, function(value) { - rand = _.random(index++); - shuffled[index - 1] = shuffled[rand]; - shuffled[rand] = value; - }); - return shuffled; - }; - - // An internal function to generate lookup iterators. - var lookupIterator = function(value) { - return _.isFunction(value) ? value : function(obj){ return obj[value]; }; - }; - - // Sort the object's values by a criterion produced by an iterator. - _.sortBy = function(obj, value, context) { - var iterator = lookupIterator(value); - return _.pluck(_.map(obj, function(value, index, list) { - return { - value : value, - index : index, - criteria : iterator.call(context, value, index, list) - }; - }).sort(function(left, right) { - var a = left.criteria; - var b = right.criteria; - if (a !== b) { - if (a > b || a === void 0) return 1; - if (a < b || b === void 0) return -1; - } - return left.index < right.index ? -1 : 1; - }), 'value'); - }; - - // An internal function used for aggregate "group by" operations. - var group = function(obj, value, context, behavior) { - var result = {}; - var iterator = lookupIterator(value || _.identity); - each(obj, function(value, index) { - var key = iterator.call(context, value, index, obj); - behavior(result, key, value); - }); - return result; - }; - - // Groups the object's values by a criterion. Pass either a string attribute - // to group by, or a function that returns the criterion. - _.groupBy = function(obj, value, context) { - return group(obj, value, context, function(result, key, value) { - (_.has(result, key) ? result[key] : (result[key] = [])).push(value); - }); - }; - - // Counts instances of an object that group by a certain criterion. Pass - // either a string attribute to count by, or a function that returns the - // criterion. - _.countBy = function(obj, value, context) { - return group(obj, value, context, function(result, key) { - if (!_.has(result, key)) result[key] = 0; - result[key]++; - }); - }; - - // Use a comparator function to figure out the smallest index at which - // an object should be inserted so as to maintain order. Uses binary search. - _.sortedIndex = function(array, obj, iterator, context) { - iterator = iterator == null ? _.identity : lookupIterator(iterator); - var value = iterator.call(context, obj); - var low = 0, high = array.length; - while (low < high) { - var mid = (low + high) >>> 1; - iterator.call(context, array[mid]) < value ? low = mid + 1 : high = mid; - } - return low; - }; - - // Safely convert anything iterable into a real, live array. - _.toArray = function(obj) { - if (!obj) return []; - if (_.isArray(obj)) return slice.call(obj); - if (obj.length === +obj.length) return _.map(obj, _.identity); - return _.values(obj); - }; - - // Return the number of elements in an object. - _.size = function(obj) { - if (obj == null) return 0; - return (obj.length === +obj.length) ? obj.length : _.keys(obj).length; - }; - - // Array Functions - // --------------- - - // Get the first element of an array. Passing **n** will return the first N - // values in the array. Aliased as `head` and `take`. The **guard** check - // allows it to work with `_.map`. - _.first = _.head = _.take = function(array, n, guard) { - if (array == null) return void 0; - return (n != null) && !guard ? slice.call(array, 0, n) : array[0]; - }; - - // Returns everything but the last entry of the array. Especially useful on - // the arguments object. Passing **n** will return all the values in - // the array, excluding the last N. The **guard** check allows it to work with - // `_.map`. - _.initial = function(array, n, guard) { - return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n)); - }; - - // Get the last element of an array. Passing **n** will return the last N - // values in the array. The **guard** check allows it to work with `_.map`. - _.last = function(array, n, guard) { - if (array == null) return void 0; - if ((n != null) && !guard) { - return slice.call(array, Math.max(array.length - n, 0)); - } else { - return array[array.length - 1]; - } - }; - - // Returns everything but the first entry of the array. Aliased as `tail` and `drop`. - // Especially useful on the arguments object. Passing an **n** will return - // the rest N values in the array. The **guard** - // check allows it to work with `_.map`. - _.rest = _.tail = _.drop = function(array, n, guard) { - return slice.call(array, (n == null) || guard ? 1 : n); - }; - - // Trim out all falsy values from an array. - _.compact = function(array) { - return _.filter(array, _.identity); - }; - - // Internal implementation of a recursive `flatten` function. - var flatten = function(input, shallow, output) { - each(input, function(value) { - if (_.isArray(value)) { - shallow ? push.apply(output, value) : flatten(value, shallow, output); - } else { - output.push(value); - } - }); - return output; - }; - - // Return a completely flattened version of an array. - _.flatten = function(array, shallow) { - return flatten(array, shallow, []); - }; - - // Return a version of the array that does not contain the specified value(s). - _.without = function(array) { - return _.difference(array, slice.call(arguments, 1)); - }; - - // Produce a duplicate-free version of the array. If the array has already - // been sorted, you have the option of using a faster algorithm. - // Aliased as `unique`. - _.uniq = _.unique = function(array, isSorted, iterator, context) { - if (_.isFunction(isSorted)) { - context = iterator; - iterator = isSorted; - isSorted = false; - } - var initial = iterator ? _.map(array, iterator, context) : array; - var results = []; - var seen = []; - each(initial, function(value, index) { - if (isSorted ? (!index || seen[seen.length - 1] !== value) : !_.contains(seen, value)) { - seen.push(value); - results.push(array[index]); - } - }); - return results; - }; - - // Produce an array that contains the union: each distinct element from all of - // the passed-in arrays. - _.union = function() { - return _.uniq(concat.apply(ArrayProto, arguments)); - }; - - // Produce an array that contains every item shared between all the - // passed-in arrays. - _.intersection = function(array) { - var rest = slice.call(arguments, 1); - return _.filter(_.uniq(array), function(item) { - return _.every(rest, function(other) { - return _.indexOf(other, item) >= 0; - }); - }); - }; - - // Take the difference between one array and a number of other arrays. - // Only the elements present in just the first array will remain. - _.difference = function(array) { - var rest = concat.apply(ArrayProto, slice.call(arguments, 1)); - return _.filter(array, function(value){ return !_.contains(rest, value); }); - }; - - // Zip together multiple lists into a single array -- elements that share - // an index go together. - _.zip = function() { - var args = slice.call(arguments); - var length = _.max(_.pluck(args, 'length')); - var results = new Array(length); - for (var i = 0; i < length; i++) { - results[i] = _.pluck(args, "" + i); - } - return results; - }; - - // Converts lists into objects. Pass either a single array of `[key, value]` - // pairs, or two parallel arrays of the same length -- one of keys, and one of - // the corresponding values. - _.object = function(list, values) { - if (list == null) return {}; - var result = {}; - for (var i = 0, l = list.length; i < l; i++) { - if (values) { - result[list[i]] = values[i]; - } else { - result[list[i][0]] = list[i][1]; - } - } - return result; - }; - - // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**), - // we need this function. Return the position of the first occurrence of an - // item in an array, or -1 if the item is not included in the array. - // Delegates to **ECMAScript 5**'s native `indexOf` if available. - // If the array is large and already in sort order, pass `true` - // for **isSorted** to use binary search. - _.indexOf = function(array, item, isSorted) { - if (array == null) return -1; - var i = 0, l = array.length; - if (isSorted) { - if (typeof isSorted == 'number') { - i = (isSorted < 0 ? Math.max(0, l + isSorted) : isSorted); - } else { - i = _.sortedIndex(array, item); - return array[i] === item ? i : -1; - } - } - if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item, isSorted); - for (; i < l; i++) if (array[i] === item) return i; - return -1; - }; - - // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available. - _.lastIndexOf = function(array, item, from) { - if (array == null) return -1; - var hasIndex = from != null; - if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) { - return hasIndex ? array.lastIndexOf(item, from) : array.lastIndexOf(item); - } - var i = (hasIndex ? from : array.length); - while (i--) if (array[i] === item) return i; - return -1; - }; - - // Generate an integer Array containing an arithmetic progression. A port of - // the native Python `range()` function. See - // [the Python documentation](http://docs.python.org/library/functions.html#range). - _.range = function(start, stop, step) { - if (arguments.length <= 1) { - stop = start || 0; - start = 0; - } - step = arguments[2] || 1; - - var len = Math.max(Math.ceil((stop - start) / step), 0); - var idx = 0; - var range = new Array(len); - - while(idx < len) { - range[idx++] = start; - start += step; - } - - return range; - }; - - // Function (ahem) Functions - // ------------------ - - // Create a function bound to a given object (assigning `this`, and arguments, - // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if - // available. - _.bind = function(func, context) { - if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1)); - var args = slice.call(arguments, 2); - return function() { - return func.apply(context, args.concat(slice.call(arguments))); - }; - }; - - // Partially apply a function by creating a version that has had some of its - // arguments pre-filled, without changing its dynamic `this` context. - _.partial = function(func) { - var args = slice.call(arguments, 1); - return function() { - return func.apply(this, args.concat(slice.call(arguments))); - }; - }; - - // Bind all of an object's methods to that object. Useful for ensuring that - // all callbacks defined on an object belong to it. - _.bindAll = function(obj) { - var funcs = slice.call(arguments, 1); - if (funcs.length === 0) funcs = _.functions(obj); - each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); }); - return obj; - }; - - // Memoize an expensive function by storing its results. - _.memoize = function(func, hasher) { - var memo = {}; - hasher || (hasher = _.identity); - return function() { - var key = hasher.apply(this, arguments); - return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments)); - }; - }; - - // Delays a function for the given number of milliseconds, and then calls - // it with the arguments supplied. - _.delay = function(func, wait) { - var args = slice.call(arguments, 2); - return setTimeout(function(){ return func.apply(null, args); }, wait); - }; - - // Defers a function, scheduling it to run after the current call stack has - // cleared. - _.defer = function(func) { - return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1))); - }; - - // Returns a function, that, when invoked, will only be triggered at most once - // during a given window of time. - _.throttle = function(func, wait) { - var context, args, timeout, result; - var previous = 0; - var later = function() { - previous = new Date; - timeout = null; - result = func.apply(context, args); - }; - return function() { - var now = new Date; - var remaining = wait - (now - previous); - context = this; - args = arguments; - if (remaining <= 0) { - clearTimeout(timeout); - timeout = null; - previous = now; - result = func.apply(context, args); - } else if (!timeout) { - timeout = setTimeout(later, remaining); - } - return result; - }; - }; - - // Returns a function, that, as long as it continues to be invoked, will not - // be triggered. The function will be called after it stops being called for - // N milliseconds. If `immediate` is passed, trigger the function on the - // leading edge, instead of the trailing. - _.debounce = function(func, wait, immediate) { - var timeout, result; - return function() { - var context = this, args = arguments; - var later = function() { - timeout = null; - if (!immediate) result = func.apply(context, args); - }; - var callNow = immediate && !timeout; - clearTimeout(timeout); - timeout = setTimeout(later, wait); - if (callNow) result = func.apply(context, args); - return result; - }; - }; - - // Returns a function that will be executed at most one time, no matter how - // often you call it. Useful for lazy initialization. - _.once = function(func) { - var ran = false, memo; - return function() { - if (ran) return memo; - ran = true; - memo = func.apply(this, arguments); - func = null; - return memo; - }; - }; - - // Returns the first function passed as an argument to the second, - // allowing you to adjust arguments, run code before and after, and - // conditionally execute the original function. - _.wrap = function(func, wrapper) { - return function() { - var args = [func]; - push.apply(args, arguments); - return wrapper.apply(this, args); - }; - }; - - // Returns a function that is the composition of a list of functions, each - // consuming the return value of the function that follows. - _.compose = function() { - var funcs = arguments; - return function() { - var args = arguments; - for (var i = funcs.length - 1; i >= 0; i--) { - args = [funcs[i].apply(this, args)]; - } - return args[0]; - }; - }; - - // Returns a function that will only be executed after being called N times. - _.after = function(times, func) { - if (times <= 0) return func(); - return function() { - if (--times < 1) { - return func.apply(this, arguments); - } - }; - }; - - // Object Functions - // ---------------- - - // Retrieve the names of an object's properties. - // Delegates to **ECMAScript 5**'s native `Object.keys` - _.keys = nativeKeys || function(obj) { - if (obj !== Object(obj)) throw new TypeError('Invalid object'); - var keys = []; - for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key; - return keys; - }; - - // Retrieve the values of an object's properties. - _.values = function(obj) { - var values = []; - for (var key in obj) if (_.has(obj, key)) values.push(obj[key]); - return values; - }; - - // Convert an object into a list of `[key, value]` pairs. - _.pairs = function(obj) { - var pairs = []; - for (var key in obj) if (_.has(obj, key)) pairs.push([key, obj[key]]); - return pairs; - }; - - // Invert the keys and values of an object. The values must be serializable. - _.invert = function(obj) { - var result = {}; - for (var key in obj) if (_.has(obj, key)) result[obj[key]] = key; - return result; - }; - - // Return a sorted list of the function names available on the object. - // Aliased as `methods` - _.functions = _.methods = function(obj) { - var names = []; - for (var key in obj) { - if (_.isFunction(obj[key])) names.push(key); - } - return names.sort(); - }; - - // Extend a given object with all the properties in passed-in object(s). - _.extend = function(obj) { - each(slice.call(arguments, 1), function(source) { - if (source) { - for (var prop in source) { - obj[prop] = source[prop]; - } - } - }); - return obj; - }; - - // Return a copy of the object only containing the whitelisted properties. - _.pick = function(obj) { - var copy = {}; - var keys = concat.apply(ArrayProto, slice.call(arguments, 1)); - each(keys, function(key) { - if (key in obj) copy[key] = obj[key]; - }); - return copy; - }; - - // Return a copy of the object without the blacklisted properties. - _.omit = function(obj) { - var copy = {}; - var keys = concat.apply(ArrayProto, slice.call(arguments, 1)); - for (var key in obj) { - if (!_.contains(keys, key)) copy[key] = obj[key]; - } - return copy; - }; - - // Fill in a given object with default properties. - _.defaults = function(obj) { - each(slice.call(arguments, 1), function(source) { - if (source) { - for (var prop in source) { - if (obj[prop] == null) obj[prop] = source[prop]; - } - } - }); - return obj; - }; - - // Create a (shallow-cloned) duplicate of an object. - _.clone = function(obj) { - if (!_.isObject(obj)) return obj; - return _.isArray(obj) ? obj.slice() : _.extend({}, obj); - }; - - // Invokes interceptor with the obj, and then returns obj. - // The primary purpose of this method is to "tap into" a method chain, in - // order to perform operations on intermediate results within the chain. - _.tap = function(obj, interceptor) { - interceptor(obj); - return obj; - }; - - // Internal recursive comparison function for `isEqual`. - var eq = function(a, b, aStack, bStack) { - // Identical objects are equal. `0 === -0`, but they aren't identical. - // See the Harmony `egal` proposal: http://wiki.ecmascript.org/doku.php?id=harmony:egal. - if (a === b) return a !== 0 || 1 / a == 1 / b; - // A strict comparison is necessary because `null == undefined`. - if (a == null || b == null) return a === b; - // Unwrap any wrapped objects. - if (a instanceof _) a = a._wrapped; - if (b instanceof _) b = b._wrapped; - // Compare `[[Class]]` names. - var className = toString.call(a); - if (className != toString.call(b)) return false; - switch (className) { - // Strings, numbers, dates, and booleans are compared by value. - case '[object String]': - // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is - // equivalent to `new String("5")`. - return a == String(b); - case '[object Number]': - // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for - // other numeric values. - return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b); - case '[object Date]': - case '[object Boolean]': - // Coerce dates and booleans to numeric primitive values. Dates are compared by their - // millisecond representations. Note that invalid dates with millisecond representations - // of `NaN` are not equivalent. - return +a == +b; - // RegExps are compared by their source patterns and flags. - case '[object RegExp]': - return a.source == b.source && - a.global == b.global && - a.multiline == b.multiline && - a.ignoreCase == b.ignoreCase; - } - if (typeof a != 'object' || typeof b != 'object') return false; - // Assume equality for cyclic structures. The algorithm for detecting cyclic - // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. - var length = aStack.length; - while (length--) { - // Linear search. Performance is inversely proportional to the number of - // unique nested structures. - if (aStack[length] == a) return bStack[length] == b; - } - // Add the first object to the stack of traversed objects. - aStack.push(a); - bStack.push(b); - var size = 0, result = true; - // Recursively compare objects and arrays. - if (className == '[object Array]') { - // Compare array lengths to determine if a deep comparison is necessary. - size = a.length; - result = size == b.length; - if (result) { - // Deep compare the contents, ignoring non-numeric properties. - while (size--) { - if (!(result = eq(a[size], b[size], aStack, bStack))) break; - } - } - } else { - // Objects with different constructors are not equivalent, but `Object`s - // from different frames are. - var aCtor = a.constructor, bCtor = b.constructor; - if (aCtor !== bCtor && !(_.isFunction(aCtor) && (aCtor instanceof aCtor) && - _.isFunction(bCtor) && (bCtor instanceof bCtor))) { - return false; - } - // Deep compare objects. - for (var key in a) { - if (_.has(a, key)) { - // Count the expected number of properties. - size++; - // Deep compare each member. - if (!(result = _.has(b, key) && eq(a[key], b[key], aStack, bStack))) break; - } - } - // Ensure that both objects contain the same number of properties. - if (result) { - for (key in b) { - if (_.has(b, key) && !(size--)) break; - } - result = !size; - } - } - // Remove the first object from the stack of traversed objects. - aStack.pop(); - bStack.pop(); - return result; - }; - - // Perform a deep comparison to check if two objects are equal. - _.isEqual = function(a, b) { - return eq(a, b, [], []); - }; - - // Is a given array, string, or object empty? - // An "empty" object has no enumerable own-properties. - _.isEmpty = function(obj) { - if (obj == null) return true; - if (_.isArray(obj) || _.isString(obj)) return obj.length === 0; - for (var key in obj) if (_.has(obj, key)) return false; - return true; - }; - - // Is a given value a DOM element? - _.isElement = function(obj) { - return !!(obj && obj.nodeType === 1); - }; - - // Is a given value an array? - // Delegates to ECMA5's native Array.isArray - _.isArray = nativeIsArray || function(obj) { - return toString.call(obj) == '[object Array]'; - }; - - // Is a given variable an object? - _.isObject = function(obj) { - return obj === Object(obj); - }; - - // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp. - each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'], function(name) { - _['is' + name] = function(obj) { - return toString.call(obj) == '[object ' + name + ']'; - }; - }); - - // Define a fallback version of the method in browsers (ahem, IE), where - // there isn't any inspectable "Arguments" type. - if (!_.isArguments(arguments)) { - _.isArguments = function(obj) { - return !!(obj && _.has(obj, 'callee')); - }; - } - - // Optimize `isFunction` if appropriate. - if (typeof (/./) !== 'function') { - _.isFunction = function(obj) { - return typeof obj === 'function'; - }; - } - - // Is a given object a finite number? - _.isFinite = function(obj) { - return isFinite(obj) && !isNaN(parseFloat(obj)); - }; - - // Is the given value `NaN`? (NaN is the only number which does not equal itself). - _.isNaN = function(obj) { - return _.isNumber(obj) && obj != +obj; - }; - - // Is a given value a boolean? - _.isBoolean = function(obj) { - return obj === true || obj === false || toString.call(obj) == '[object Boolean]'; - }; - - // Is a given value equal to null? - _.isNull = function(obj) { - return obj === null; - }; - - // Is a given variable undefined? - _.isUndefined = function(obj) { - return obj === void 0; - }; - - // Shortcut function for checking if an object has a given property directly - // on itself (in other words, not on a prototype). - _.has = function(obj, key) { - return hasOwnProperty.call(obj, key); - }; - - // Utility Functions - // ----------------- - - // Run Underscore.js in *noConflict* mode, returning the `_` variable to its - // previous owner. Returns a reference to the Underscore object. - _.noConflict = function() { - root._ = previousUnderscore; - return this; - }; - - // Keep the identity function around for default iterators. - _.identity = function(value) { - return value; - }; - - // Run a function **n** times. - _.times = function(n, iterator, context) { - var accum = Array(n); - for (var i = 0; i < n; i++) accum[i] = iterator.call(context, i); - return accum; - }; - - // Return a random integer between min and max (inclusive). - _.random = function(min, max) { - if (max == null) { - max = min; - min = 0; - } - return min + Math.floor(Math.random() * (max - min + 1)); - }; - - // List of HTML entities for escaping. - var entityMap = { - escape: { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''', - '/': '/' - } - }; - entityMap.unescape = _.invert(entityMap.escape); - - // Regexes containing the keys and values listed immediately above. - var entityRegexes = { - escape: new RegExp('[' + _.keys(entityMap.escape).join('') + ']', 'g'), - unescape: new RegExp('(' + _.keys(entityMap.unescape).join('|') + ')', 'g') - }; - - // Functions for escaping and unescaping strings to/from HTML interpolation. - _.each(['escape', 'unescape'], function(method) { - _[method] = function(string) { - if (string == null) return ''; - return ('' + string).replace(entityRegexes[method], function(match) { - return entityMap[method][match]; - }); - }; - }); - - // If the value of the named property is a function then invoke it; - // otherwise, return it. - _.result = function(object, property) { - if (object == null) return null; - var value = object[property]; - return _.isFunction(value) ? value.call(object) : value; - }; - - // Add your own custom functions to the Underscore object. - _.mixin = function(obj) { - each(_.functions(obj), function(name){ - var func = _[name] = obj[name]; - _.prototype[name] = function() { - var args = [this._wrapped]; - push.apply(args, arguments); - return result.call(this, func.apply(_, args)); - }; - }); - }; - - // Generate a unique integer id (unique within the entire client session). - // Useful for temporary DOM ids. - var idCounter = 0; - _.uniqueId = function(prefix) { - var id = ++idCounter + ''; - return prefix ? prefix + id : id; - }; - - // By default, Underscore uses ERB-style template delimiters, change the - // following template settings to use alternative delimiters. - _.templateSettings = { - evaluate : /<%([\s\S]+?)%>/g, - interpolate : /<%=([\s\S]+?)%>/g, - escape : /<%-([\s\S]+?)%>/g - }; - - // When customizing `templateSettings`, if you don't want to define an - // interpolation, evaluation or escaping regex, we need one that is - // guaranteed not to match. - var noMatch = /(.)^/; - - // Certain characters need to be escaped so that they can be put into a - // string literal. - var escapes = { - "'": "'", - '\\': '\\', - '\r': 'r', - '\n': 'n', - '\t': 't', - '\u2028': 'u2028', - '\u2029': 'u2029' - }; - - var escaper = /\\|'|\r|\n|\t|\u2028|\u2029/g; - - // JavaScript micro-templating, similar to John Resig's implementation. - // Underscore templating handles arbitrary delimiters, preserves whitespace, - // and correctly escapes quotes within interpolated code. - _.template = function(text, data, settings) { - var render; - settings = _.defaults({}, settings, _.templateSettings); - - // Combine delimiters into one regular expression via alternation. - var matcher = new RegExp([ - (settings.escape || noMatch).source, - (settings.interpolate || noMatch).source, - (settings.evaluate || noMatch).source - ].join('|') + '|$', 'g'); - - // Compile the template source, escaping string literals appropriately. - var index = 0; - var source = "__p+='"; - text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { - source += text.slice(index, offset) - .replace(escaper, function(match) { return '\\' + escapes[match]; }); - - if (escape) { - source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; - } - if (interpolate) { - source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; - } - if (evaluate) { - source += "';\n" + evaluate + "\n__p+='"; - } - index = offset + match.length; - return match; - }); - source += "';\n"; - - // If a variable is not specified, place data values in local scope. - if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n'; - - source = "var __t,__p='',__j=Array.prototype.join," + - "print=function(){__p+=__j.call(arguments,'');};\n" + - source + "return __p;\n"; - - try { - render = new Function(settings.variable || 'obj', '_', source); - } catch (e) { - e.source = source; - throw e; - } - - if (data) return render(data, _); - var template = function(data) { - return render.call(this, data, _); - }; - - // Provide the compiled function source as a convenience for precompilation. - template.source = 'function(' + (settings.variable || 'obj') + '){\n' + source + '}'; - - return template; - }; - - // Add a "chain" function, which will delegate to the wrapper. - _.chain = function(obj) { - return _(obj).chain(); - }; - - // OOP - // --------------- - // If Underscore is called as a function, it returns a wrapped object that - // can be used OO-style. This wrapper holds altered versions of all the - // underscore functions. Wrapped objects may be chained. - - // Helper function to continue chaining intermediate results. - var result = function(obj) { - return this._chain ? _(obj).chain() : obj; - }; - - // Add all of the Underscore functions to the wrapper object. - _.mixin(_); - - // Add all mutator Array functions to the wrapper. - each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { - var method = ArrayProto[name]; - _.prototype[name] = function() { - var obj = this._wrapped; - method.apply(obj, arguments); - if ((name == 'shift' || name == 'splice') && obj.length === 0) delete obj[0]; - return result.call(this, obj); - }; - }); - - // Add all accessor Array functions to the wrapper. - each(['concat', 'join', 'slice'], function(name) { - var method = ArrayProto[name]; - _.prototype[name] = function() { - return result.call(this, method.apply(this._wrapped, arguments)); - }; - }); - - _.extend(_.prototype, { - - // Start chaining a wrapped Underscore object. - chain: function() { - this._chain = true; - return this; - }, - - // Extracts the result from a wrapped and chained object. - value: function() { - return this._wrapped; - } - - }); - -}).call(this); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/package.json b/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/package.json deleted file mode 100644 index 09382f8357a9..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "argparse", - "description": "Very powerful CLI arguments parser. Native port of argparse - python's options parsing library", - "version": "0.1.15", - "keywords": [ - "cli", - "parser", - "argparse", - "option", - "args" - ], - "homepage": "https://github.com/nodeca/argparse", - "contributors": [ - { - "name": "Eugene Shkuropat" - }, - { - "name": "Paul Jacobson" - } - ], - "bugs": { - "url": "https://github.com/nodeca/argparse/issues" - }, - "license": { - "type": "MIT", - "url": "https://github.com/nodeca/argparse/blob/master/LICENSE" - }, - "repository": { - "type": "git", - "url": "git://github.com/nodeca/argparse.git" - }, - "main": "./index.js", - "scripts": { - "test": "make test" - }, - "dependencies": { - "underscore": "~1.4.3", - "underscore.string": "~2.3.1" - }, - "devDependencies": { - "mocha": "*" - }, - "engines": { - "node": ">= 0.6.0" - }, - "readme": "argparse\n========\n\n[![Build Status](https://secure.travis-ci.org/nodeca/argparse.png?branch=master)](http://travis-ci.org/nodeca/argparse)\n\nCLI arguments parser for node.js. Javascript port of python's\n[argparse](http://docs.python.org/dev/library/argparse.html) module\n(original version 3.2). That's a full port, except some very rare options,\nrecorded in issue tracker.\n\n**NB.** Method names changed to camelCase. See [generated docs](http://nodeca.github.com/argparse/).\n\n\nExample\n=======\n\ntest.js file:\n\n```javascript\n#!/usr/bin/env node\n'use strict';\n\nvar ArgumentParser = require('../lib/argparse').ArgumentParser;\nvar parser = new ArgumentParser({\n version: '0.0.1',\n addHelp:true,\n description: 'Argparse example'\n});\nparser.addArgument(\n [ '-f', '--foo' ],\n {\n help: 'foo bar'\n }\n);\nparser.addArgument(\n [ '-b', '--bar' ],\n {\n help: 'bar foo'\n }\n);\nvar args = parser.parseArgs();\nconsole.dir(args);\n```\n\nDisplay help:\n\n```\n$ ./test.js -h\nusage: example.js [-h] [-v] [-f FOO] [-b BAR]\n\nArgparse example\n\nOptional arguments:\n -h, --help Show this help message and exit.\n -v, --version Show program's version number and exit.\n -f FOO, --foo FOO foo bar\n -b BAR, --bar BAR bar foo\n```\n\nParse arguments:\n\n```\n$ ./test.js -f=3 --bar=4\n{ foo: '3', bar: '4' }\n```\n\nMore [examples](https://github.com/nodeca/argparse/tree/master/examples).\n\n\nArgumentParser objects\n======================\n\n```\nnew ArgumentParser({paramters hash});\n```\n\nCreates a new ArgumentParser object.\n\n**Supported params:**\n\n- ```description``` - Text to display before the argument help.\n- ```epilog``` - Text to display after the argument help.\n- ```addHelp``` - Add a -h/–help option to the parser. (default: True)\n- ```argumentDefault``` - Set the global default value for arguments. (default: None)\n- ```parents``` - A list of ArgumentParser objects whose arguments should also be included.\n- ```prefixChars``` - The set of characters that prefix optional arguments. (default: ‘-‘)\n- ```formatterClass``` - A class for customizing the help output.\n- ```prog``` - The name of the program (default: sys.argv[0])\n- ```usage``` - The string describing the program usage (default: generated)\n- ```conflictHandler``` - Usually unnecessary, defines strategy for resolving conflicting optionals.\n\n**Not supportied yet**\n\n- ```fromfilePrefixChars``` - The set of characters that prefix files from which additional arguments should be read.\n\n\nDetails in [original ArgumentParser guide](http://docs.python.org/dev/library/argparse.html#argumentparser-objects)\n\n\naddArgument() method\n====================\n\n```\nArgumentParser.addArgument([names or flags], {options})\n```\n\nDefines how a single command-line argument should be parsed.\n\n- ```name or flags``` - Either a name or a list of option strings, e.g. foo or -f, --foo.\n\nOptions:\n\n- ```action``` - The basic type of action to be taken when this argument is encountered at the command line.\n- ```nargs```- The number of command-line arguments that should be consumed.\n- ```constant``` - A constant value required by some action and nargs selections.\n- ```defaultValue``` - The value produced if the argument is absent from the command line.\n- ```type``` - The type to which the command-line argument should be converted.\n- ```choices``` - A container of the allowable values for the argument.\n- ```required``` - Whether or not the command-line option may be omitted (optionals only).\n- ```help``` - A brief description of what the argument does.\n- ```metavar``` - A name for the argument in usage messages.\n- ```dest``` - The name of the attribute to be added to the object returned by parseArgs().\n\nDetails in [original add_argument guide](http://docs.python.org/dev/library/argparse.html#the-add-argument-method)\n\n\nAction (some details)\n================\n\nArgumentParser objects associate command-line arguments with actions.\nThese actions can do just about anything with the command-line arguments associated\nwith them, though most actions simply add an attribute to the object returned by\nparseArgs(). The action keyword argument specifies how the command-line arguments\nshould be handled. The supported actions are:\n\n- ```store``` - Just stores the argument’s value. This is the default action.\n- ```storeConst``` - Stores value, specified by the const keyword argument.\n (Note that the const keyword argument defaults to the rather unhelpful None.)\n The 'storeConst' action is most commonly used with optional arguments, that\n specify some sort of flag.\n- ```storeTrue``` and ```storeFalse``` - Stores values True and False\n respectively. These are special cases of 'storeConst'.\n- ```append``` - Stores a list, and appends each argument value to the list.\n This is useful to allow an option to be specified multiple times.\n- ```appendConst``` - Stores a list, and appends value, specified by the\n const keyword argument to the list. (Note, that the const keyword argument defaults\n is None.) The 'appendConst' action is typically used when multiple arguments need\n to store constants to the same list.\n- ```count``` - Counts the number of times a keyword argument occurs. For example,\n used for increasing verbosity levels.\n- ```help``` - Prints a complete help message for all the options in the current\n parser and then exits. By default a help action is automatically added to the parser.\n See ArgumentParser for details of how the output is created.\n- ```version``` - Prints version information and exit. Expects a `version=`\n keyword argument in the addArgument() call.\n\nDetails in [original action guide](http://docs.python.org/dev/library/argparse.html#action)\n\n\nSub-commands\n============\n\nArgumentParser.addSubparsers()\n\nMany programs split their functionality into a number of sub-commands, for\nexample, the svn program can invoke sub-commands like `svn checkout`, `svn update`,\nand `svn commit`. Splitting up functionality this way can be a particularly good\nidea when a program performs several different functions which require different\nkinds of command-line arguments. `ArgumentParser` supports creation of such\nsub-commands with `addSubparsers()` method. The `addSubparsers()` method is\nnormally called with no arguments and returns an special action object.\nThis object has a single method `addParser()`, which takes a command name and\nany `ArgumentParser` constructor arguments, and returns an `ArgumentParser` object\nthat can be modified as usual.\n\nExample:\n\nsub_commands.js\n```javascript\n#!/usr/bin/env node\n'use strict';\n\nvar ArgumentParser = require('../lib/argparse').ArgumentParser;\nvar parser = new ArgumentParser({\n version: '0.0.1',\n addHelp:true,\n description: 'Argparse examples: sub-commands',\n});\n\nvar subparsers = parser.addSubparsers({\n title:'subcommands',\n dest:\"subcommand_name\"\n});\n\nvar bar = subparsers.addParser('c1', {addHelp:true});\nbar.addArgument(\n [ '-f', '--foo' ],\n {\n action: 'store',\n help: 'foo3 bar3'\n }\n);\nvar bar = subparsers.addParser(\n 'c2',\n {aliases:['co'], addHelp:true}\n);\nbar.addArgument(\n [ '-b', '--bar' ],\n {\n action: 'store',\n type: 'int',\n help: 'foo3 bar3'\n }\n);\n\nvar args = parser.parseArgs();\nconsole.dir(args);\n\n```\n\nDetails in [original sub-commands guide](http://docs.python.org/dev/library/argparse.html#sub-commands)\n\n\nContributors\n============\n\n- [Eugene Shkuropat](https://github.com/shkuropat)\n- [Paul Jacobson](https://github.com/hpaulj)\n\n[others](https://github.com/nodeca/argparse/graphs/contributors)\n\nLicense\n=======\n\nCopyright (c) 2012 [Vitaly Puzrin](https://github.com/puzrin).\nReleased under the MIT license. See\n[LICENSE](https://github.com/nodeca/argparse/blob/master/LICENSE) for details.\n\n\n", - "readmeFilename": "README.md", - "_id": "argparse@0.1.15", - "_from": "argparse@~ 0.1.11" -} diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/README.md b/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/README.md deleted file mode 100644 index a74bd12d6f1a..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/README.md +++ /dev/null @@ -1,73 +0,0 @@ -**Esprima** ([esprima.org](http://esprima.org)) is a high performance, -standard-compliant [ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm) -parser written in ECMAScript (also popularly known as -[JavaScript](http://en.wikipedia.org/wiki/JavaScript>JavaScript)). -Esprima is created and maintained by [Ariya Hidayat](http://twitter.com/ariyahidayat), -with the help of [many contributors](https://github.com/ariya/esprima/contributors). - -Esprima runs on web browsers (IE 6+, Firefox 1+, Safari 3+, Chrome 1+, Konqueror 4.6+, Opera 8+) as well as -[Node.js](http://nodejs.org). - -### Features - -- Full support for [ECMAScript 5.1](http://www.ecma-international.org/publications/standards/Ecma-262.htm)(ECMA-262) -- Sensible [syntax tree format](http://esprima.org/doc/index.html#ast) compatible with Mozilla -[Parser AST](https://developer.mozilla.org/en/SpiderMonkey/Parser_API) -- Heavily tested (> 550 [unit tests](http://esprima.org/test/) with solid 100% statement coverage) -- Optional tracking of syntax node location (index-based and line-column) -- Experimental support for ES6/Harmony (module, class, destructuring, ...) - -Esprima is blazing fast (see the [benchmark suite](http://esprima.org/test/benchmarks.html)). -It is up to 3x faster than UglifyJS v1 and it is still [competitive](http://esprima.org/test/compare.html) -with the new generation of fast parsers. - -### Applications - -Esprima serves as the basis for many popular JavaScript development tools: - -- Code coverage analysis: [node-cover](https://github.com/itay/node-cover), [Istanbul](https://github.com/yahoo/Istanbul) -- Documentation tool: [JFDoc](https://github.com/thejohnfreeman/jfdoc), [JSDuck](https://github.com/senchalabs/jsduck) -- Language extension: [LLJS](http://mbebenita.github.com/LLJS/) (low-level JS), -[Sweet.js](http://sweetjs.org/) (macro) -- ES6/Harmony transpiler: [Six](https://github.com/matthewrobb/six), [Harmonizr](https://github.com/jdiamond/harmonizr) -- Eclipse Orion smart editing ([outline view](https://github.com/aclement/esprima-outline), [content assist](http://contraptionsforprogramming.blogspot.com/2012/02/better-javascript-content-assist-in.html)) -- Source code modification: [Esmorph](https://github.com/ariya/esmorph), [Code Painter](https://github.com/fawek/codepainter), -- Source transformation: [node-falafel](https://github.com/substack/node-falafel), [Esmangle](https://github.com/Constellation/esmangle), [escodegen](https://github.com/Constellation/escodegen) - -### Questions? -- [Documentation](http://esprima.org/doc) -- [Issue tracker](http://issues.esprima.org): [known problems](http://code.google.com/p/esprima/issues/list?q=Defect) -and [future plans](http://code.google.com/p/esprima/issues/list?q=Enhancement) -- [Mailing list](http://groups.google.com/group/esprima) -- [Contribution guide](http://esprima.org/doc/index.html#contribution) - -Follow [@Esprima](http://twitter.com/Esprima) on Twitter to get the -development updates. -Feedback and contribution are welcomed! - -### License - -Copyright (C) 2012, 2011 [Ariya Hidayat](http://ariya.ofilabs.com/about) - and other contributors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esparse.js b/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esparse.js deleted file mode 100755 index 3e7bb81ea308..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esparse.js +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env node -/* - Copyright (C) 2012 Ariya Hidayat - Copyright (C) 2011 Ariya Hidayat - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/*jslint sloppy:true node:true rhino:true */ - -var fs, esprima, fname, content, options, syntax; - -if (typeof require === 'function') { - fs = require('fs'); - esprima = require('esprima'); -} else if (typeof load === 'function') { - try { - load('esprima.js'); - } catch (e) { - load('../esprima.js'); - } -} - -// Shims to Node.js objects when running under Rhino. -if (typeof console === 'undefined' && typeof process === 'undefined') { - console = { log: print }; - fs = { readFileSync: readFile }; - process = { argv: arguments, exit: quit }; - process.argv.unshift('esparse.js'); - process.argv.unshift('rhino'); -} - -function showUsage() { - console.log('Usage:'); - console.log(' esparse [options] file.js'); - console.log(); - console.log('Available options:'); - console.log(); - console.log(' --comment Gather all line and block comments in an array'); - console.log(' --loc Include line-column location info for each syntax node'); - console.log(' --range Include index-based range for each syntax node'); - console.log(' --raw Display the raw value of literals'); - console.log(' --tokens List all tokens in an array'); - console.log(' --tolerant Tolerate errors on a best-effort basis (experimental)'); - console.log(' -v, --version Shows program version'); - console.log(); - process.exit(1); -} - -if (process.argv.length <= 2) { - showUsage(); -} - -options = {}; - -process.argv.splice(2).forEach(function (entry) { - - if (entry === '-h' || entry === '--help') { - showUsage(); - } else if (entry === '-v' || entry === '--version') { - console.log('ECMAScript Parser (using Esprima version', esprima.version, ')'); - console.log(); - process.exit(0); - } else if (entry === '--comment') { - options.comment = true; - } else if (entry === '--loc') { - options.loc = true; - } else if (entry === '--range') { - options.range = true; - } else if (entry === '--raw') { - options.raw = true; - } else if (entry === '--tokens') { - options.tokens = true; - } else if (entry === '--tolerant') { - options.tolerant = true; - } else if (entry.slice(0, 2) === '--') { - console.log('Error: unknown option ' + entry + '.'); - process.exit(1); - } else if (typeof fname === 'string') { - console.log('Error: more than one input file.'); - process.exit(1); - } else { - fname = entry; - } -}); - -if (typeof fname !== 'string') { - console.log('Error: no input file.'); - process.exit(1); -} - -try { - content = fs.readFileSync(fname, 'utf-8'); - syntax = esprima.parse(content, options); - console.log(JSON.stringify(syntax, null, 4)); -} catch (e) { - console.log('Error: ' + e.message); - process.exit(1); -} diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js b/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js deleted file mode 100755 index e0af3f705156..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js +++ /dev/null @@ -1,177 +0,0 @@ -#!/usr/bin/env node -/* - Copyright (C) 2012 Ariya Hidayat - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/*jslint sloppy:true plusplus:true node:true rhino:true */ - -var fs, esprima, options, fnames, count; - -if (typeof require === 'function') { - fs = require('fs'); - esprima = require('esprima'); -} else if (typeof load === 'function') { - try { - load('esprima.js'); - } catch (e) { - load('../esprima.js'); - } -} - -// Shims to Node.js objects when running under Rhino. -if (typeof console === 'undefined' && typeof process === 'undefined') { - console = { log: print }; - fs = { readFileSync: readFile }; - process = { argv: arguments, exit: quit }; - process.argv.unshift('esvalidate.js'); - process.argv.unshift('rhino'); -} - -function showUsage() { - console.log('Usage:'); - console.log(' esvalidate [options] file.js'); - console.log(); - console.log('Available options:'); - console.log(); - console.log(' --format=type Set the report format, plain (default) or junit'); - console.log(' -v, --version Print program version'); - console.log(); - process.exit(1); -} - -if (process.argv.length <= 2) { - showUsage(); -} - -options = { - format: 'plain' -}; - -fnames = []; - -process.argv.splice(2).forEach(function (entry) { - - if (entry === '-h' || entry === '--help') { - showUsage(); - } else if (entry === '-v' || entry === '--version') { - console.log('ECMAScript Validator (using Esprima version', esprima.version, ')'); - console.log(); - process.exit(0); - } else if (entry.slice(0, 9) === '--format=') { - options.format = entry.slice(9); - if (options.format !== 'plain' && options.format !== 'junit') { - console.log('Error: unknown report format ' + options.format + '.'); - process.exit(1); - } - } else if (entry.slice(0, 2) === '--') { - console.log('Error: unknown option ' + entry + '.'); - process.exit(1); - } else { - fnames.push(entry); - } -}); - -if (fnames.length === 0) { - console.log('Error: no input file.'); - process.exit(1); -} - -if (options.format === 'junit') { - console.log(''); - console.log(''); -} - -count = 0; -fnames.forEach(function (fname) { - var content, timestamp, syntax, name; - try { - content = fs.readFileSync(fname, 'utf-8'); - - if (content[0] === '#' && content[1] === '!') { - content = '//' + content.substr(2, content.length); - } - - timestamp = Date.now(); - syntax = esprima.parse(content, { tolerant: true }); - - if (options.format === 'junit') { - - name = fname; - if (name.lastIndexOf('/') >= 0) { - name = name.slice(name.lastIndexOf('/') + 1); - } - - console.log(''); - - syntax.errors.forEach(function (error) { - var msg = error.message; - msg = msg.replace(/^Line\ [0-9]*\:\ /, ''); - console.log(' '); - console.log(' ' + - error.message + '(' + name + ':' + error.lineNumber + ')' + - ''); - console.log(' '); - }); - - console.log(''); - - } else if (options.format === 'plain') { - - syntax.errors.forEach(function (error) { - var msg = error.message; - msg = msg.replace(/^Line\ [0-9]*\:\ /, ''); - msg = fname + ':' + error.lineNumber + ': ' + msg; - console.log(msg); - ++count; - }); - - } - } catch (e) { - ++count; - if (options.format === 'junit') { - console.log(''); - console.log(' '); - console.log(' ' + - e.message + '(' + fname + ((e.lineNumber) ? ':' + e.lineNumber : '') + - ')'); - console.log(' '); - console.log(''); - } else { - console.log('Error: ' + e.message); - } - } -}); - -if (options.format === 'junit') { - console.log(''); -} - -if (count > 0) { - process.exit(1); -} diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/esprima.js b/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/esprima.js deleted file mode 100644 index f1320daf9bd1..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/esprima.js +++ /dev/null @@ -1,3908 +0,0 @@ -/* - Copyright (C) 2012 Ariya Hidayat - Copyright (C) 2012 Mathias Bynens - Copyright (C) 2012 Joost-Wim Boekesteijn - Copyright (C) 2012 Kris Kowal - Copyright (C) 2012 Yusuke Suzuki - Copyright (C) 2012 Arpad Borsos - Copyright (C) 2011 Ariya Hidayat - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/*jslint bitwise:true plusplus:true */ -/*global esprima:true, define:true, exports:true, window: true, -throwError: true, createLiteral: true, generateStatement: true, -parseAssignmentExpression: true, parseBlock: true, parseExpression: true, -parseFunctionDeclaration: true, parseFunctionExpression: true, -parseFunctionSourceElements: true, parseVariableIdentifier: true, -parseLeftHandSideExpression: true, -parseStatement: true, parseSourceElement: true */ - -(function (root, factory) { - 'use strict'; - - // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, - // Rhino, and plain browser loading. - if (typeof define === 'function' && define.amd) { - define(['exports'], factory); - } else if (typeof exports !== 'undefined') { - factory(exports); - } else { - factory((root.esprima = {})); - } -}(this, function (exports) { - 'use strict'; - - var Token, - TokenName, - Syntax, - PropertyKind, - Messages, - Regex, - source, - strict, - index, - lineNumber, - lineStart, - length, - buffer, - state, - extra; - - Token = { - BooleanLiteral: 1, - EOF: 2, - Identifier: 3, - Keyword: 4, - NullLiteral: 5, - NumericLiteral: 6, - Punctuator: 7, - StringLiteral: 8 - }; - - TokenName = {}; - TokenName[Token.BooleanLiteral] = 'Boolean'; - TokenName[Token.EOF] = ''; - TokenName[Token.Identifier] = 'Identifier'; - TokenName[Token.Keyword] = 'Keyword'; - TokenName[Token.NullLiteral] = 'Null'; - TokenName[Token.NumericLiteral] = 'Numeric'; - TokenName[Token.Punctuator] = 'Punctuator'; - TokenName[Token.StringLiteral] = 'String'; - - Syntax = { - AssignmentExpression: 'AssignmentExpression', - ArrayExpression: 'ArrayExpression', - BlockStatement: 'BlockStatement', - BinaryExpression: 'BinaryExpression', - BreakStatement: 'BreakStatement', - CallExpression: 'CallExpression', - CatchClause: 'CatchClause', - ConditionalExpression: 'ConditionalExpression', - ContinueStatement: 'ContinueStatement', - DoWhileStatement: 'DoWhileStatement', - DebuggerStatement: 'DebuggerStatement', - EmptyStatement: 'EmptyStatement', - ExpressionStatement: 'ExpressionStatement', - ForStatement: 'ForStatement', - ForInStatement: 'ForInStatement', - FunctionDeclaration: 'FunctionDeclaration', - FunctionExpression: 'FunctionExpression', - Identifier: 'Identifier', - IfStatement: 'IfStatement', - Literal: 'Literal', - LabeledStatement: 'LabeledStatement', - LogicalExpression: 'LogicalExpression', - MemberExpression: 'MemberExpression', - NewExpression: 'NewExpression', - ObjectExpression: 'ObjectExpression', - Program: 'Program', - Property: 'Property', - ReturnStatement: 'ReturnStatement', - SequenceExpression: 'SequenceExpression', - SwitchStatement: 'SwitchStatement', - SwitchCase: 'SwitchCase', - ThisExpression: 'ThisExpression', - ThrowStatement: 'ThrowStatement', - TryStatement: 'TryStatement', - UnaryExpression: 'UnaryExpression', - UpdateExpression: 'UpdateExpression', - VariableDeclaration: 'VariableDeclaration', - VariableDeclarator: 'VariableDeclarator', - WhileStatement: 'WhileStatement', - WithStatement: 'WithStatement' - }; - - PropertyKind = { - Data: 1, - Get: 2, - Set: 4 - }; - - // Error messages should be identical to V8. - Messages = { - UnexpectedToken: 'Unexpected token %0', - UnexpectedNumber: 'Unexpected number', - UnexpectedString: 'Unexpected string', - UnexpectedIdentifier: 'Unexpected identifier', - UnexpectedReserved: 'Unexpected reserved word', - UnexpectedEOS: 'Unexpected end of input', - NewlineAfterThrow: 'Illegal newline after throw', - InvalidRegExp: 'Invalid regular expression', - UnterminatedRegExp: 'Invalid regular expression: missing /', - InvalidLHSInAssignment: 'Invalid left-hand side in assignment', - InvalidLHSInForIn: 'Invalid left-hand side in for-in', - MultipleDefaultsInSwitch: 'More than one default clause in switch statement', - NoCatchOrFinally: 'Missing catch or finally after try', - UnknownLabel: 'Undefined label \'%0\'', - Redeclaration: '%0 \'%1\' has already been declared', - IllegalContinue: 'Illegal continue statement', - IllegalBreak: 'Illegal break statement', - IllegalReturn: 'Illegal return statement', - StrictModeWith: 'Strict mode code may not include a with statement', - StrictCatchVariable: 'Catch variable may not be eval or arguments in strict mode', - StrictVarName: 'Variable name may not be eval or arguments in strict mode', - StrictParamName: 'Parameter name eval or arguments is not allowed in strict mode', - StrictParamDupe: 'Strict mode function may not have duplicate parameter names', - StrictFunctionName: 'Function name may not be eval or arguments in strict mode', - StrictOctalLiteral: 'Octal literals are not allowed in strict mode.', - StrictDelete: 'Delete of an unqualified identifier in strict mode.', - StrictDuplicateProperty: 'Duplicate data property in object literal not allowed in strict mode', - AccessorDataProperty: 'Object literal may not have data and accessor property with the same name', - AccessorGetSet: 'Object literal may not have multiple get/set accessors with the same name', - StrictLHSAssignment: 'Assignment to eval or arguments is not allowed in strict mode', - StrictLHSPostfix: 'Postfix increment/decrement may not have eval or arguments operand in strict mode', - StrictLHSPrefix: 'Prefix increment/decrement may not have eval or arguments operand in strict mode', - StrictReservedWord: 'Use of future reserved word in strict mode' - }; - - // See also tools/generate-unicode-regex.py. - Regex = { - NonAsciiIdentifierStart: new RegExp('[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]'), - NonAsciiIdentifierPart: new RegExp('[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0\u08a2-\u08ac\u08e4-\u08fe\u0900-\u0963\u0966-\u096f\u0971-\u0977\u0979-\u097f\u0981-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d02\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191c\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1d00-\u1de6\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua697\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a\uaa7b\uaa80-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabea\uabec\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]') - }; - - // Ensure the condition is true, otherwise throw an error. - // This is only to have a better contract semantic, i.e. another safety net - // to catch a logic error. The condition shall be fulfilled in normal case. - // Do NOT use this to enforce a certain condition on any user input. - - function assert(condition, message) { - if (!condition) { - throw new Error('ASSERT: ' + message); - } - } - - function sliceSource(from, to) { - return source.slice(from, to); - } - - if (typeof 'esprima'[0] === 'undefined') { - sliceSource = function sliceArraySource(from, to) { - return source.slice(from, to).join(''); - }; - } - - function isDecimalDigit(ch) { - return '0123456789'.indexOf(ch) >= 0; - } - - function isHexDigit(ch) { - return '0123456789abcdefABCDEF'.indexOf(ch) >= 0; - } - - function isOctalDigit(ch) { - return '01234567'.indexOf(ch) >= 0; - } - - - // 7.2 White Space - - function isWhiteSpace(ch) { - return (ch === ' ') || (ch === '\u0009') || (ch === '\u000B') || - (ch === '\u000C') || (ch === '\u00A0') || - (ch.charCodeAt(0) >= 0x1680 && - '\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\uFEFF'.indexOf(ch) >= 0); - } - - // 7.3 Line Terminators - - function isLineTerminator(ch) { - return (ch === '\n' || ch === '\r' || ch === '\u2028' || ch === '\u2029'); - } - - // 7.6 Identifier Names and Identifiers - - function isIdentifierStart(ch) { - return (ch === '$') || (ch === '_') || (ch === '\\') || - (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || - ((ch.charCodeAt(0) >= 0x80) && Regex.NonAsciiIdentifierStart.test(ch)); - } - - function isIdentifierPart(ch) { - return (ch === '$') || (ch === '_') || (ch === '\\') || - (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || - ((ch >= '0') && (ch <= '9')) || - ((ch.charCodeAt(0) >= 0x80) && Regex.NonAsciiIdentifierPart.test(ch)); - } - - // 7.6.1.2 Future Reserved Words - - function isFutureReservedWord(id) { - switch (id) { - - // Future reserved words. - case 'class': - case 'enum': - case 'export': - case 'extends': - case 'import': - case 'super': - return true; - } - - return false; - } - - function isStrictModeReservedWord(id) { - switch (id) { - - // Strict Mode reserved words. - case 'implements': - case 'interface': - case 'package': - case 'private': - case 'protected': - case 'public': - case 'static': - case 'yield': - case 'let': - return true; - } - - return false; - } - - function isRestrictedWord(id) { - return id === 'eval' || id === 'arguments'; - } - - // 7.6.1.1 Keywords - - function isKeyword(id) { - var keyword = false; - switch (id.length) { - case 2: - keyword = (id === 'if') || (id === 'in') || (id === 'do'); - break; - case 3: - keyword = (id === 'var') || (id === 'for') || (id === 'new') || (id === 'try'); - break; - case 4: - keyword = (id === 'this') || (id === 'else') || (id === 'case') || (id === 'void') || (id === 'with'); - break; - case 5: - keyword = (id === 'while') || (id === 'break') || (id === 'catch') || (id === 'throw'); - break; - case 6: - keyword = (id === 'return') || (id === 'typeof') || (id === 'delete') || (id === 'switch'); - break; - case 7: - keyword = (id === 'default') || (id === 'finally'); - break; - case 8: - keyword = (id === 'function') || (id === 'continue') || (id === 'debugger'); - break; - case 10: - keyword = (id === 'instanceof'); - break; - } - - if (keyword) { - return true; - } - - switch (id) { - // Future reserved words. - // 'const' is specialized as Keyword in V8. - case 'const': - return true; - - // For compatiblity to SpiderMonkey and ES.next - case 'yield': - case 'let': - return true; - } - - if (strict && isStrictModeReservedWord(id)) { - return true; - } - - return isFutureReservedWord(id); - } - - // 7.4 Comments - - function skipComment() { - var ch, blockComment, lineComment; - - blockComment = false; - lineComment = false; - - while (index < length) { - ch = source[index]; - - if (lineComment) { - ch = source[index++]; - if (isLineTerminator(ch)) { - lineComment = false; - if (ch === '\r' && source[index] === '\n') { - ++index; - } - ++lineNumber; - lineStart = index; - } - } else if (blockComment) { - if (isLineTerminator(ch)) { - if (ch === '\r' && source[index + 1] === '\n') { - ++index; - } - ++lineNumber; - ++index; - lineStart = index; - if (index >= length) { - throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); - } - } else { - ch = source[index++]; - if (index >= length) { - throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); - } - if (ch === '*') { - ch = source[index]; - if (ch === '/') { - ++index; - blockComment = false; - } - } - } - } else if (ch === '/') { - ch = source[index + 1]; - if (ch === '/') { - index += 2; - lineComment = true; - } else if (ch === '*') { - index += 2; - blockComment = true; - if (index >= length) { - throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); - } - } else { - break; - } - } else if (isWhiteSpace(ch)) { - ++index; - } else if (isLineTerminator(ch)) { - ++index; - if (ch === '\r' && source[index] === '\n') { - ++index; - } - ++lineNumber; - lineStart = index; - } else { - break; - } - } - } - - function scanHexEscape(prefix) { - var i, len, ch, code = 0; - - len = (prefix === 'u') ? 4 : 2; - for (i = 0; i < len; ++i) { - if (index < length && isHexDigit(source[index])) { - ch = source[index++]; - code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase()); - } else { - return ''; - } - } - return String.fromCharCode(code); - } - - function scanIdentifier() { - var ch, start, id, restore; - - ch = source[index]; - if (!isIdentifierStart(ch)) { - return; - } - - start = index; - if (ch === '\\') { - ++index; - if (source[index] !== 'u') { - return; - } - ++index; - restore = index; - ch = scanHexEscape('u'); - if (ch) { - if (ch === '\\' || !isIdentifierStart(ch)) { - return; - } - id = ch; - } else { - index = restore; - id = 'u'; - } - } else { - id = source[index++]; - } - - while (index < length) { - ch = source[index]; - if (!isIdentifierPart(ch)) { - break; - } - if (ch === '\\') { - ++index; - if (source[index] !== 'u') { - return; - } - ++index; - restore = index; - ch = scanHexEscape('u'); - if (ch) { - if (ch === '\\' || !isIdentifierPart(ch)) { - return; - } - id += ch; - } else { - index = restore; - id += 'u'; - } - } else { - id += source[index++]; - } - } - - // There is no keyword or literal with only one character. - // Thus, it must be an identifier. - if (id.length === 1) { - return { - type: Token.Identifier, - value: id, - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - if (isKeyword(id)) { - return { - type: Token.Keyword, - value: id, - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - // 7.8.1 Null Literals - - if (id === 'null') { - return { - type: Token.NullLiteral, - value: id, - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - // 7.8.2 Boolean Literals - - if (id === 'true' || id === 'false') { - return { - type: Token.BooleanLiteral, - value: id, - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - return { - type: Token.Identifier, - value: id, - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - // 7.7 Punctuators - - function scanPunctuator() { - var start = index, - ch1 = source[index], - ch2, - ch3, - ch4; - - // Check for most common single-character punctuators. - - if (ch1 === ';' || ch1 === '{' || ch1 === '}') { - ++index; - return { - type: Token.Punctuator, - value: ch1, - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - if (ch1 === ',' || ch1 === '(' || ch1 === ')') { - ++index; - return { - type: Token.Punctuator, - value: ch1, - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - // Dot (.) can also start a floating-point number, hence the need - // to check the next character. - - ch2 = source[index + 1]; - if (ch1 === '.' && !isDecimalDigit(ch2)) { - return { - type: Token.Punctuator, - value: source[index++], - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - // Peek more characters. - - ch3 = source[index + 2]; - ch4 = source[index + 3]; - - // 4-character punctuator: >>>= - - if (ch1 === '>' && ch2 === '>' && ch3 === '>') { - if (ch4 === '=') { - index += 4; - return { - type: Token.Punctuator, - value: '>>>=', - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - } - - // 3-character punctuators: === !== >>> <<= >>= - - if (ch1 === '=' && ch2 === '=' && ch3 === '=') { - index += 3; - return { - type: Token.Punctuator, - value: '===', - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - if (ch1 === '!' && ch2 === '=' && ch3 === '=') { - index += 3; - return { - type: Token.Punctuator, - value: '!==', - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - if (ch1 === '>' && ch2 === '>' && ch3 === '>') { - index += 3; - return { - type: Token.Punctuator, - value: '>>>', - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - if (ch1 === '<' && ch2 === '<' && ch3 === '=') { - index += 3; - return { - type: Token.Punctuator, - value: '<<=', - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - if (ch1 === '>' && ch2 === '>' && ch3 === '=') { - index += 3; - return { - type: Token.Punctuator, - value: '>>=', - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - // 2-character punctuators: <= >= == != ++ -- << >> && || - // += -= *= %= &= |= ^= /= - - if (ch2 === '=') { - if ('<>=!+-*%&|^/'.indexOf(ch1) >= 0) { - index += 2; - return { - type: Token.Punctuator, - value: ch1 + ch2, - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - } - - if (ch1 === ch2 && ('+-<>&|'.indexOf(ch1) >= 0)) { - if ('+-<>&|'.indexOf(ch2) >= 0) { - index += 2; - return { - type: Token.Punctuator, - value: ch1 + ch2, - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - } - - // The remaining 1-character punctuators. - - if ('[]<>+-*%&|^!~?:=/'.indexOf(ch1) >= 0) { - return { - type: Token.Punctuator, - value: source[index++], - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - } - - // 7.8.3 Numeric Literals - - function scanNumericLiteral() { - var number, start, ch; - - ch = source[index]; - assert(isDecimalDigit(ch) || (ch === '.'), - 'Numeric literal must start with a decimal digit or a decimal point'); - - start = index; - number = ''; - if (ch !== '.') { - number = source[index++]; - ch = source[index]; - - // Hex number starts with '0x'. - // Octal number starts with '0'. - if (number === '0') { - if (ch === 'x' || ch === 'X') { - number += source[index++]; - while (index < length) { - ch = source[index]; - if (!isHexDigit(ch)) { - break; - } - number += source[index++]; - } - - if (number.length <= 2) { - // only 0x - throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); - } - - if (index < length) { - ch = source[index]; - if (isIdentifierStart(ch)) { - throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); - } - } - return { - type: Token.NumericLiteral, - value: parseInt(number, 16), - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } else if (isOctalDigit(ch)) { - number += source[index++]; - while (index < length) { - ch = source[index]; - if (!isOctalDigit(ch)) { - break; - } - number += source[index++]; - } - - if (index < length) { - ch = source[index]; - if (isIdentifierStart(ch) || isDecimalDigit(ch)) { - throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); - } - } - return { - type: Token.NumericLiteral, - value: parseInt(number, 8), - octal: true, - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - // decimal number starts with '0' such as '09' is illegal. - if (isDecimalDigit(ch)) { - throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); - } - } - - while (index < length) { - ch = source[index]; - if (!isDecimalDigit(ch)) { - break; - } - number += source[index++]; - } - } - - if (ch === '.') { - number += source[index++]; - while (index < length) { - ch = source[index]; - if (!isDecimalDigit(ch)) { - break; - } - number += source[index++]; - } - } - - if (ch === 'e' || ch === 'E') { - number += source[index++]; - - ch = source[index]; - if (ch === '+' || ch === '-') { - number += source[index++]; - } - - ch = source[index]; - if (isDecimalDigit(ch)) { - number += source[index++]; - while (index < length) { - ch = source[index]; - if (!isDecimalDigit(ch)) { - break; - } - number += source[index++]; - } - } else { - ch = 'character ' + ch; - if (index >= length) { - ch = ''; - } - throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); - } - } - - if (index < length) { - ch = source[index]; - if (isIdentifierStart(ch)) { - throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); - } - } - - return { - type: Token.NumericLiteral, - value: parseFloat(number), - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - // 7.8.4 String Literals - - function scanStringLiteral() { - var str = '', quote, start, ch, code, unescaped, restore, octal = false; - - quote = source[index]; - assert((quote === '\'' || quote === '"'), - 'String literal must starts with a quote'); - - start = index; - ++index; - - while (index < length) { - ch = source[index++]; - - if (ch === quote) { - quote = ''; - break; - } else if (ch === '\\') { - ch = source[index++]; - if (!isLineTerminator(ch)) { - switch (ch) { - case 'n': - str += '\n'; - break; - case 'r': - str += '\r'; - break; - case 't': - str += '\t'; - break; - case 'u': - case 'x': - restore = index; - unescaped = scanHexEscape(ch); - if (unescaped) { - str += unescaped; - } else { - index = restore; - str += ch; - } - break; - case 'b': - str += '\b'; - break; - case 'f': - str += '\f'; - break; - case 'v': - str += '\x0B'; - break; - - default: - if (isOctalDigit(ch)) { - code = '01234567'.indexOf(ch); - - // \0 is not octal escape sequence - if (code !== 0) { - octal = true; - } - - if (index < length && isOctalDigit(source[index])) { - octal = true; - code = code * 8 + '01234567'.indexOf(source[index++]); - - // 3 digits are only allowed when string starts - // with 0, 1, 2, 3 - if ('0123'.indexOf(ch) >= 0 && - index < length && - isOctalDigit(source[index])) { - code = code * 8 + '01234567'.indexOf(source[index++]); - } - } - str += String.fromCharCode(code); - } else { - str += ch; - } - break; - } - } else { - ++lineNumber; - if (ch === '\r' && source[index] === '\n') { - ++index; - } - } - } else if (isLineTerminator(ch)) { - break; - } else { - str += ch; - } - } - - if (quote !== '') { - throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); - } - - return { - type: Token.StringLiteral, - value: str, - octal: octal, - lineNumber: lineNumber, - lineStart: lineStart, - range: [start, index] - }; - } - - function scanRegExp() { - var str, ch, start, pattern, flags, value, classMarker = false, restore, terminated = false; - - buffer = null; - skipComment(); - - start = index; - ch = source[index]; - assert(ch === '/', 'Regular expression literal must start with a slash'); - str = source[index++]; - - while (index < length) { - ch = source[index++]; - str += ch; - if (ch === '\\') { - ch = source[index++]; - // ECMA-262 7.8.5 - if (isLineTerminator(ch)) { - throwError({}, Messages.UnterminatedRegExp); - } - str += ch; - } else if (classMarker) { - if (ch === ']') { - classMarker = false; - } - } else { - if (ch === '/') { - terminated = true; - break; - } else if (ch === '[') { - classMarker = true; - } else if (isLineTerminator(ch)) { - throwError({}, Messages.UnterminatedRegExp); - } - } - } - - if (!terminated) { - throwError({}, Messages.UnterminatedRegExp); - } - - // Exclude leading and trailing slash. - pattern = str.substr(1, str.length - 2); - - flags = ''; - while (index < length) { - ch = source[index]; - if (!isIdentifierPart(ch)) { - break; - } - - ++index; - if (ch === '\\' && index < length) { - ch = source[index]; - if (ch === 'u') { - ++index; - restore = index; - ch = scanHexEscape('u'); - if (ch) { - flags += ch; - str += '\\u'; - for (; restore < index; ++restore) { - str += source[restore]; - } - } else { - index = restore; - flags += 'u'; - str += '\\u'; - } - } else { - str += '\\'; - } - } else { - flags += ch; - str += ch; - } - } - - try { - value = new RegExp(pattern, flags); - } catch (e) { - throwError({}, Messages.InvalidRegExp); - } - - return { - literal: str, - value: value, - range: [start, index] - }; - } - - function isIdentifierName(token) { - return token.type === Token.Identifier || - token.type === Token.Keyword || - token.type === Token.BooleanLiteral || - token.type === Token.NullLiteral; - } - - function advance() { - var ch, token; - - skipComment(); - - if (index >= length) { - return { - type: Token.EOF, - lineNumber: lineNumber, - lineStart: lineStart, - range: [index, index] - }; - } - - token = scanPunctuator(); - if (typeof token !== 'undefined') { - return token; - } - - ch = source[index]; - - if (ch === '\'' || ch === '"') { - return scanStringLiteral(); - } - - if (ch === '.' || isDecimalDigit(ch)) { - return scanNumericLiteral(); - } - - token = scanIdentifier(); - if (typeof token !== 'undefined') { - return token; - } - - throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); - } - - function lex() { - var token; - - if (buffer) { - index = buffer.range[1]; - lineNumber = buffer.lineNumber; - lineStart = buffer.lineStart; - token = buffer; - buffer = null; - return token; - } - - buffer = null; - return advance(); - } - - function lookahead() { - var pos, line, start; - - if (buffer !== null) { - return buffer; - } - - pos = index; - line = lineNumber; - start = lineStart; - buffer = advance(); - index = pos; - lineNumber = line; - lineStart = start; - - return buffer; - } - - // Return true if there is a line terminator before the next token. - - function peekLineTerminator() { - var pos, line, start, found; - - pos = index; - line = lineNumber; - start = lineStart; - skipComment(); - found = lineNumber !== line; - index = pos; - lineNumber = line; - lineStart = start; - - return found; - } - - // Throw an exception - - function throwError(token, messageFormat) { - var error, - args = Array.prototype.slice.call(arguments, 2), - msg = messageFormat.replace( - /%(\d)/g, - function (whole, index) { - return args[index] || ''; - } - ); - - if (typeof token.lineNumber === 'number') { - error = new Error('Line ' + token.lineNumber + ': ' + msg); - error.index = token.range[0]; - error.lineNumber = token.lineNumber; - error.column = token.range[0] - lineStart + 1; - } else { - error = new Error('Line ' + lineNumber + ': ' + msg); - error.index = index; - error.lineNumber = lineNumber; - error.column = index - lineStart + 1; - } - - throw error; - } - - function throwErrorTolerant() { - try { - throwError.apply(null, arguments); - } catch (e) { - if (extra.errors) { - extra.errors.push(e); - } else { - throw e; - } - } - } - - - // Throw an exception because of the token. - - function throwUnexpected(token) { - if (token.type === Token.EOF) { - throwError(token, Messages.UnexpectedEOS); - } - - if (token.type === Token.NumericLiteral) { - throwError(token, Messages.UnexpectedNumber); - } - - if (token.type === Token.StringLiteral) { - throwError(token, Messages.UnexpectedString); - } - - if (token.type === Token.Identifier) { - throwError(token, Messages.UnexpectedIdentifier); - } - - if (token.type === Token.Keyword) { - if (isFutureReservedWord(token.value)) { - throwError(token, Messages.UnexpectedReserved); - } else if (strict && isStrictModeReservedWord(token.value)) { - throwErrorTolerant(token, Messages.StrictReservedWord); - return; - } - throwError(token, Messages.UnexpectedToken, token.value); - } - - // BooleanLiteral, NullLiteral, or Punctuator. - throwError(token, Messages.UnexpectedToken, token.value); - } - - // Expect the next token to match the specified punctuator. - // If not, an exception will be thrown. - - function expect(value) { - var token = lex(); - if (token.type !== Token.Punctuator || token.value !== value) { - throwUnexpected(token); - } - } - - // Expect the next token to match the specified keyword. - // If not, an exception will be thrown. - - function expectKeyword(keyword) { - var token = lex(); - if (token.type !== Token.Keyword || token.value !== keyword) { - throwUnexpected(token); - } - } - - // Return true if the next token matches the specified punctuator. - - function match(value) { - var token = lookahead(); - return token.type === Token.Punctuator && token.value === value; - } - - // Return true if the next token matches the specified keyword - - function matchKeyword(keyword) { - var token = lookahead(); - return token.type === Token.Keyword && token.value === keyword; - } - - // Return true if the next token is an assignment operator - - function matchAssign() { - var token = lookahead(), - op = token.value; - - if (token.type !== Token.Punctuator) { - return false; - } - return op === '=' || - op === '*=' || - op === '/=' || - op === '%=' || - op === '+=' || - op === '-=' || - op === '<<=' || - op === '>>=' || - op === '>>>=' || - op === '&=' || - op === '^=' || - op === '|='; - } - - function consumeSemicolon() { - var token, line; - - // Catch the very common case first. - if (source[index] === ';') { - lex(); - return; - } - - line = lineNumber; - skipComment(); - if (lineNumber !== line) { - return; - } - - if (match(';')) { - lex(); - return; - } - - token = lookahead(); - if (token.type !== Token.EOF && !match('}')) { - throwUnexpected(token); - } - } - - // Return true if provided expression is LeftHandSideExpression - - function isLeftHandSide(expr) { - return expr.type === Syntax.Identifier || expr.type === Syntax.MemberExpression; - } - - // 11.1.4 Array Initialiser - - function parseArrayInitialiser() { - var elements = []; - - expect('['); - - while (!match(']')) { - if (match(',')) { - lex(); - elements.push(null); - } else { - elements.push(parseAssignmentExpression()); - - if (!match(']')) { - expect(','); - } - } - } - - expect(']'); - - return { - type: Syntax.ArrayExpression, - elements: elements - }; - } - - // 11.1.5 Object Initialiser - - function parsePropertyFunction(param, first) { - var previousStrict, body; - - previousStrict = strict; - body = parseFunctionSourceElements(); - if (first && strict && isRestrictedWord(param[0].name)) { - throwErrorTolerant(first, Messages.StrictParamName); - } - strict = previousStrict; - - return { - type: Syntax.FunctionExpression, - id: null, - params: param, - defaults: [], - body: body, - rest: null, - generator: false, - expression: false - }; - } - - function parseObjectPropertyKey() { - var token = lex(); - - // Note: This function is called only from parseObjectProperty(), where - // EOF and Punctuator tokens are already filtered out. - - if (token.type === Token.StringLiteral || token.type === Token.NumericLiteral) { - if (strict && token.octal) { - throwErrorTolerant(token, Messages.StrictOctalLiteral); - } - return createLiteral(token); - } - - return { - type: Syntax.Identifier, - name: token.value - }; - } - - function parseObjectProperty() { - var token, key, id, param; - - token = lookahead(); - - if (token.type === Token.Identifier) { - - id = parseObjectPropertyKey(); - - // Property Assignment: Getter and Setter. - - if (token.value === 'get' && !match(':')) { - key = parseObjectPropertyKey(); - expect('('); - expect(')'); - return { - type: Syntax.Property, - key: key, - value: parsePropertyFunction([]), - kind: 'get' - }; - } else if (token.value === 'set' && !match(':')) { - key = parseObjectPropertyKey(); - expect('('); - token = lookahead(); - if (token.type !== Token.Identifier) { - expect(')'); - throwErrorTolerant(token, Messages.UnexpectedToken, token.value); - return { - type: Syntax.Property, - key: key, - value: parsePropertyFunction([]), - kind: 'set' - }; - } else { - param = [ parseVariableIdentifier() ]; - expect(')'); - return { - type: Syntax.Property, - key: key, - value: parsePropertyFunction(param, token), - kind: 'set' - }; - } - } else { - expect(':'); - return { - type: Syntax.Property, - key: id, - value: parseAssignmentExpression(), - kind: 'init' - }; - } - } else if (token.type === Token.EOF || token.type === Token.Punctuator) { - throwUnexpected(token); - } else { - key = parseObjectPropertyKey(); - expect(':'); - return { - type: Syntax.Property, - key: key, - value: parseAssignmentExpression(), - kind: 'init' - }; - } - } - - function parseObjectInitialiser() { - var properties = [], property, name, kind, map = {}, toString = String; - - expect('{'); - - while (!match('}')) { - property = parseObjectProperty(); - - if (property.key.type === Syntax.Identifier) { - name = property.key.name; - } else { - name = toString(property.key.value); - } - kind = (property.kind === 'init') ? PropertyKind.Data : (property.kind === 'get') ? PropertyKind.Get : PropertyKind.Set; - if (Object.prototype.hasOwnProperty.call(map, name)) { - if (map[name] === PropertyKind.Data) { - if (strict && kind === PropertyKind.Data) { - throwErrorTolerant({}, Messages.StrictDuplicateProperty); - } else if (kind !== PropertyKind.Data) { - throwErrorTolerant({}, Messages.AccessorDataProperty); - } - } else { - if (kind === PropertyKind.Data) { - throwErrorTolerant({}, Messages.AccessorDataProperty); - } else if (map[name] & kind) { - throwErrorTolerant({}, Messages.AccessorGetSet); - } - } - map[name] |= kind; - } else { - map[name] = kind; - } - - properties.push(property); - - if (!match('}')) { - expect(','); - } - } - - expect('}'); - - return { - type: Syntax.ObjectExpression, - properties: properties - }; - } - - // 11.1.6 The Grouping Operator - - function parseGroupExpression() { - var expr; - - expect('('); - - expr = parseExpression(); - - expect(')'); - - return expr; - } - - - // 11.1 Primary Expressions - - function parsePrimaryExpression() { - var token = lookahead(), - type = token.type; - - if (type === Token.Identifier) { - return { - type: Syntax.Identifier, - name: lex().value - }; - } - - if (type === Token.StringLiteral || type === Token.NumericLiteral) { - if (strict && token.octal) { - throwErrorTolerant(token, Messages.StrictOctalLiteral); - } - return createLiteral(lex()); - } - - if (type === Token.Keyword) { - if (matchKeyword('this')) { - lex(); - return { - type: Syntax.ThisExpression - }; - } - - if (matchKeyword('function')) { - return parseFunctionExpression(); - } - } - - if (type === Token.BooleanLiteral) { - lex(); - token.value = (token.value === 'true'); - return createLiteral(token); - } - - if (type === Token.NullLiteral) { - lex(); - token.value = null; - return createLiteral(token); - } - - if (match('[')) { - return parseArrayInitialiser(); - } - - if (match('{')) { - return parseObjectInitialiser(); - } - - if (match('(')) { - return parseGroupExpression(); - } - - if (match('/') || match('/=')) { - return createLiteral(scanRegExp()); - } - - return throwUnexpected(lex()); - } - - // 11.2 Left-Hand-Side Expressions - - function parseArguments() { - var args = []; - - expect('('); - - if (!match(')')) { - while (index < length) { - args.push(parseAssignmentExpression()); - if (match(')')) { - break; - } - expect(','); - } - } - - expect(')'); - - return args; - } - - function parseNonComputedProperty() { - var token = lex(); - - if (!isIdentifierName(token)) { - throwUnexpected(token); - } - - return { - type: Syntax.Identifier, - name: token.value - }; - } - - function parseNonComputedMember() { - expect('.'); - - return parseNonComputedProperty(); - } - - function parseComputedMember() { - var expr; - - expect('['); - - expr = parseExpression(); - - expect(']'); - - return expr; - } - - function parseNewExpression() { - var expr; - - expectKeyword('new'); - - expr = { - type: Syntax.NewExpression, - callee: parseLeftHandSideExpression(), - 'arguments': [] - }; - - if (match('(')) { - expr['arguments'] = parseArguments(); - } - - return expr; - } - - function parseLeftHandSideExpressionAllowCall() { - var expr; - - expr = matchKeyword('new') ? parseNewExpression() : parsePrimaryExpression(); - - while (match('.') || match('[') || match('(')) { - if (match('(')) { - expr = { - type: Syntax.CallExpression, - callee: expr, - 'arguments': parseArguments() - }; - } else if (match('[')) { - expr = { - type: Syntax.MemberExpression, - computed: true, - object: expr, - property: parseComputedMember() - }; - } else { - expr = { - type: Syntax.MemberExpression, - computed: false, - object: expr, - property: parseNonComputedMember() - }; - } - } - - return expr; - } - - - function parseLeftHandSideExpression() { - var expr; - - expr = matchKeyword('new') ? parseNewExpression() : parsePrimaryExpression(); - - while (match('.') || match('[')) { - if (match('[')) { - expr = { - type: Syntax.MemberExpression, - computed: true, - object: expr, - property: parseComputedMember() - }; - } else { - expr = { - type: Syntax.MemberExpression, - computed: false, - object: expr, - property: parseNonComputedMember() - }; - } - } - - return expr; - } - - // 11.3 Postfix Expressions - - function parsePostfixExpression() { - var expr = parseLeftHandSideExpressionAllowCall(), token; - - token = lookahead(); - if (token.type !== Token.Punctuator) { - return expr; - } - - if ((match('++') || match('--')) && !peekLineTerminator()) { - // 11.3.1, 11.3.2 - if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) { - throwErrorTolerant({}, Messages.StrictLHSPostfix); - } - if (!isLeftHandSide(expr)) { - throwErrorTolerant({}, Messages.InvalidLHSInAssignment); - } - - expr = { - type: Syntax.UpdateExpression, - operator: lex().value, - argument: expr, - prefix: false - }; - } - - return expr; - } - - // 11.4 Unary Operators - - function parseUnaryExpression() { - var token, expr; - - token = lookahead(); - if (token.type !== Token.Punctuator && token.type !== Token.Keyword) { - return parsePostfixExpression(); - } - - if (match('++') || match('--')) { - token = lex(); - expr = parseUnaryExpression(); - // 11.4.4, 11.4.5 - if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) { - throwErrorTolerant({}, Messages.StrictLHSPrefix); - } - - if (!isLeftHandSide(expr)) { - throwErrorTolerant({}, Messages.InvalidLHSInAssignment); - } - - expr = { - type: Syntax.UpdateExpression, - operator: token.value, - argument: expr, - prefix: true - }; - return expr; - } - - if (match('+') || match('-') || match('~') || match('!')) { - expr = { - type: Syntax.UnaryExpression, - operator: lex().value, - argument: parseUnaryExpression(), - prefix: true - }; - return expr; - } - - if (matchKeyword('delete') || matchKeyword('void') || matchKeyword('typeof')) { - expr = { - type: Syntax.UnaryExpression, - operator: lex().value, - argument: parseUnaryExpression(), - prefix: true - }; - if (strict && expr.operator === 'delete' && expr.argument.type === Syntax.Identifier) { - throwErrorTolerant({}, Messages.StrictDelete); - } - return expr; - } - - return parsePostfixExpression(); - } - - // 11.5 Multiplicative Operators - - function parseMultiplicativeExpression() { - var expr = parseUnaryExpression(); - - while (match('*') || match('/') || match('%')) { - expr = { - type: Syntax.BinaryExpression, - operator: lex().value, - left: expr, - right: parseUnaryExpression() - }; - } - - return expr; - } - - // 11.6 Additive Operators - - function parseAdditiveExpression() { - var expr = parseMultiplicativeExpression(); - - while (match('+') || match('-')) { - expr = { - type: Syntax.BinaryExpression, - operator: lex().value, - left: expr, - right: parseMultiplicativeExpression() - }; - } - - return expr; - } - - // 11.7 Bitwise Shift Operators - - function parseShiftExpression() { - var expr = parseAdditiveExpression(); - - while (match('<<') || match('>>') || match('>>>')) { - expr = { - type: Syntax.BinaryExpression, - operator: lex().value, - left: expr, - right: parseAdditiveExpression() - }; - } - - return expr; - } - // 11.8 Relational Operators - - function parseRelationalExpression() { - var expr, previousAllowIn; - - previousAllowIn = state.allowIn; - state.allowIn = true; - - expr = parseShiftExpression(); - - while (match('<') || match('>') || match('<=') || match('>=') || (previousAllowIn && matchKeyword('in')) || matchKeyword('instanceof')) { - expr = { - type: Syntax.BinaryExpression, - operator: lex().value, - left: expr, - right: parseShiftExpression() - }; - } - - state.allowIn = previousAllowIn; - return expr; - } - - // 11.9 Equality Operators - - function parseEqualityExpression() { - var expr = parseRelationalExpression(); - - while (match('==') || match('!=') || match('===') || match('!==')) { - expr = { - type: Syntax.BinaryExpression, - operator: lex().value, - left: expr, - right: parseRelationalExpression() - }; - } - - return expr; - } - - // 11.10 Binary Bitwise Operators - - function parseBitwiseANDExpression() { - var expr = parseEqualityExpression(); - - while (match('&')) { - lex(); - expr = { - type: Syntax.BinaryExpression, - operator: '&', - left: expr, - right: parseEqualityExpression() - }; - } - - return expr; - } - - function parseBitwiseXORExpression() { - var expr = parseBitwiseANDExpression(); - - while (match('^')) { - lex(); - expr = { - type: Syntax.BinaryExpression, - operator: '^', - left: expr, - right: parseBitwiseANDExpression() - }; - } - - return expr; - } - - function parseBitwiseORExpression() { - var expr = parseBitwiseXORExpression(); - - while (match('|')) { - lex(); - expr = { - type: Syntax.BinaryExpression, - operator: '|', - left: expr, - right: parseBitwiseXORExpression() - }; - } - - return expr; - } - - // 11.11 Binary Logical Operators - - function parseLogicalANDExpression() { - var expr = parseBitwiseORExpression(); - - while (match('&&')) { - lex(); - expr = { - type: Syntax.LogicalExpression, - operator: '&&', - left: expr, - right: parseBitwiseORExpression() - }; - } - - return expr; - } - - function parseLogicalORExpression() { - var expr = parseLogicalANDExpression(); - - while (match('||')) { - lex(); - expr = { - type: Syntax.LogicalExpression, - operator: '||', - left: expr, - right: parseLogicalANDExpression() - }; - } - - return expr; - } - - // 11.12 Conditional Operator - - function parseConditionalExpression() { - var expr, previousAllowIn, consequent; - - expr = parseLogicalORExpression(); - - if (match('?')) { - lex(); - previousAllowIn = state.allowIn; - state.allowIn = true; - consequent = parseAssignmentExpression(); - state.allowIn = previousAllowIn; - expect(':'); - - expr = { - type: Syntax.ConditionalExpression, - test: expr, - consequent: consequent, - alternate: parseAssignmentExpression() - }; - } - - return expr; - } - - // 11.13 Assignment Operators - - function parseAssignmentExpression() { - var token, expr; - - token = lookahead(); - expr = parseConditionalExpression(); - - if (matchAssign()) { - // LeftHandSideExpression - if (!isLeftHandSide(expr)) { - throwErrorTolerant({}, Messages.InvalidLHSInAssignment); - } - - // 11.13.1 - if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) { - throwErrorTolerant(token, Messages.StrictLHSAssignment); - } - - expr = { - type: Syntax.AssignmentExpression, - operator: lex().value, - left: expr, - right: parseAssignmentExpression() - }; - } - - return expr; - } - - // 11.14 Comma Operator - - function parseExpression() { - var expr = parseAssignmentExpression(); - - if (match(',')) { - expr = { - type: Syntax.SequenceExpression, - expressions: [ expr ] - }; - - while (index < length) { - if (!match(',')) { - break; - } - lex(); - expr.expressions.push(parseAssignmentExpression()); - } - - } - return expr; - } - - // 12.1 Block - - function parseStatementList() { - var list = [], - statement; - - while (index < length) { - if (match('}')) { - break; - } - statement = parseSourceElement(); - if (typeof statement === 'undefined') { - break; - } - list.push(statement); - } - - return list; - } - - function parseBlock() { - var block; - - expect('{'); - - block = parseStatementList(); - - expect('}'); - - return { - type: Syntax.BlockStatement, - body: block - }; - } - - // 12.2 Variable Statement - - function parseVariableIdentifier() { - var token = lex(); - - if (token.type !== Token.Identifier) { - throwUnexpected(token); - } - - return { - type: Syntax.Identifier, - name: token.value - }; - } - - function parseVariableDeclaration(kind) { - var id = parseVariableIdentifier(), - init = null; - - // 12.2.1 - if (strict && isRestrictedWord(id.name)) { - throwErrorTolerant({}, Messages.StrictVarName); - } - - if (kind === 'const') { - expect('='); - init = parseAssignmentExpression(); - } else if (match('=')) { - lex(); - init = parseAssignmentExpression(); - } - - return { - type: Syntax.VariableDeclarator, - id: id, - init: init - }; - } - - function parseVariableDeclarationList(kind) { - var list = []; - - do { - list.push(parseVariableDeclaration(kind)); - if (!match(',')) { - break; - } - lex(); - } while (index < length); - - return list; - } - - function parseVariableStatement() { - var declarations; - - expectKeyword('var'); - - declarations = parseVariableDeclarationList(); - - consumeSemicolon(); - - return { - type: Syntax.VariableDeclaration, - declarations: declarations, - kind: 'var' - }; - } - - // kind may be `const` or `let` - // Both are experimental and not in the specification yet. - // see http://wiki.ecmascript.org/doku.php?id=harmony:const - // and http://wiki.ecmascript.org/doku.php?id=harmony:let - function parseConstLetDeclaration(kind) { - var declarations; - - expectKeyword(kind); - - declarations = parseVariableDeclarationList(kind); - - consumeSemicolon(); - - return { - type: Syntax.VariableDeclaration, - declarations: declarations, - kind: kind - }; - } - - // 12.3 Empty Statement - - function parseEmptyStatement() { - expect(';'); - - return { - type: Syntax.EmptyStatement - }; - } - - // 12.4 Expression Statement - - function parseExpressionStatement() { - var expr = parseExpression(); - - consumeSemicolon(); - - return { - type: Syntax.ExpressionStatement, - expression: expr - }; - } - - // 12.5 If statement - - function parseIfStatement() { - var test, consequent, alternate; - - expectKeyword('if'); - - expect('('); - - test = parseExpression(); - - expect(')'); - - consequent = parseStatement(); - - if (matchKeyword('else')) { - lex(); - alternate = parseStatement(); - } else { - alternate = null; - } - - return { - type: Syntax.IfStatement, - test: test, - consequent: consequent, - alternate: alternate - }; - } - - // 12.6 Iteration Statements - - function parseDoWhileStatement() { - var body, test, oldInIteration; - - expectKeyword('do'); - - oldInIteration = state.inIteration; - state.inIteration = true; - - body = parseStatement(); - - state.inIteration = oldInIteration; - - expectKeyword('while'); - - expect('('); - - test = parseExpression(); - - expect(')'); - - if (match(';')) { - lex(); - } - - return { - type: Syntax.DoWhileStatement, - body: body, - test: test - }; - } - - function parseWhileStatement() { - var test, body, oldInIteration; - - expectKeyword('while'); - - expect('('); - - test = parseExpression(); - - expect(')'); - - oldInIteration = state.inIteration; - state.inIteration = true; - - body = parseStatement(); - - state.inIteration = oldInIteration; - - return { - type: Syntax.WhileStatement, - test: test, - body: body - }; - } - - function parseForVariableDeclaration() { - var token = lex(); - - return { - type: Syntax.VariableDeclaration, - declarations: parseVariableDeclarationList(), - kind: token.value - }; - } - - function parseForStatement() { - var init, test, update, left, right, body, oldInIteration; - - init = test = update = null; - - expectKeyword('for'); - - expect('('); - - if (match(';')) { - lex(); - } else { - if (matchKeyword('var') || matchKeyword('let')) { - state.allowIn = false; - init = parseForVariableDeclaration(); - state.allowIn = true; - - if (init.declarations.length === 1 && matchKeyword('in')) { - lex(); - left = init; - right = parseExpression(); - init = null; - } - } else { - state.allowIn = false; - init = parseExpression(); - state.allowIn = true; - - if (matchKeyword('in')) { - // LeftHandSideExpression - if (!isLeftHandSide(init)) { - throwErrorTolerant({}, Messages.InvalidLHSInForIn); - } - - lex(); - left = init; - right = parseExpression(); - init = null; - } - } - - if (typeof left === 'undefined') { - expect(';'); - } - } - - if (typeof left === 'undefined') { - - if (!match(';')) { - test = parseExpression(); - } - expect(';'); - - if (!match(')')) { - update = parseExpression(); - } - } - - expect(')'); - - oldInIteration = state.inIteration; - state.inIteration = true; - - body = parseStatement(); - - state.inIteration = oldInIteration; - - if (typeof left === 'undefined') { - return { - type: Syntax.ForStatement, - init: init, - test: test, - update: update, - body: body - }; - } - - return { - type: Syntax.ForInStatement, - left: left, - right: right, - body: body, - each: false - }; - } - - // 12.7 The continue statement - - function parseContinueStatement() { - var token, label = null; - - expectKeyword('continue'); - - // Optimize the most common form: 'continue;'. - if (source[index] === ';') { - lex(); - - if (!state.inIteration) { - throwError({}, Messages.IllegalContinue); - } - - return { - type: Syntax.ContinueStatement, - label: null - }; - } - - if (peekLineTerminator()) { - if (!state.inIteration) { - throwError({}, Messages.IllegalContinue); - } - - return { - type: Syntax.ContinueStatement, - label: null - }; - } - - token = lookahead(); - if (token.type === Token.Identifier) { - label = parseVariableIdentifier(); - - if (!Object.prototype.hasOwnProperty.call(state.labelSet, label.name)) { - throwError({}, Messages.UnknownLabel, label.name); - } - } - - consumeSemicolon(); - - if (label === null && !state.inIteration) { - throwError({}, Messages.IllegalContinue); - } - - return { - type: Syntax.ContinueStatement, - label: label - }; - } - - // 12.8 The break statement - - function parseBreakStatement() { - var token, label = null; - - expectKeyword('break'); - - // Optimize the most common form: 'break;'. - if (source[index] === ';') { - lex(); - - if (!(state.inIteration || state.inSwitch)) { - throwError({}, Messages.IllegalBreak); - } - - return { - type: Syntax.BreakStatement, - label: null - }; - } - - if (peekLineTerminator()) { - if (!(state.inIteration || state.inSwitch)) { - throwError({}, Messages.IllegalBreak); - } - - return { - type: Syntax.BreakStatement, - label: null - }; - } - - token = lookahead(); - if (token.type === Token.Identifier) { - label = parseVariableIdentifier(); - - if (!Object.prototype.hasOwnProperty.call(state.labelSet, label.name)) { - throwError({}, Messages.UnknownLabel, label.name); - } - } - - consumeSemicolon(); - - if (label === null && !(state.inIteration || state.inSwitch)) { - throwError({}, Messages.IllegalBreak); - } - - return { - type: Syntax.BreakStatement, - label: label - }; - } - - // 12.9 The return statement - - function parseReturnStatement() { - var token, argument = null; - - expectKeyword('return'); - - if (!state.inFunctionBody) { - throwErrorTolerant({}, Messages.IllegalReturn); - } - - // 'return' followed by a space and an identifier is very common. - if (source[index] === ' ') { - if (isIdentifierStart(source[index + 1])) { - argument = parseExpression(); - consumeSemicolon(); - return { - type: Syntax.ReturnStatement, - argument: argument - }; - } - } - - if (peekLineTerminator()) { - return { - type: Syntax.ReturnStatement, - argument: null - }; - } - - if (!match(';')) { - token = lookahead(); - if (!match('}') && token.type !== Token.EOF) { - argument = parseExpression(); - } - } - - consumeSemicolon(); - - return { - type: Syntax.ReturnStatement, - argument: argument - }; - } - - // 12.10 The with statement - - function parseWithStatement() { - var object, body; - - if (strict) { - throwErrorTolerant({}, Messages.StrictModeWith); - } - - expectKeyword('with'); - - expect('('); - - object = parseExpression(); - - expect(')'); - - body = parseStatement(); - - return { - type: Syntax.WithStatement, - object: object, - body: body - }; - } - - // 12.10 The swith statement - - function parseSwitchCase() { - var test, - consequent = [], - statement; - - if (matchKeyword('default')) { - lex(); - test = null; - } else { - expectKeyword('case'); - test = parseExpression(); - } - expect(':'); - - while (index < length) { - if (match('}') || matchKeyword('default') || matchKeyword('case')) { - break; - } - statement = parseStatement(); - if (typeof statement === 'undefined') { - break; - } - consequent.push(statement); - } - - return { - type: Syntax.SwitchCase, - test: test, - consequent: consequent - }; - } - - function parseSwitchStatement() { - var discriminant, cases, clause, oldInSwitch, defaultFound; - - expectKeyword('switch'); - - expect('('); - - discriminant = parseExpression(); - - expect(')'); - - expect('{'); - - cases = []; - - if (match('}')) { - lex(); - return { - type: Syntax.SwitchStatement, - discriminant: discriminant, - cases: cases - }; - } - - oldInSwitch = state.inSwitch; - state.inSwitch = true; - defaultFound = false; - - while (index < length) { - if (match('}')) { - break; - } - clause = parseSwitchCase(); - if (clause.test === null) { - if (defaultFound) { - throwError({}, Messages.MultipleDefaultsInSwitch); - } - defaultFound = true; - } - cases.push(clause); - } - - state.inSwitch = oldInSwitch; - - expect('}'); - - return { - type: Syntax.SwitchStatement, - discriminant: discriminant, - cases: cases - }; - } - - // 12.13 The throw statement - - function parseThrowStatement() { - var argument; - - expectKeyword('throw'); - - if (peekLineTerminator()) { - throwError({}, Messages.NewlineAfterThrow); - } - - argument = parseExpression(); - - consumeSemicolon(); - - return { - type: Syntax.ThrowStatement, - argument: argument - }; - } - - // 12.14 The try statement - - function parseCatchClause() { - var param; - - expectKeyword('catch'); - - expect('('); - if (match(')')) { - throwUnexpected(lookahead()); - } - - param = parseVariableIdentifier(); - // 12.14.1 - if (strict && isRestrictedWord(param.name)) { - throwErrorTolerant({}, Messages.StrictCatchVariable); - } - - expect(')'); - - return { - type: Syntax.CatchClause, - param: param, - body: parseBlock() - }; - } - - function parseTryStatement() { - var block, handlers = [], finalizer = null; - - expectKeyword('try'); - - block = parseBlock(); - - if (matchKeyword('catch')) { - handlers.push(parseCatchClause()); - } - - if (matchKeyword('finally')) { - lex(); - finalizer = parseBlock(); - } - - if (handlers.length === 0 && !finalizer) { - throwError({}, Messages.NoCatchOrFinally); - } - - return { - type: Syntax.TryStatement, - block: block, - guardedHandlers: [], - handlers: handlers, - finalizer: finalizer - }; - } - - // 12.15 The debugger statement - - function parseDebuggerStatement() { - expectKeyword('debugger'); - - consumeSemicolon(); - - return { - type: Syntax.DebuggerStatement - }; - } - - // 12 Statements - - function parseStatement() { - var token = lookahead(), - expr, - labeledBody; - - if (token.type === Token.EOF) { - throwUnexpected(token); - } - - if (token.type === Token.Punctuator) { - switch (token.value) { - case ';': - return parseEmptyStatement(); - case '{': - return parseBlock(); - case '(': - return parseExpressionStatement(); - default: - break; - } - } - - if (token.type === Token.Keyword) { - switch (token.value) { - case 'break': - return parseBreakStatement(); - case 'continue': - return parseContinueStatement(); - case 'debugger': - return parseDebuggerStatement(); - case 'do': - return parseDoWhileStatement(); - case 'for': - return parseForStatement(); - case 'function': - return parseFunctionDeclaration(); - case 'if': - return parseIfStatement(); - case 'return': - return parseReturnStatement(); - case 'switch': - return parseSwitchStatement(); - case 'throw': - return parseThrowStatement(); - case 'try': - return parseTryStatement(); - case 'var': - return parseVariableStatement(); - case 'while': - return parseWhileStatement(); - case 'with': - return parseWithStatement(); - default: - break; - } - } - - expr = parseExpression(); - - // 12.12 Labelled Statements - if ((expr.type === Syntax.Identifier) && match(':')) { - lex(); - - if (Object.prototype.hasOwnProperty.call(state.labelSet, expr.name)) { - throwError({}, Messages.Redeclaration, 'Label', expr.name); - } - - state.labelSet[expr.name] = true; - labeledBody = parseStatement(); - delete state.labelSet[expr.name]; - - return { - type: Syntax.LabeledStatement, - label: expr, - body: labeledBody - }; - } - - consumeSemicolon(); - - return { - type: Syntax.ExpressionStatement, - expression: expr - }; - } - - // 13 Function Definition - - function parseFunctionSourceElements() { - var sourceElement, sourceElements = [], token, directive, firstRestricted, - oldLabelSet, oldInIteration, oldInSwitch, oldInFunctionBody; - - expect('{'); - - while (index < length) { - token = lookahead(); - if (token.type !== Token.StringLiteral) { - break; - } - - sourceElement = parseSourceElement(); - sourceElements.push(sourceElement); - if (sourceElement.expression.type !== Syntax.Literal) { - // this is not directive - break; - } - directive = sliceSource(token.range[0] + 1, token.range[1] - 1); - if (directive === 'use strict') { - strict = true; - if (firstRestricted) { - throwErrorTolerant(firstRestricted, Messages.StrictOctalLiteral); - } - } else { - if (!firstRestricted && token.octal) { - firstRestricted = token; - } - } - } - - oldLabelSet = state.labelSet; - oldInIteration = state.inIteration; - oldInSwitch = state.inSwitch; - oldInFunctionBody = state.inFunctionBody; - - state.labelSet = {}; - state.inIteration = false; - state.inSwitch = false; - state.inFunctionBody = true; - - while (index < length) { - if (match('}')) { - break; - } - sourceElement = parseSourceElement(); - if (typeof sourceElement === 'undefined') { - break; - } - sourceElements.push(sourceElement); - } - - expect('}'); - - state.labelSet = oldLabelSet; - state.inIteration = oldInIteration; - state.inSwitch = oldInSwitch; - state.inFunctionBody = oldInFunctionBody; - - return { - type: Syntax.BlockStatement, - body: sourceElements - }; - } - - function parseFunctionDeclaration() { - var id, param, params = [], body, token, stricted, firstRestricted, message, previousStrict, paramSet; - - expectKeyword('function'); - token = lookahead(); - id = parseVariableIdentifier(); - if (strict) { - if (isRestrictedWord(token.value)) { - throwErrorTolerant(token, Messages.StrictFunctionName); - } - } else { - if (isRestrictedWord(token.value)) { - firstRestricted = token; - message = Messages.StrictFunctionName; - } else if (isStrictModeReservedWord(token.value)) { - firstRestricted = token; - message = Messages.StrictReservedWord; - } - } - - expect('('); - - if (!match(')')) { - paramSet = {}; - while (index < length) { - token = lookahead(); - param = parseVariableIdentifier(); - if (strict) { - if (isRestrictedWord(token.value)) { - stricted = token; - message = Messages.StrictParamName; - } - if (Object.prototype.hasOwnProperty.call(paramSet, token.value)) { - stricted = token; - message = Messages.StrictParamDupe; - } - } else if (!firstRestricted) { - if (isRestrictedWord(token.value)) { - firstRestricted = token; - message = Messages.StrictParamName; - } else if (isStrictModeReservedWord(token.value)) { - firstRestricted = token; - message = Messages.StrictReservedWord; - } else if (Object.prototype.hasOwnProperty.call(paramSet, token.value)) { - firstRestricted = token; - message = Messages.StrictParamDupe; - } - } - params.push(param); - paramSet[param.name] = true; - if (match(')')) { - break; - } - expect(','); - } - } - - expect(')'); - - previousStrict = strict; - body = parseFunctionSourceElements(); - if (strict && firstRestricted) { - throwError(firstRestricted, message); - } - if (strict && stricted) { - throwErrorTolerant(stricted, message); - } - strict = previousStrict; - - return { - type: Syntax.FunctionDeclaration, - id: id, - params: params, - defaults: [], - body: body, - rest: null, - generator: false, - expression: false - }; - } - - function parseFunctionExpression() { - var token, id = null, stricted, firstRestricted, message, param, params = [], body, previousStrict, paramSet; - - expectKeyword('function'); - - if (!match('(')) { - token = lookahead(); - id = parseVariableIdentifier(); - if (strict) { - if (isRestrictedWord(token.value)) { - throwErrorTolerant(token, Messages.StrictFunctionName); - } - } else { - if (isRestrictedWord(token.value)) { - firstRestricted = token; - message = Messages.StrictFunctionName; - } else if (isStrictModeReservedWord(token.value)) { - firstRestricted = token; - message = Messages.StrictReservedWord; - } - } - } - - expect('('); - - if (!match(')')) { - paramSet = {}; - while (index < length) { - token = lookahead(); - param = parseVariableIdentifier(); - if (strict) { - if (isRestrictedWord(token.value)) { - stricted = token; - message = Messages.StrictParamName; - } - if (Object.prototype.hasOwnProperty.call(paramSet, token.value)) { - stricted = token; - message = Messages.StrictParamDupe; - } - } else if (!firstRestricted) { - if (isRestrictedWord(token.value)) { - firstRestricted = token; - message = Messages.StrictParamName; - } else if (isStrictModeReservedWord(token.value)) { - firstRestricted = token; - message = Messages.StrictReservedWord; - } else if (Object.prototype.hasOwnProperty.call(paramSet, token.value)) { - firstRestricted = token; - message = Messages.StrictParamDupe; - } - } - params.push(param); - paramSet[param.name] = true; - if (match(')')) { - break; - } - expect(','); - } - } - - expect(')'); - - previousStrict = strict; - body = parseFunctionSourceElements(); - if (strict && firstRestricted) { - throwError(firstRestricted, message); - } - if (strict && stricted) { - throwErrorTolerant(stricted, message); - } - strict = previousStrict; - - return { - type: Syntax.FunctionExpression, - id: id, - params: params, - defaults: [], - body: body, - rest: null, - generator: false, - expression: false - }; - } - - // 14 Program - - function parseSourceElement() { - var token = lookahead(); - - if (token.type === Token.Keyword) { - switch (token.value) { - case 'const': - case 'let': - return parseConstLetDeclaration(token.value); - case 'function': - return parseFunctionDeclaration(); - default: - return parseStatement(); - } - } - - if (token.type !== Token.EOF) { - return parseStatement(); - } - } - - function parseSourceElements() { - var sourceElement, sourceElements = [], token, directive, firstRestricted; - - while (index < length) { - token = lookahead(); - if (token.type !== Token.StringLiteral) { - break; - } - - sourceElement = parseSourceElement(); - sourceElements.push(sourceElement); - if (sourceElement.expression.type !== Syntax.Literal) { - // this is not directive - break; - } - directive = sliceSource(token.range[0] + 1, token.range[1] - 1); - if (directive === 'use strict') { - strict = true; - if (firstRestricted) { - throwErrorTolerant(firstRestricted, Messages.StrictOctalLiteral); - } - } else { - if (!firstRestricted && token.octal) { - firstRestricted = token; - } - } - } - - while (index < length) { - sourceElement = parseSourceElement(); - if (typeof sourceElement === 'undefined') { - break; - } - sourceElements.push(sourceElement); - } - return sourceElements; - } - - function parseProgram() { - var program; - strict = false; - program = { - type: Syntax.Program, - body: parseSourceElements() - }; - return program; - } - - // The following functions are needed only when the option to preserve - // the comments is active. - - function addComment(type, value, start, end, loc) { - assert(typeof start === 'number', 'Comment must have valid position'); - - // Because the way the actual token is scanned, often the comments - // (if any) are skipped twice during the lexical analysis. - // Thus, we need to skip adding a comment if the comment array already - // handled it. - if (extra.comments.length > 0) { - if (extra.comments[extra.comments.length - 1].range[1] > start) { - return; - } - } - - extra.comments.push({ - type: type, - value: value, - range: [start, end], - loc: loc - }); - } - - function scanComment() { - var comment, ch, loc, start, blockComment, lineComment; - - comment = ''; - blockComment = false; - lineComment = false; - - while (index < length) { - ch = source[index]; - - if (lineComment) { - ch = source[index++]; - if (isLineTerminator(ch)) { - loc.end = { - line: lineNumber, - column: index - lineStart - 1 - }; - lineComment = false; - addComment('Line', comment, start, index - 1, loc); - if (ch === '\r' && source[index] === '\n') { - ++index; - } - ++lineNumber; - lineStart = index; - comment = ''; - } else if (index >= length) { - lineComment = false; - comment += ch; - loc.end = { - line: lineNumber, - column: length - lineStart - }; - addComment('Line', comment, start, length, loc); - } else { - comment += ch; - } - } else if (blockComment) { - if (isLineTerminator(ch)) { - if (ch === '\r' && source[index + 1] === '\n') { - ++index; - comment += '\r\n'; - } else { - comment += ch; - } - ++lineNumber; - ++index; - lineStart = index; - if (index >= length) { - throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); - } - } else { - ch = source[index++]; - if (index >= length) { - throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); - } - comment += ch; - if (ch === '*') { - ch = source[index]; - if (ch === '/') { - comment = comment.substr(0, comment.length - 1); - blockComment = false; - ++index; - loc.end = { - line: lineNumber, - column: index - lineStart - }; - addComment('Block', comment, start, index, loc); - comment = ''; - } - } - } - } else if (ch === '/') { - ch = source[index + 1]; - if (ch === '/') { - loc = { - start: { - line: lineNumber, - column: index - lineStart - } - }; - start = index; - index += 2; - lineComment = true; - if (index >= length) { - loc.end = { - line: lineNumber, - column: index - lineStart - }; - lineComment = false; - addComment('Line', comment, start, index, loc); - } - } else if (ch === '*') { - start = index; - index += 2; - blockComment = true; - loc = { - start: { - line: lineNumber, - column: index - lineStart - 2 - } - }; - if (index >= length) { - throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); - } - } else { - break; - } - } else if (isWhiteSpace(ch)) { - ++index; - } else if (isLineTerminator(ch)) { - ++index; - if (ch === '\r' && source[index] === '\n') { - ++index; - } - ++lineNumber; - lineStart = index; - } else { - break; - } - } - } - - function filterCommentLocation() { - var i, entry, comment, comments = []; - - for (i = 0; i < extra.comments.length; ++i) { - entry = extra.comments[i]; - comment = { - type: entry.type, - value: entry.value - }; - if (extra.range) { - comment.range = entry.range; - } - if (extra.loc) { - comment.loc = entry.loc; - } - comments.push(comment); - } - - extra.comments = comments; - } - - function collectToken() { - var start, loc, token, range, value; - - skipComment(); - start = index; - loc = { - start: { - line: lineNumber, - column: index - lineStart - } - }; - - token = extra.advance(); - loc.end = { - line: lineNumber, - column: index - lineStart - }; - - if (token.type !== Token.EOF) { - range = [token.range[0], token.range[1]]; - value = sliceSource(token.range[0], token.range[1]); - extra.tokens.push({ - type: TokenName[token.type], - value: value, - range: range, - loc: loc - }); - } - - return token; - } - - function collectRegex() { - var pos, loc, regex, token; - - skipComment(); - - pos = index; - loc = { - start: { - line: lineNumber, - column: index - lineStart - } - }; - - regex = extra.scanRegExp(); - loc.end = { - line: lineNumber, - column: index - lineStart - }; - - // Pop the previous token, which is likely '/' or '/=' - if (extra.tokens.length > 0) { - token = extra.tokens[extra.tokens.length - 1]; - if (token.range[0] === pos && token.type === 'Punctuator') { - if (token.value === '/' || token.value === '/=') { - extra.tokens.pop(); - } - } - } - - extra.tokens.push({ - type: 'RegularExpression', - value: regex.literal, - range: [pos, index], - loc: loc - }); - - return regex; - } - - function filterTokenLocation() { - var i, entry, token, tokens = []; - - for (i = 0; i < extra.tokens.length; ++i) { - entry = extra.tokens[i]; - token = { - type: entry.type, - value: entry.value - }; - if (extra.range) { - token.range = entry.range; - } - if (extra.loc) { - token.loc = entry.loc; - } - tokens.push(token); - } - - extra.tokens = tokens; - } - - function createLiteral(token) { - return { - type: Syntax.Literal, - value: token.value - }; - } - - function createRawLiteral(token) { - return { - type: Syntax.Literal, - value: token.value, - raw: sliceSource(token.range[0], token.range[1]) - }; - } - - function createLocationMarker() { - var marker = {}; - - marker.range = [index, index]; - marker.loc = { - start: { - line: lineNumber, - column: index - lineStart - }, - end: { - line: lineNumber, - column: index - lineStart - } - }; - - marker.end = function () { - this.range[1] = index; - this.loc.end.line = lineNumber; - this.loc.end.column = index - lineStart; - }; - - marker.applyGroup = function (node) { - if (extra.range) { - node.groupRange = [this.range[0], this.range[1]]; - } - if (extra.loc) { - node.groupLoc = { - start: { - line: this.loc.start.line, - column: this.loc.start.column - }, - end: { - line: this.loc.end.line, - column: this.loc.end.column - } - }; - } - }; - - marker.apply = function (node) { - if (extra.range) { - node.range = [this.range[0], this.range[1]]; - } - if (extra.loc) { - node.loc = { - start: { - line: this.loc.start.line, - column: this.loc.start.column - }, - end: { - line: this.loc.end.line, - column: this.loc.end.column - } - }; - } - }; - - return marker; - } - - function trackGroupExpression() { - var marker, expr; - - skipComment(); - marker = createLocationMarker(); - expect('('); - - expr = parseExpression(); - - expect(')'); - - marker.end(); - marker.applyGroup(expr); - - return expr; - } - - function trackLeftHandSideExpression() { - var marker, expr; - - skipComment(); - marker = createLocationMarker(); - - expr = matchKeyword('new') ? parseNewExpression() : parsePrimaryExpression(); - - while (match('.') || match('[')) { - if (match('[')) { - expr = { - type: Syntax.MemberExpression, - computed: true, - object: expr, - property: parseComputedMember() - }; - marker.end(); - marker.apply(expr); - } else { - expr = { - type: Syntax.MemberExpression, - computed: false, - object: expr, - property: parseNonComputedMember() - }; - marker.end(); - marker.apply(expr); - } - } - - return expr; - } - - function trackLeftHandSideExpressionAllowCall() { - var marker, expr; - - skipComment(); - marker = createLocationMarker(); - - expr = matchKeyword('new') ? parseNewExpression() : parsePrimaryExpression(); - - while (match('.') || match('[') || match('(')) { - if (match('(')) { - expr = { - type: Syntax.CallExpression, - callee: expr, - 'arguments': parseArguments() - }; - marker.end(); - marker.apply(expr); - } else if (match('[')) { - expr = { - type: Syntax.MemberExpression, - computed: true, - object: expr, - property: parseComputedMember() - }; - marker.end(); - marker.apply(expr); - } else { - expr = { - type: Syntax.MemberExpression, - computed: false, - object: expr, - property: parseNonComputedMember() - }; - marker.end(); - marker.apply(expr); - } - } - - return expr; - } - - function filterGroup(node) { - var n, i, entry; - - n = (Object.prototype.toString.apply(node) === '[object Array]') ? [] : {}; - for (i in node) { - if (node.hasOwnProperty(i) && i !== 'groupRange' && i !== 'groupLoc') { - entry = node[i]; - if (entry === null || typeof entry !== 'object' || entry instanceof RegExp) { - n[i] = entry; - } else { - n[i] = filterGroup(entry); - } - } - } - return n; - } - - function wrapTrackingFunction(range, loc) { - - return function (parseFunction) { - - function isBinary(node) { - return node.type === Syntax.LogicalExpression || - node.type === Syntax.BinaryExpression; - } - - function visit(node) { - var start, end; - - if (isBinary(node.left)) { - visit(node.left); - } - if (isBinary(node.right)) { - visit(node.right); - } - - if (range) { - if (node.left.groupRange || node.right.groupRange) { - start = node.left.groupRange ? node.left.groupRange[0] : node.left.range[0]; - end = node.right.groupRange ? node.right.groupRange[1] : node.right.range[1]; - node.range = [start, end]; - } else if (typeof node.range === 'undefined') { - start = node.left.range[0]; - end = node.right.range[1]; - node.range = [start, end]; - } - } - if (loc) { - if (node.left.groupLoc || node.right.groupLoc) { - start = node.left.groupLoc ? node.left.groupLoc.start : node.left.loc.start; - end = node.right.groupLoc ? node.right.groupLoc.end : node.right.loc.end; - node.loc = { - start: start, - end: end - }; - } else if (typeof node.loc === 'undefined') { - node.loc = { - start: node.left.loc.start, - end: node.right.loc.end - }; - } - } - } - - return function () { - var marker, node; - - skipComment(); - - marker = createLocationMarker(); - node = parseFunction.apply(null, arguments); - marker.end(); - - if (range && typeof node.range === 'undefined') { - marker.apply(node); - } - - if (loc && typeof node.loc === 'undefined') { - marker.apply(node); - } - - if (isBinary(node)) { - visit(node); - } - - return node; - }; - }; - } - - function patch() { - - var wrapTracking; - - if (extra.comments) { - extra.skipComment = skipComment; - skipComment = scanComment; - } - - if (extra.raw) { - extra.createLiteral = createLiteral; - createLiteral = createRawLiteral; - } - - if (extra.range || extra.loc) { - - extra.parseGroupExpression = parseGroupExpression; - extra.parseLeftHandSideExpression = parseLeftHandSideExpression; - extra.parseLeftHandSideExpressionAllowCall = parseLeftHandSideExpressionAllowCall; - parseGroupExpression = trackGroupExpression; - parseLeftHandSideExpression = trackLeftHandSideExpression; - parseLeftHandSideExpressionAllowCall = trackLeftHandSideExpressionAllowCall; - - wrapTracking = wrapTrackingFunction(extra.range, extra.loc); - - extra.parseAdditiveExpression = parseAdditiveExpression; - extra.parseAssignmentExpression = parseAssignmentExpression; - extra.parseBitwiseANDExpression = parseBitwiseANDExpression; - extra.parseBitwiseORExpression = parseBitwiseORExpression; - extra.parseBitwiseXORExpression = parseBitwiseXORExpression; - extra.parseBlock = parseBlock; - extra.parseFunctionSourceElements = parseFunctionSourceElements; - extra.parseCatchClause = parseCatchClause; - extra.parseComputedMember = parseComputedMember; - extra.parseConditionalExpression = parseConditionalExpression; - extra.parseConstLetDeclaration = parseConstLetDeclaration; - extra.parseEqualityExpression = parseEqualityExpression; - extra.parseExpression = parseExpression; - extra.parseForVariableDeclaration = parseForVariableDeclaration; - extra.parseFunctionDeclaration = parseFunctionDeclaration; - extra.parseFunctionExpression = parseFunctionExpression; - extra.parseLogicalANDExpression = parseLogicalANDExpression; - extra.parseLogicalORExpression = parseLogicalORExpression; - extra.parseMultiplicativeExpression = parseMultiplicativeExpression; - extra.parseNewExpression = parseNewExpression; - extra.parseNonComputedProperty = parseNonComputedProperty; - extra.parseObjectProperty = parseObjectProperty; - extra.parseObjectPropertyKey = parseObjectPropertyKey; - extra.parsePostfixExpression = parsePostfixExpression; - extra.parsePrimaryExpression = parsePrimaryExpression; - extra.parseProgram = parseProgram; - extra.parsePropertyFunction = parsePropertyFunction; - extra.parseRelationalExpression = parseRelationalExpression; - extra.parseStatement = parseStatement; - extra.parseShiftExpression = parseShiftExpression; - extra.parseSwitchCase = parseSwitchCase; - extra.parseUnaryExpression = parseUnaryExpression; - extra.parseVariableDeclaration = parseVariableDeclaration; - extra.parseVariableIdentifier = parseVariableIdentifier; - - parseAdditiveExpression = wrapTracking(extra.parseAdditiveExpression); - parseAssignmentExpression = wrapTracking(extra.parseAssignmentExpression); - parseBitwiseANDExpression = wrapTracking(extra.parseBitwiseANDExpression); - parseBitwiseORExpression = wrapTracking(extra.parseBitwiseORExpression); - parseBitwiseXORExpression = wrapTracking(extra.parseBitwiseXORExpression); - parseBlock = wrapTracking(extra.parseBlock); - parseFunctionSourceElements = wrapTracking(extra.parseFunctionSourceElements); - parseCatchClause = wrapTracking(extra.parseCatchClause); - parseComputedMember = wrapTracking(extra.parseComputedMember); - parseConditionalExpression = wrapTracking(extra.parseConditionalExpression); - parseConstLetDeclaration = wrapTracking(extra.parseConstLetDeclaration); - parseEqualityExpression = wrapTracking(extra.parseEqualityExpression); - parseExpression = wrapTracking(extra.parseExpression); - parseForVariableDeclaration = wrapTracking(extra.parseForVariableDeclaration); - parseFunctionDeclaration = wrapTracking(extra.parseFunctionDeclaration); - parseFunctionExpression = wrapTracking(extra.parseFunctionExpression); - parseLeftHandSideExpression = wrapTracking(parseLeftHandSideExpression); - parseLogicalANDExpression = wrapTracking(extra.parseLogicalANDExpression); - parseLogicalORExpression = wrapTracking(extra.parseLogicalORExpression); - parseMultiplicativeExpression = wrapTracking(extra.parseMultiplicativeExpression); - parseNewExpression = wrapTracking(extra.parseNewExpression); - parseNonComputedProperty = wrapTracking(extra.parseNonComputedProperty); - parseObjectProperty = wrapTracking(extra.parseObjectProperty); - parseObjectPropertyKey = wrapTracking(extra.parseObjectPropertyKey); - parsePostfixExpression = wrapTracking(extra.parsePostfixExpression); - parsePrimaryExpression = wrapTracking(extra.parsePrimaryExpression); - parseProgram = wrapTracking(extra.parseProgram); - parsePropertyFunction = wrapTracking(extra.parsePropertyFunction); - parseRelationalExpression = wrapTracking(extra.parseRelationalExpression); - parseStatement = wrapTracking(extra.parseStatement); - parseShiftExpression = wrapTracking(extra.parseShiftExpression); - parseSwitchCase = wrapTracking(extra.parseSwitchCase); - parseUnaryExpression = wrapTracking(extra.parseUnaryExpression); - parseVariableDeclaration = wrapTracking(extra.parseVariableDeclaration); - parseVariableIdentifier = wrapTracking(extra.parseVariableIdentifier); - } - - if (typeof extra.tokens !== 'undefined') { - extra.advance = advance; - extra.scanRegExp = scanRegExp; - - advance = collectToken; - scanRegExp = collectRegex; - } - } - - function unpatch() { - if (typeof extra.skipComment === 'function') { - skipComment = extra.skipComment; - } - - if (extra.raw) { - createLiteral = extra.createLiteral; - } - - if (extra.range || extra.loc) { - parseAdditiveExpression = extra.parseAdditiveExpression; - parseAssignmentExpression = extra.parseAssignmentExpression; - parseBitwiseANDExpression = extra.parseBitwiseANDExpression; - parseBitwiseORExpression = extra.parseBitwiseORExpression; - parseBitwiseXORExpression = extra.parseBitwiseXORExpression; - parseBlock = extra.parseBlock; - parseFunctionSourceElements = extra.parseFunctionSourceElements; - parseCatchClause = extra.parseCatchClause; - parseComputedMember = extra.parseComputedMember; - parseConditionalExpression = extra.parseConditionalExpression; - parseConstLetDeclaration = extra.parseConstLetDeclaration; - parseEqualityExpression = extra.parseEqualityExpression; - parseExpression = extra.parseExpression; - parseForVariableDeclaration = extra.parseForVariableDeclaration; - parseFunctionDeclaration = extra.parseFunctionDeclaration; - parseFunctionExpression = extra.parseFunctionExpression; - parseGroupExpression = extra.parseGroupExpression; - parseLeftHandSideExpression = extra.parseLeftHandSideExpression; - parseLeftHandSideExpressionAllowCall = extra.parseLeftHandSideExpressionAllowCall; - parseLogicalANDExpression = extra.parseLogicalANDExpression; - parseLogicalORExpression = extra.parseLogicalORExpression; - parseMultiplicativeExpression = extra.parseMultiplicativeExpression; - parseNewExpression = extra.parseNewExpression; - parseNonComputedProperty = extra.parseNonComputedProperty; - parseObjectProperty = extra.parseObjectProperty; - parseObjectPropertyKey = extra.parseObjectPropertyKey; - parsePrimaryExpression = extra.parsePrimaryExpression; - parsePostfixExpression = extra.parsePostfixExpression; - parseProgram = extra.parseProgram; - parsePropertyFunction = extra.parsePropertyFunction; - parseRelationalExpression = extra.parseRelationalExpression; - parseStatement = extra.parseStatement; - parseShiftExpression = extra.parseShiftExpression; - parseSwitchCase = extra.parseSwitchCase; - parseUnaryExpression = extra.parseUnaryExpression; - parseVariableDeclaration = extra.parseVariableDeclaration; - parseVariableIdentifier = extra.parseVariableIdentifier; - } - - if (typeof extra.scanRegExp === 'function') { - advance = extra.advance; - scanRegExp = extra.scanRegExp; - } - } - - function stringToArray(str) { - var length = str.length, - result = [], - i; - for (i = 0; i < length; ++i) { - result[i] = str.charAt(i); - } - return result; - } - - function parse(code, options) { - var program, toString; - - toString = String; - if (typeof code !== 'string' && !(code instanceof String)) { - code = toString(code); - } - - source = code; - index = 0; - lineNumber = (source.length > 0) ? 1 : 0; - lineStart = 0; - length = source.length; - buffer = null; - state = { - allowIn: true, - labelSet: {}, - inFunctionBody: false, - inIteration: false, - inSwitch: false - }; - - extra = {}; - if (typeof options !== 'undefined') { - extra.range = (typeof options.range === 'boolean') && options.range; - extra.loc = (typeof options.loc === 'boolean') && options.loc; - extra.raw = (typeof options.raw === 'boolean') && options.raw; - if (typeof options.tokens === 'boolean' && options.tokens) { - extra.tokens = []; - } - if (typeof options.comment === 'boolean' && options.comment) { - extra.comments = []; - } - if (typeof options.tolerant === 'boolean' && options.tolerant) { - extra.errors = []; - } - } - - if (length > 0) { - if (typeof source[0] === 'undefined') { - // Try first to convert to a string. This is good as fast path - // for old IE which understands string indexing for string - // literals only and not for string object. - if (code instanceof String) { - source = code.valueOf(); - } - - // Force accessing the characters via an array. - if (typeof source[0] === 'undefined') { - source = stringToArray(code); - } - } - } - - patch(); - try { - program = parseProgram(); - if (typeof extra.comments !== 'undefined') { - filterCommentLocation(); - program.comments = extra.comments; - } - if (typeof extra.tokens !== 'undefined') { - filterTokenLocation(); - program.tokens = extra.tokens; - } - if (typeof extra.errors !== 'undefined') { - program.errors = extra.errors; - } - if (extra.range || extra.loc) { - program.body = filterGroup(program.body); - } - } catch (e) { - throw e; - } finally { - unpatch(); - extra = {}; - } - - return program; - } - - // Sync with package.json. - exports.version = '1.0.4'; - - exports.parse = parse; - - // Deep copy. - exports.Syntax = (function () { - var name, types = {}; - - if (typeof Object.create === 'function') { - types = Object.create(null); - } - - for (name in Syntax) { - if (Syntax.hasOwnProperty(name)) { - types[name] = Syntax[name]; - } - } - - if (typeof Object.freeze === 'function') { - Object.freeze(types); - } - - return types; - }()); - -})); -/* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/package.json b/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/package.json deleted file mode 100644 index 9a2294ae28c7..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/package.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "name": "esprima", - "description": "ECMAScript parsing infrastructure for multipurpose analysis", - "homepage": "http://esprima.org", - "main": "esprima.js", - "bin": { - "esparse": "./bin/esparse.js", - "esvalidate": "./bin/esvalidate.js" - }, - "files": [ - "bin", - "test/run.js", - "test/runner.js", - "test/test.js", - "test/compat.js", - "test/reflect.js", - "esprima.js" - ], - "version": "1.0.4", - "engines": { - "node": ">=0.4.0" - }, - "maintainers": [ - { - "name": "Ariya Hidayat", - "email": "ariya.hidayat@gmail.com", - "url": "http://ariya.ofilabs.com" - } - ], - "repository": { - "type": "git", - "url": "http://github.com/ariya/esprima.git" - }, - "licenses": [ - { - "type": "BSD", - "url": "http://github.com/ariya/esprima/raw/master/LICENSE.BSD" - } - ], - "keywords": [ - "ast", - "ecmascript", - "javascript", - "parser", - "syntax" - ], - "scripts": { - "test": "node test/run.js", - "benchmark": "node test/benchmarks.js", - "benchmark-quick": "node test/benchmarks.js quick" - }, - "readme": "**Esprima** ([esprima.org](http://esprima.org)) is a high performance,\nstandard-compliant [ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm)\nparser written in ECMAScript (also popularly known as\n[JavaScript](http://en.wikipedia.org/wiki/JavaScript>JavaScript)).\nEsprima is created and maintained by [Ariya Hidayat](http://twitter.com/ariyahidayat),\nwith the help of [many contributors](https://github.com/ariya/esprima/contributors).\n\nEsprima runs on web browsers (IE 6+, Firefox 1+, Safari 3+, Chrome 1+, Konqueror 4.6+, Opera 8+) as well as\n[Node.js](http://nodejs.org).\n\n### Features\n\n- Full support for [ECMAScript 5.1](http://www.ecma-international.org/publications/standards/Ecma-262.htm)(ECMA-262)\n- Sensible [syntax tree format](http://esprima.org/doc/index.html#ast) compatible with Mozilla\n[Parser AST](https://developer.mozilla.org/en/SpiderMonkey/Parser_API)\n- Heavily tested (> 550 [unit tests](http://esprima.org/test/) with solid 100% statement coverage)\n- Optional tracking of syntax node location (index-based and line-column)\n- Experimental support for ES6/Harmony (module, class, destructuring, ...)\n\nEsprima is blazing fast (see the [benchmark suite](http://esprima.org/test/benchmarks.html)).\nIt is up to 3x faster than UglifyJS v1 and it is still [competitive](http://esprima.org/test/compare.html)\nwith the new generation of fast parsers.\n\n### Applications\n\nEsprima serves as the basis for many popular JavaScript development tools:\n\n- Code coverage analysis: [node-cover](https://github.com/itay/node-cover), [Istanbul](https://github.com/yahoo/Istanbul)\n- Documentation tool: [JFDoc](https://github.com/thejohnfreeman/jfdoc), [JSDuck](https://github.com/senchalabs/jsduck)\n- Language extension: [LLJS](http://mbebenita.github.com/LLJS/) (low-level JS),\n[Sweet.js](http://sweetjs.org/) (macro)\n- ES6/Harmony transpiler: [Six](https://github.com/matthewrobb/six), [Harmonizr](https://github.com/jdiamond/harmonizr)\n- Eclipse Orion smart editing ([outline view](https://github.com/aclement/esprima-outline), [content assist](http://contraptionsforprogramming.blogspot.com/2012/02/better-javascript-content-assist-in.html))\n- Source code modification: [Esmorph](https://github.com/ariya/esmorph), [Code Painter](https://github.com/fawek/codepainter),\n- Source transformation: [node-falafel](https://github.com/substack/node-falafel), [Esmangle](https://github.com/Constellation/esmangle), [escodegen](https://github.com/Constellation/escodegen)\n\n### Questions?\n- [Documentation](http://esprima.org/doc)\n- [Issue tracker](http://issues.esprima.org): [known problems](http://code.google.com/p/esprima/issues/list?q=Defect)\nand [future plans](http://code.google.com/p/esprima/issues/list?q=Enhancement)\n- [Mailing list](http://groups.google.com/group/esprima)\n- [Contribution guide](http://esprima.org/doc/index.html#contribution)\n\nFollow [@Esprima](http://twitter.com/Esprima) on Twitter to get the\ndevelopment updates.\nFeedback and contribution are welcomed!\n\n### License\n\nCopyright (C) 2012, 2011 [Ariya Hidayat](http://ariya.ofilabs.com/about)\n and other contributors.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\nTHIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n", - "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/ariya/esprima/issues" - }, - "_id": "esprima@1.0.4", - "_from": "esprima@~ 1.0.2" -} diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/compat.js b/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/compat.js deleted file mode 100644 index ee3a6295eba7..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/compat.js +++ /dev/null @@ -1,239 +0,0 @@ -/* - Copyright (C) 2012 Joost-Wim Boekesteijn - Copyright (C) 2011 Ariya Hidayat - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/*jslint node: true */ -/*global document: true, window:true, esprima: true, testReflect: true */ - -var runTests; - -function getContext(esprima, reportCase, reportFailure) { - 'use strict'; - - var Reflect, Pattern; - - // Maps Mozilla Reflect object to our Esprima parser. - Reflect = { - parse: function (code) { - var result; - - reportCase(code); - - try { - result = esprima.parse(code); - } catch (error) { - result = error; - } - - return result; - } - }; - - // This is used by Reflect test suite to match a syntax tree. - Pattern = function (obj) { - var pattern; - - // Poor man's deep object cloning. - pattern = JSON.parse(JSON.stringify(obj)); - - // Special handling for regular expression literal since we need to - // convert it to a string literal, otherwise it will be decoded - // as object "{}" and the regular expression would be lost. - if (obj.type && obj.type === 'Literal') { - if (obj.value instanceof RegExp) { - pattern = { - type: obj.type, - value: obj.value.toString() - }; - } - } - - // Special handling for branch statement because SpiderMonkey - // prefers to put the 'alternate' property before 'consequent'. - if (obj.type && obj.type === 'IfStatement') { - pattern = { - type: pattern.type, - test: pattern.test, - consequent: pattern.consequent, - alternate: pattern.alternate - }; - } - - // Special handling for do while statement because SpiderMonkey - // prefers to put the 'test' property before 'body'. - if (obj.type && obj.type === 'DoWhileStatement') { - pattern = { - type: pattern.type, - body: pattern.body, - test: pattern.test - }; - } - - function adjustRegexLiteralAndRaw(key, value) { - if (key === 'value' && value instanceof RegExp) { - value = value.toString(); - } else if (key === 'raw' && typeof value === "string") { - // Ignore Esprima-specific 'raw' property. - return undefined; - } - return value; - } - - if (obj.type && (obj.type === 'Program')) { - pattern.assert = function (tree) { - var actual, expected; - actual = JSON.stringify(tree, adjustRegexLiteralAndRaw, 4); - expected = JSON.stringify(obj, null, 4); - - if (expected !== actual) { - reportFailure(expected, actual); - } - }; - } - - return pattern; - }; - - return { - Reflect: Reflect, - Pattern: Pattern - }; -} - -if (typeof window !== 'undefined') { - // Run all tests in a browser environment. - runTests = function () { - 'use strict'; - - var total = 0, - failures = 0; - - function setText(el, str) { - if (typeof el.innerText === 'string') { - el.innerText = str; - } else { - el.textContent = str; - } - } - - function reportCase(code) { - var report, e; - report = document.getElementById('report'); - e = document.createElement('pre'); - e.setAttribute('class', 'code'); - setText(e, code); - report.appendChild(e); - total += 1; - } - - function reportFailure(expected, actual) { - var report, e; - - failures += 1; - - report = document.getElementById('report'); - - e = document.createElement('p'); - setText(e, 'Expected'); - report.appendChild(e); - - e = document.createElement('pre'); - e.setAttribute('class', 'expected'); - setText(e, expected); - report.appendChild(e); - - e = document.createElement('p'); - setText(e, 'Actual'); - report.appendChild(e); - - e = document.createElement('pre'); - e.setAttribute('class', 'actual'); - setText(e, actual); - report.appendChild(e); - } - - setText(document.getElementById('version'), esprima.version); - - window.setTimeout(function () { - var tick, context = getContext(esprima, reportCase, reportFailure); - - tick = new Date(); - testReflect(context.Reflect, context.Pattern); - tick = (new Date()) - tick; - - if (failures > 0) { - setText(document.getElementById('status'), total + ' tests. ' + - 'Failures: ' + failures + '. ' + tick + ' ms'); - } else { - setText(document.getElementById('status'), total + ' tests. ' + - 'No failure. ' + tick + ' ms'); - } - }, 513); - }; -} else { - (function (global) { - 'use strict'; - var esprima = require('../esprima'), - tick, - total = 0, - failures = [], - header, - current, - context; - - function reportCase(code) { - total += 1; - current = code; - } - - function reportFailure(expected, actual) { - failures.push({ - source: current, - expected: expected.toString(), - actual: actual.toString() - }); - } - - context = getContext(esprima, reportCase, reportFailure); - - tick = new Date(); - require('./reflect').testReflect(context.Reflect, context.Pattern); - tick = (new Date()) - tick; - - header = total + ' tests. ' + failures.length + ' failures. ' + - tick + ' ms'; - if (failures.length) { - console.error(header); - failures.forEach(function (failure) { - console.error(failure.source + ': Expected\n ' + - failure.expected.split('\n').join('\n ') + - '\nto match\n ' + failure.actual); - }); - } else { - console.log(header); - } - process.exit(failures.length === 0 ? 0 : 1); - }(this)); -} -/* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/reflect.js b/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/reflect.js deleted file mode 100644 index dba1ba8f1fe3..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/reflect.js +++ /dev/null @@ -1,422 +0,0 @@ -// This is modified from Mozilla Reflect.parse test suite (the file is located -// at js/src/tests/js1_8_5/extensions/reflect-parse.js in the source tree). -// -// Some notable changes: -// * Removed unsupported features (destructuring, let, comprehensions...). -// * Removed tests for E4X (ECMAScript for XML). -// * Removed everything related to builder. -// * Enclosed every 'Pattern' construct with a scope. -// * Tweaked some expected tree to remove generator field. -// * Removed the test for bug 632030 and bug 632024. - -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/licenses/publicdomain/ - */ - -(function (exports) { - -function testReflect(Reflect, Pattern) { - -function program(elts) { return Pattern({ type: "Program", body: elts }) } -function exprStmt(expr) { return Pattern({ type: "ExpressionStatement", expression: expr }) } -function throwStmt(expr) { return Pattern({ type: "ThrowStatement", argument: expr }) } -function returnStmt(expr) { return Pattern({ type: "ReturnStatement", argument: expr }) } -function yieldExpr(expr) { return Pattern({ type: "YieldExpression", argument: expr }) } -function lit(val) { return Pattern({ type: "Literal", value: val }) } -var thisExpr = Pattern({ type: "ThisExpression" }); -function funDecl(id, params, body) { return Pattern({ type: "FunctionDeclaration", - id: id, - params: params, - defaults: [], - body: body, - rest: null, - generator: false, - expression: false - }) } -function genFunDecl(id, params, body) { return Pattern({ type: "FunctionDeclaration", - id: id, - params: params, - defaults: [], - body: body, - rest: null, - generator: false, - expression: false - }) } -function declarator(id, init) { return Pattern({ type: "VariableDeclarator", id: id, init: init }) } -function varDecl(decls) { return Pattern({ type: "VariableDeclaration", declarations: decls, kind: "var" }) } -function letDecl(decls) { return Pattern({ type: "VariableDeclaration", declarations: decls, kind: "let" }) } -function constDecl(decls) { return Pattern({ type: "VariableDeclaration", declarations: decls, kind: "const" }) } -function ident(name) { return Pattern({ type: "Identifier", name: name }) } -function dotExpr(obj, id) { return Pattern({ type: "MemberExpression", computed: false, object: obj, property: id }) } -function memExpr(obj, id) { return Pattern({ type: "MemberExpression", computed: true, object: obj, property: id }) } -function forStmt(init, test, update, body) { return Pattern({ type: "ForStatement", init: init, test: test, update: update, body: body }) } -function forInStmt(lhs, rhs, body) { return Pattern({ type: "ForInStatement", left: lhs, right: rhs, body: body, each: false }) } -function forEachInStmt(lhs, rhs, body) { return Pattern({ type: "ForInStatement", left: lhs, right: rhs, body: body, each: true }) } -function breakStmt(lab) { return Pattern({ type: "BreakStatement", label: lab }) } -function continueStmt(lab) { return Pattern({ type: "ContinueStatement", label: lab }) } -function blockStmt(body) { return Pattern({ type: "BlockStatement", body: body }) } -var emptyStmt = Pattern({ type: "EmptyStatement" }); -function ifStmt(test, cons, alt) { return Pattern({ type: "IfStatement", test: test, alternate: alt, consequent: cons }) } -function labStmt(lab, stmt) { return Pattern({ type: "LabeledStatement", label: lab, body: stmt }) } -function withStmt(obj, stmt) { return Pattern({ type: "WithStatement", object: obj, body: stmt }) } -function whileStmt(test, stmt) { return Pattern({ type: "WhileStatement", test: test, body: stmt }) } -function doStmt(stmt, test) { return Pattern({ type: "DoWhileStatement", test: test, body: stmt }) } -function switchStmt(disc, cases) { return Pattern({ type: "SwitchStatement", discriminant: disc, cases: cases }) } -function caseClause(test, stmts) { return Pattern({ type: "SwitchCase", test: test, consequent: stmts }) } -function defaultClause(stmts) { return Pattern({ type: "SwitchCase", test: null, consequent: stmts }) } -function catchClause(id, guard, body) { if (guard) { return Pattern({ type: "GuardedCatchClause", param: id, guard: guard, body: body }) } else { return Pattern({ type: "CatchClause", param: id, body: body }) } } -function tryStmt(body, guarded, catches, fin) { return Pattern({ type: "TryStatement", block: body, guardedHandlers: guarded, handlers: catches, finalizer: fin }) } -function letStmt(head, body) { return Pattern({ type: "LetStatement", head: head, body: body }) } -function funExpr(id, args, body, gen) { return Pattern({ type: "FunctionExpression", - id: id, - params: args, - defaults: [], - body: body, - rest: null, - generator: false, - expression: false - }) } -function genFunExpr(id, args, body) { return Pattern({ type: "FunctionExpression", - id: id, - params: args, - defaults: [], - body: body, - rest: null, - generator: false, - expression: false - }) } - -function unExpr(op, arg) { return Pattern({ type: "UnaryExpression", operator: op, argument: arg, prefix: true }) } -function binExpr(op, left, right) { return Pattern({ type: "BinaryExpression", operator: op, left: left, right: right }) } -function aExpr(op, left, right) { return Pattern({ type: "AssignmentExpression", operator: op, left: left, right: right }) } -function updExpr(op, arg, prefix) { return Pattern({ type: "UpdateExpression", operator: op, argument: arg, prefix: prefix }) } -function logExpr(op, left, right) { return Pattern({ type: "LogicalExpression", operator: op, left: left, right: right }) } - -function condExpr(test, cons, alt) { return Pattern({ type: "ConditionalExpression", test: test, consequent: cons, alternate: alt }) } -function seqExpr(exprs) { return Pattern({ type: "SequenceExpression", expressions: exprs }) } -function newExpr(callee, args) { return Pattern({ type: "NewExpression", callee: callee, arguments: args }) } -function callExpr(callee, args) { return Pattern({ type: "CallExpression", callee: callee, arguments: args }) } -function arrExpr(elts) { return Pattern({ type: "ArrayExpression", elements: elts }) } -function objExpr(elts) { return Pattern({ type: "ObjectExpression", properties: elts }) } -function objProp(key, value, kind) { return Pattern({ type: "Property", key: key, value: value, kind: kind }) } - -function arrPatt(elts) { return Pattern({ type: "ArrayPattern", elements: elts }) } -function objPatt(elts) { return Pattern({ type: "ObjectPattern", properties: elts }) } - -function localSrc(src) { return "(function(){ " + src + " })" } -function localPatt(patt) { return program([exprStmt(funExpr(null, [], blockStmt([patt])))]) } -function blockSrc(src) { return "(function(){ { " + src + " } })" } -function blockPatt(patt) { return program([exprStmt(funExpr(null, [], blockStmt([blockStmt([patt])])))]) } - -function assertBlockStmt(src, patt) { - blockPatt(patt).assert(Reflect.parse(blockSrc(src))); -} - -function assertBlockExpr(src, patt) { - assertBlockStmt(src, exprStmt(patt)); -} - -function assertBlockDecl(src, patt, builder) { - blockPatt(patt).assert(Reflect.parse(blockSrc(src), {builder: builder})); -} - -function assertLocalStmt(src, patt) { - localPatt(patt).assert(Reflect.parse(localSrc(src))); -} - -function assertLocalExpr(src, patt) { - assertLocalStmt(src, exprStmt(patt)); -} - -function assertLocalDecl(src, patt) { - localPatt(patt).assert(Reflect.parse(localSrc(src))); -} - -function assertGlobalStmt(src, patt, builder) { - program([patt]).assert(Reflect.parse(src, {builder: builder})); -} - -function assertGlobalExpr(src, patt, builder) { - program([exprStmt(patt)]).assert(Reflect.parse(src, {builder: builder})); - //assertStmt(src, exprStmt(patt)); -} - -function assertGlobalDecl(src, patt) { - program([patt]).assert(Reflect.parse(src)); -} - -function assertProg(src, patt) { - program(patt).assert(Reflect.parse(src)); -} - -function assertStmt(src, patt) { - assertLocalStmt(src, patt); - assertGlobalStmt(src, patt); - assertBlockStmt(src, patt); -} - -function assertExpr(src, patt) { - assertLocalExpr(src, patt); - assertGlobalExpr(src, patt); - assertBlockExpr(src, patt); -} - -function assertDecl(src, patt) { - assertLocalDecl(src, patt); - assertGlobalDecl(src, patt); - assertBlockDecl(src, patt); -} - -function assertError(src, errorType) { - try { - Reflect.parse(src); - } catch (e) { - return; - } - throw new Error("expected " + errorType.name + " for " + uneval(src)); -} - - -// general tests - -// NB: These are useful but for now jit-test doesn't do I/O reliably. - -//program(_).assert(Reflect.parse(snarf('data/flapjax.txt'))); -//program(_).assert(Reflect.parse(snarf('data/jquery-1.4.2.txt'))); -//program(_).assert(Reflect.parse(snarf('data/prototype.js'))); -//program(_).assert(Reflect.parse(snarf('data/dojo.js.uncompressed.js'))); -//program(_).assert(Reflect.parse(snarf('data/mootools-1.2.4-core-nc.js'))); - - -// declarations - -assertDecl("var x = 1, y = 2, z = 3", - varDecl([declarator(ident("x"), lit(1)), - declarator(ident("y"), lit(2)), - declarator(ident("z"), lit(3))])); -assertDecl("var x, y, z", - varDecl([declarator(ident("x"), null), - declarator(ident("y"), null), - declarator(ident("z"), null)])); -assertDecl("function foo() { }", - funDecl(ident("foo"), [], blockStmt([]))); -assertDecl("function foo() { return 42 }", - funDecl(ident("foo"), [], blockStmt([returnStmt(lit(42))]))); - - -// Bug 591437: rebound args have their defs turned into uses -assertDecl("function f(a) { function a() { } }", - funDecl(ident("f"), [ident("a")], blockStmt([funDecl(ident("a"), [], blockStmt([]))]))); -assertDecl("function f(a,b,c) { function b() { } }", - funDecl(ident("f"), [ident("a"),ident("b"),ident("c")], blockStmt([funDecl(ident("b"), [], blockStmt([]))]))); - -// expressions - -assertExpr("true", lit(true)); -assertExpr("false", lit(false)); -assertExpr("42", lit(42)); -assertExpr("(/asdf/)", lit(/asdf/)); -assertExpr("this", thisExpr); -assertExpr("foo", ident("foo")); -assertExpr("foo.bar", dotExpr(ident("foo"), ident("bar"))); -assertExpr("foo[bar]", memExpr(ident("foo"), ident("bar"))); -assertExpr("(function(){})", funExpr(null, [], blockStmt([]))); -assertExpr("(function f() {})", funExpr(ident("f"), [], blockStmt([]))); -assertExpr("(function f(x,y,z) {})", funExpr(ident("f"), [ident("x"),ident("y"),ident("z")], blockStmt([]))); -assertExpr("(++x)", updExpr("++", ident("x"), true)); -assertExpr("(x++)", updExpr("++", ident("x"), false)); -assertExpr("(+x)", unExpr("+", ident("x"))); -assertExpr("(-x)", unExpr("-", ident("x"))); -assertExpr("(!x)", unExpr("!", ident("x"))); -assertExpr("(~x)", unExpr("~", ident("x"))); -assertExpr("(delete x)", unExpr("delete", ident("x"))); -assertExpr("(typeof x)", unExpr("typeof", ident("x"))); -assertExpr("(void x)", unExpr("void", ident("x"))); -assertExpr("(x == y)", binExpr("==", ident("x"), ident("y"))); -assertExpr("(x != y)", binExpr("!=", ident("x"), ident("y"))); -assertExpr("(x === y)", binExpr("===", ident("x"), ident("y"))); -assertExpr("(x !== y)", binExpr("!==", ident("x"), ident("y"))); -assertExpr("(x < y)", binExpr("<", ident("x"), ident("y"))); -assertExpr("(x <= y)", binExpr("<=", ident("x"), ident("y"))); -assertExpr("(x > y)", binExpr(">", ident("x"), ident("y"))); -assertExpr("(x >= y)", binExpr(">=", ident("x"), ident("y"))); -assertExpr("(x << y)", binExpr("<<", ident("x"), ident("y"))); -assertExpr("(x >> y)", binExpr(">>", ident("x"), ident("y"))); -assertExpr("(x >>> y)", binExpr(">>>", ident("x"), ident("y"))); -assertExpr("(x + y)", binExpr("+", ident("x"), ident("y"))); -assertExpr("(w + x + y + z)", binExpr("+", binExpr("+", binExpr("+", ident("w"), ident("x")), ident("y")), ident("z"))); -assertExpr("(x - y)", binExpr("-", ident("x"), ident("y"))); -assertExpr("(w - x - y - z)", binExpr("-", binExpr("-", binExpr("-", ident("w"), ident("x")), ident("y")), ident("z"))); -assertExpr("(x * y)", binExpr("*", ident("x"), ident("y"))); -assertExpr("(x / y)", binExpr("/", ident("x"), ident("y"))); -assertExpr("(x % y)", binExpr("%", ident("x"), ident("y"))); -assertExpr("(x | y)", binExpr("|", ident("x"), ident("y"))); -assertExpr("(x ^ y)", binExpr("^", ident("x"), ident("y"))); -assertExpr("(x & y)", binExpr("&", ident("x"), ident("y"))); -assertExpr("(x in y)", binExpr("in", ident("x"), ident("y"))); -assertExpr("(x instanceof y)", binExpr("instanceof", ident("x"), ident("y"))); -assertExpr("(x = y)", aExpr("=", ident("x"), ident("y"))); -assertExpr("(x += y)", aExpr("+=", ident("x"), ident("y"))); -assertExpr("(x -= y)", aExpr("-=", ident("x"), ident("y"))); -assertExpr("(x *= y)", aExpr("*=", ident("x"), ident("y"))); -assertExpr("(x /= y)", aExpr("/=", ident("x"), ident("y"))); -assertExpr("(x %= y)", aExpr("%=", ident("x"), ident("y"))); -assertExpr("(x <<= y)", aExpr("<<=", ident("x"), ident("y"))); -assertExpr("(x >>= y)", aExpr(">>=", ident("x"), ident("y"))); -assertExpr("(x >>>= y)", aExpr(">>>=", ident("x"), ident("y"))); -assertExpr("(x |= y)", aExpr("|=", ident("x"), ident("y"))); -assertExpr("(x ^= y)", aExpr("^=", ident("x"), ident("y"))); -assertExpr("(x &= y)", aExpr("&=", ident("x"), ident("y"))); -assertExpr("(x || y)", logExpr("||", ident("x"), ident("y"))); -assertExpr("(x && y)", logExpr("&&", ident("x"), ident("y"))); -assertExpr("(w || x || y || z)", logExpr("||", logExpr("||", logExpr("||", ident("w"), ident("x")), ident("y")), ident("z"))) -assertExpr("(x ? y : z)", condExpr(ident("x"), ident("y"), ident("z"))); -assertExpr("(x,y)", seqExpr([ident("x"),ident("y")])) -assertExpr("(x,y,z)", seqExpr([ident("x"),ident("y"),ident("z")])) -assertExpr("(a,b,c,d,e,f,g)", seqExpr([ident("a"),ident("b"),ident("c"),ident("d"),ident("e"),ident("f"),ident("g")])); -assertExpr("(new Object)", newExpr(ident("Object"), [])); -assertExpr("(new Object())", newExpr(ident("Object"), [])); -assertExpr("(new Object(42))", newExpr(ident("Object"), [lit(42)])); -assertExpr("(new Object(1,2,3))", newExpr(ident("Object"), [lit(1),lit(2),lit(3)])); -assertExpr("(String())", callExpr(ident("String"), [])); -assertExpr("(String(42))", callExpr(ident("String"), [lit(42)])); -assertExpr("(String(1,2,3))", callExpr(ident("String"), [lit(1),lit(2),lit(3)])); -assertExpr("[]", arrExpr([])); -assertExpr("[1]", arrExpr([lit(1)])); -assertExpr("[1,2]", arrExpr([lit(1),lit(2)])); -assertExpr("[1,2,3]", arrExpr([lit(1),lit(2),lit(3)])); -assertExpr("[1,,2,3]", arrExpr([lit(1),,lit(2),lit(3)])); -assertExpr("[1,,,2,3]", arrExpr([lit(1),,,lit(2),lit(3)])); -assertExpr("[1,,,2,,3]", arrExpr([lit(1),,,lit(2),,lit(3)])); -assertExpr("[1,,,2,,,3]", arrExpr([lit(1),,,lit(2),,,lit(3)])); -assertExpr("[,1,2,3]", arrExpr([,lit(1),lit(2),lit(3)])); -assertExpr("[,,1,2,3]", arrExpr([,,lit(1),lit(2),lit(3)])); -assertExpr("[,,,1,2,3]", arrExpr([,,,lit(1),lit(2),lit(3)])); -assertExpr("[,,,1,2,3,]", arrExpr([,,,lit(1),lit(2),lit(3)])); -assertExpr("[,,,1,2,3,,]", arrExpr([,,,lit(1),lit(2),lit(3),undefined])); -assertExpr("[,,,1,2,3,,,]", arrExpr([,,,lit(1),lit(2),lit(3),undefined,undefined])); -assertExpr("[,,,,,]", arrExpr([undefined,undefined,undefined,undefined,undefined])); -assertExpr("({})", objExpr([])); -assertExpr("({x:1})", objExpr([objProp(ident("x"), lit(1), "init")])); -assertExpr("({x:1, y:2})", objExpr([objProp(ident("x"), lit(1), "init"), - objProp(ident("y"), lit(2), "init")])); -assertExpr("({x:1, y:2, z:3})", objExpr([objProp(ident("x"), lit(1), "init"), - objProp(ident("y"), lit(2), "init"), - objProp(ident("z"), lit(3), "init") ])); -assertExpr("({x:1, 'y':2, z:3})", objExpr([objProp(ident("x"), lit(1), "init"), - objProp(lit("y"), lit(2), "init"), - objProp(ident("z"), lit(3), "init") ])); -assertExpr("({'x':1, 'y':2, z:3})", objExpr([objProp(lit("x"), lit(1), "init"), - objProp(lit("y"), lit(2), "init"), - objProp(ident("z"), lit(3), "init") ])); -assertExpr("({'x':1, 'y':2, 3:3})", objExpr([objProp(lit("x"), lit(1), "init"), - objProp(lit("y"), lit(2), "init"), - objProp(lit(3), lit(3), "init") ])); - -// Bug 571617: eliminate constant-folding -assertExpr("2 + 3", binExpr("+", lit(2), lit(3))); - -// Bug 632026: constant-folding -assertExpr("typeof(0?0:a)", unExpr("typeof", condExpr(lit(0), lit(0), ident("a")))); - -// Bug 632056: constant-folding -program([exprStmt(ident("f")), - ifStmt(lit(1), - funDecl(ident("f"), [], blockStmt([])), - null)]).assert(Reflect.parse("f; if (1) function f(){}")); - -// statements - -assertStmt("throw 42", throwStmt(lit(42))); -assertStmt("for (;;) break", forStmt(null, null, null, breakStmt(null))); -assertStmt("for (x; y; z) break", forStmt(ident("x"), ident("y"), ident("z"), breakStmt(null))); -assertStmt("for (var x; y; z) break", forStmt(varDecl([declarator(ident("x"), null)]), ident("y"), ident("z"), breakStmt(null))); -assertStmt("for (var x = 42; y; z) break", forStmt(varDecl([declarator(ident("x"), lit(42))]), ident("y"), ident("z"), breakStmt(null))); -assertStmt("for (x; ; z) break", forStmt(ident("x"), null, ident("z"), breakStmt(null))); -assertStmt("for (var x; ; z) break", forStmt(varDecl([declarator(ident("x"), null)]), null, ident("z"), breakStmt(null))); -assertStmt("for (var x = 42; ; z) break", forStmt(varDecl([declarator(ident("x"), lit(42))]), null, ident("z"), breakStmt(null))); -assertStmt("for (x; y; ) break", forStmt(ident("x"), ident("y"), null, breakStmt(null))); -assertStmt("for (var x; y; ) break", forStmt(varDecl([declarator(ident("x"), null)]), ident("y"), null, breakStmt(null))); -assertStmt("for (var x = 42; y; ) break", forStmt(varDecl([declarator(ident("x"),lit(42))]), ident("y"), null, breakStmt(null))); -assertStmt("for (var x in y) break", forInStmt(varDecl([declarator(ident("x"),null)]), ident("y"), breakStmt(null))); -assertStmt("for (x in y) break", forInStmt(ident("x"), ident("y"), breakStmt(null))); -assertStmt("{ }", blockStmt([])); -assertStmt("{ throw 1; throw 2; throw 3; }", blockStmt([ throwStmt(lit(1)), throwStmt(lit(2)), throwStmt(lit(3))])); -assertStmt(";", emptyStmt); -assertStmt("if (foo) throw 42;", ifStmt(ident("foo"), throwStmt(lit(42)), null)); -assertStmt("if (foo) throw 42; else true;", ifStmt(ident("foo"), throwStmt(lit(42)), exprStmt(lit(true)))); -assertStmt("if (foo) { throw 1; throw 2; throw 3; }", - ifStmt(ident("foo"), - blockStmt([throwStmt(lit(1)), throwStmt(lit(2)), throwStmt(lit(3))]), - null)); -assertStmt("if (foo) { throw 1; throw 2; throw 3; } else true;", - ifStmt(ident("foo"), - blockStmt([throwStmt(lit(1)), throwStmt(lit(2)), throwStmt(lit(3))]), - exprStmt(lit(true)))); -assertStmt("foo: for(;;) break foo;", labStmt(ident("foo"), forStmt(null, null, null, breakStmt(ident("foo"))))); -assertStmt("foo: for(;;) continue foo;", labStmt(ident("foo"), forStmt(null, null, null, continueStmt(ident("foo"))))); -assertStmt("with (obj) { }", withStmt(ident("obj"), blockStmt([]))); -assertStmt("with (obj) { obj; }", withStmt(ident("obj"), blockStmt([exprStmt(ident("obj"))]))); -assertStmt("while (foo) { }", whileStmt(ident("foo"), blockStmt([]))); -assertStmt("while (foo) { foo; }", whileStmt(ident("foo"), blockStmt([exprStmt(ident("foo"))]))); -assertStmt("do { } while (foo);", doStmt(blockStmt([]), ident("foo"))); -assertStmt("do { foo; } while (foo)", doStmt(blockStmt([exprStmt(ident("foo"))]), ident("foo"))); -assertStmt("switch (foo) { case 1: 1; break; case 2: 2; break; default: 3; }", - switchStmt(ident("foo"), - [ caseClause(lit(1), [ exprStmt(lit(1)), breakStmt(null) ]), - caseClause(lit(2), [ exprStmt(lit(2)), breakStmt(null) ]), - defaultClause([ exprStmt(lit(3)) ]) ])); -assertStmt("switch (foo) { case 1: 1; break; case 2: 2; break; default: 3; case 42: 42; }", - switchStmt(ident("foo"), - [ caseClause(lit(1), [ exprStmt(lit(1)), breakStmt(null) ]), - caseClause(lit(2), [ exprStmt(lit(2)), breakStmt(null) ]), - defaultClause([ exprStmt(lit(3)) ]), - caseClause(lit(42), [ exprStmt(lit(42)) ]) ])); -assertStmt("try { } catch (e) { }", - tryStmt(blockStmt([]), - [], - [ catchClause(ident("e"), null, blockStmt([])) ], - null)); -assertStmt("try { } catch (e) { } finally { }", - tryStmt(blockStmt([]), - [], - [ catchClause(ident("e"), null, blockStmt([])) ], - blockStmt([]))); -assertStmt("try { } finally { }", - tryStmt(blockStmt([]), - [], - [], - blockStmt([]))); - -// redeclarations (TOK_NAME nodes with lexdef) - -assertStmt("function f() { function g() { } function g() { } }", - funDecl(ident("f"), [], blockStmt([funDecl(ident("g"), [], blockStmt([])), - funDecl(ident("g"), [], blockStmt([]))]))); - -assertStmt("function f() { function g() { } function g() { return 42 } }", - funDecl(ident("f"), [], blockStmt([funDecl(ident("g"), [], blockStmt([])), - funDecl(ident("g"), [], blockStmt([returnStmt(lit(42))]))]))); - -assertStmt("function f() { var x = 42; var x = 43; }", - funDecl(ident("f"), [], blockStmt([varDecl([declarator(ident("x"),lit(42))]), - varDecl([declarator(ident("x"),lit(43))])]))); - -// getters and setters - - assertExpr("({ get x() { return 42 } })", - objExpr([ objProp(ident("x"), - funExpr(null, [], blockStmt([returnStmt(lit(42))])), - "get" ) ])); - assertExpr("({ set x(v) { return 42 } })", - objExpr([ objProp(ident("x"), - funExpr(null, [ident("v")], blockStmt([returnStmt(lit(42))])), - "set" ) ])); - -} - -exports.testReflect = testReflect; - -}(typeof exports === 'undefined' ? this : exports)); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/run.js b/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/run.js deleted file mode 100644 index 32ca3faa4f65..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/run.js +++ /dev/null @@ -1,66 +0,0 @@ -/* - Copyright (C) 2012 Yusuke Suzuki - Copyright (C) 2012 Ariya Hidayat - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/*jslint node:true */ - -(function () { - 'use strict'; - - var child = require('child_process'), - nodejs = '"' + process.execPath + '"', - ret = 0, - suites, - index; - - suites = [ - 'runner', - 'compat' - ]; - - function nextTest() { - var suite = suites[index]; - - if (index < suites.length) { - child.exec(nodejs + ' ./test/' + suite + '.js', function (err, stdout, stderr) { - if (stdout) { - process.stdout.write(suite + ': ' + stdout); - } - if (stderr) { - process.stderr.write(suite + ': ' + stderr); - } - if (err) { - ret = err.code; - } - index += 1; - nextTest(); - }); - } else { - process.exit(ret); - } - } - - index = 0; - nextTest(); -}()); diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/runner.js b/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/runner.js deleted file mode 100644 index c1a3fc9bf05d..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/runner.js +++ /dev/null @@ -1,387 +0,0 @@ -/* - Copyright (C) 2012 Ariya Hidayat - Copyright (C) 2012 Joost-Wim Boekesteijn - Copyright (C) 2012 Yusuke Suzuki - Copyright (C) 2012 Arpad Borsos - Copyright (C) 2011 Ariya Hidayat - Copyright (C) 2011 Yusuke Suzuki - Copyright (C) 2011 Arpad Borsos - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/*jslint browser:true node:true */ -/*global esprima:true, testFixture:true */ - -var runTests; - -// Special handling for regular expression literal since we need to -// convert it to a string literal, otherwise it will be decoded -// as object "{}" and the regular expression would be lost. -function adjustRegexLiteral(key, value) { - 'use strict'; - if (key === 'value' && value instanceof RegExp) { - value = value.toString(); - } - return value; -} - -function NotMatchingError(expected, actual) { - 'use strict'; - Error.call(this, 'Expected '); - this.expected = expected; - this.actual = actual; -} -NotMatchingError.prototype = new Error(); - -function errorToObject(e) { - 'use strict'; - var msg = e.toString(); - - // Opera 9.64 produces an non-standard string in toString(). - if (msg.substr(0, 6) !== 'Error:') { - if (typeof e.message === 'string') { - msg = 'Error: ' + e.message; - } - } - - return { - index: e.index, - lineNumber: e.lineNumber, - column: e.column, - message: msg - }; -} - -function testParse(esprima, code, syntax) { - 'use strict'; - var expected, tree, actual, options, StringObject, i, len, err; - - // alias, so that JSLint does not complain. - StringObject = String; - - options = { - comment: (typeof syntax.comments !== 'undefined'), - range: true, - loc: true, - tokens: (typeof syntax.tokens !== 'undefined'), - raw: true, - tolerant: (typeof syntax.errors !== 'undefined') - }; - - if (typeof syntax.tokens !== 'undefined') { - if (syntax.tokens.length > 0) { - options.range = (typeof syntax.tokens[0].range !== 'undefined'); - options.loc = (typeof syntax.tokens[0].loc !== 'undefined'); - } - } - - if (typeof syntax.comments !== 'undefined') { - if (syntax.comments.length > 0) { - options.range = (typeof syntax.comments[0].range !== 'undefined'); - options.loc = (typeof syntax.comments[0].loc !== 'undefined'); - } - } - - expected = JSON.stringify(syntax, null, 4); - try { - tree = esprima.parse(code, options); - tree = (options.comment || options.tokens || options.tolerant) ? tree : tree.body[0]; - - if (options.tolerant) { - for (i = 0, len = tree.errors.length; i < len; i += 1) { - tree.errors[i] = errorToObject(tree.errors[i]); - } - } - - actual = JSON.stringify(tree, adjustRegexLiteral, 4); - - // Only to ensure that there is no error when using string object. - esprima.parse(new StringObject(code), options); - - } catch (e) { - throw new NotMatchingError(expected, e.toString()); - } - if (expected !== actual) { - throw new NotMatchingError(expected, actual); - } - - function filter(key, value) { - if (key === 'value' && value instanceof RegExp) { - value = value.toString(); - } - return (key === 'loc' || key === 'range') ? undefined : value; - } - - if (options.tolerant) { - return; - } - - - // Check again without any location info. - options.range = false; - options.loc = false; - expected = JSON.stringify(syntax, filter, 4); - try { - tree = esprima.parse(code, options); - tree = (options.comment || options.tokens) ? tree : tree.body[0]; - - if (options.tolerant) { - for (i = 0, len = tree.errors.length; i < len; i += 1) { - tree.errors[i] = errorToObject(tree.errors[i]); - } - } - - actual = JSON.stringify(tree, filter, 4); - } catch (e) { - throw new NotMatchingError(expected, e.toString()); - } - if (expected !== actual) { - throw new NotMatchingError(expected, actual); - } -} - -function testError(esprima, code, exception) { - 'use strict'; - var i, options, expected, actual, handleInvalidRegexFlag; - - // Different parsing options should give the same error. - options = [ - {}, - { comment: true }, - { raw: true }, - { raw: true, comment: true } - ]; - - // If handleInvalidRegexFlag is true, an invalid flag in a regular expression - // will throw an exception. In some old version V8, this is not the case - // and hence handleInvalidRegexFlag is false. - handleInvalidRegexFlag = false; - try { - 'test'.match(new RegExp('[a-z]', 'x')); - } catch (e) { - handleInvalidRegexFlag = true; - } - - expected = JSON.stringify(exception); - - for (i = 0; i < options.length; i += 1) { - - try { - esprima.parse(code, options[i]); - } catch (e) { - actual = JSON.stringify(errorToObject(e)); - } - - if (expected !== actual) { - - // Compensate for old V8 which does not handle invalid flag. - if (exception.message.indexOf('Invalid regular expression') > 0) { - if (typeof actual === 'undefined' && !handleInvalidRegexFlag) { - return; - } - } - - throw new NotMatchingError(expected, actual); - } - - } -} - -function testAPI(esprima, code, result) { - 'use strict'; - var expected, res, actual; - - expected = JSON.stringify(result.result, null, 4); - try { - if (typeof result.property !== 'undefined') { - res = esprima[result.property]; - } else { - res = esprima[result.call].apply(esprima, result.args); - } - actual = JSON.stringify(res, adjustRegexLiteral, 4); - } catch (e) { - throw new NotMatchingError(expected, e.toString()); - } - if (expected !== actual) { - throw new NotMatchingError(expected, actual); - } -} - -function runTest(esprima, code, result) { - 'use strict'; - if (result.hasOwnProperty('lineNumber')) { - testError(esprima, code, result); - } else if (result.hasOwnProperty('result')) { - testAPI(esprima, code, result); - } else { - testParse(esprima, code, result); - } -} - -if (typeof window !== 'undefined') { - // Run all tests in a browser environment. - runTests = function () { - 'use strict'; - var total = 0, - failures = 0, - category, - fixture, - source, - tick, - expected, - index, - len; - - function setText(el, str) { - if (typeof el.innerText === 'string') { - el.innerText = str; - } else { - el.textContent = str; - } - } - - function startCategory(category) { - var report, e; - report = document.getElementById('report'); - e = document.createElement('h4'); - setText(e, category); - report.appendChild(e); - } - - function reportSuccess(code) { - var report, e; - report = document.getElementById('report'); - e = document.createElement('pre'); - e.setAttribute('class', 'code'); - setText(e, code); - report.appendChild(e); - } - - function reportFailure(code, expected, actual) { - var report, e; - - report = document.getElementById('report'); - - e = document.createElement('p'); - setText(e, 'Code:'); - report.appendChild(e); - - e = document.createElement('pre'); - e.setAttribute('class', 'code'); - setText(e, code); - report.appendChild(e); - - e = document.createElement('p'); - setText(e, 'Expected'); - report.appendChild(e); - - e = document.createElement('pre'); - e.setAttribute('class', 'expected'); - setText(e, expected); - report.appendChild(e); - - e = document.createElement('p'); - setText(e, 'Actual'); - report.appendChild(e); - - e = document.createElement('pre'); - e.setAttribute('class', 'actual'); - setText(e, actual); - report.appendChild(e); - } - - setText(document.getElementById('version'), esprima.version); - - tick = new Date(); - for (category in testFixture) { - if (testFixture.hasOwnProperty(category)) { - startCategory(category); - fixture = testFixture[category]; - for (source in fixture) { - if (fixture.hasOwnProperty(source)) { - expected = fixture[source]; - total += 1; - try { - runTest(esprima, source, expected); - reportSuccess(source, JSON.stringify(expected, null, 4)); - } catch (e) { - failures += 1; - reportFailure(source, e.expected, e.actual); - } - } - } - } - } - tick = (new Date()) - tick; - - if (failures > 0) { - setText(document.getElementById('status'), total + ' tests. ' + - 'Failures: ' + failures + '. ' + tick + ' ms'); - } else { - setText(document.getElementById('status'), total + ' tests. ' + - 'No failure. ' + tick + ' ms'); - } - }; -} else { - (function () { - 'use strict'; - - var esprima = require('../esprima'), - vm = require('vm'), - fs = require('fs'), - total = 0, - failures = [], - tick = new Date(), - expected, - header; - - vm.runInThisContext(fs.readFileSync(__dirname + '/test.js', 'utf-8')); - - Object.keys(testFixture).forEach(function (category) { - Object.keys(testFixture[category]).forEach(function (source) { - total += 1; - expected = testFixture[category][source]; - try { - runTest(esprima, source, expected); - } catch (e) { - e.source = source; - failures.push(e); - } - }); - }); - tick = (new Date()) - tick; - - header = total + ' tests. ' + failures.length + ' failures. ' + - tick + ' ms'; - if (failures.length) { - console.error(header); - failures.forEach(function (failure) { - console.error(failure.source + ': Expected\n ' + - failure.expected.split('\n').join('\n ') + - '\nto match\n ' + failure.actual); - }); - } else { - console.log(header); - } - process.exit(failures.length === 0 ? 0 : 1); - }()); -} diff --git a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/test.js b/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/test.js deleted file mode 100644 index 8ceee54b7497..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/test.js +++ /dev/null @@ -1,20238 +0,0 @@ -/* - Copyright (C) 2012 Ariya Hidayat - Copyright (C) 2012 Joost-Wim Boekesteijn - Copyright (C) 2012 Yusuke Suzuki - Copyright (C) 2012 Arpad Borsos - Copyright (C) 2011 Ariya Hidayat - Copyright (C) 2011 Yusuke Suzuki - Copyright (C) 2011 Arpad Borsos - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -var testFixture = { - - 'Primary Expression': { - - 'this\n': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'ThisExpression', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 0 } - } - }], - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 0 } - }, - tokens: [{ - type: 'Keyword', - value: 'this', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }] - }, - - 'null\n': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: null, - raw: 'null', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 0 } - } - }], - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 0 } - }, - tokens: [{ - type: 'Null', - value: 'null', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }] - }, - - '\n 42\n\n': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - range: [5, 7], - loc: { - start: { line: 2, column: 4 }, - end: { line: 2, column: 6 } - } - }, - range: [5, 9], - loc: { - start: { line: 2, column: 4 }, - end: { line: 4, column: 0 } - } - }], - range: [5, 9], - loc: { - start: { line: 2, column: 4 }, - end: { line: 4, column: 0 } - }, - tokens: [{ - type: 'Numeric', - value: '42', - range: [5, 7], - loc: { - start: { line: 2, column: 4 }, - end: { line: 2, column: 6 } - } - }] - }, - - '(1 + 2 ) * 3': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '*', - left: { - type: 'BinaryExpression', - operator: '+', - left: { - type: 'Literal', - value: 1, - raw: '1', - range: [1, 2], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 2 } - } - }, - right: { - type: 'Literal', - value: 2, - raw: '2', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - range: [1, 6], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 6 } - } - }, - right: { - type: 'Literal', - value: 3, - raw: '3', - range: [11, 12], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - } - - }, - - 'Grouping Operator': { - - '(1) + (2 ) + 3': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '+', - left: { - type: 'BinaryExpression', - operator: '+', - left: { - type: 'Literal', - value: 1, - raw: '1', - range: [1, 2], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 2 } - } - }, - right: { - type: 'Literal', - value: 2, - raw: '2', - range: [7, 8], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 8 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - right: { - type: 'Literal', - value: 3, - raw: '3', - range: [14, 15], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 15 } - } - }, - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 15 } - } - }, - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 15 } - } - }, - - '4 + 5 << (6)': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '<<', - left: { - type: 'BinaryExpression', - operator: '+', - left: { - type: 'Literal', - value: 4, - raw: '4', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Literal', - value: 5, - raw: '5', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Literal', - value: 6, - raw: '6', - range: [10, 11], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - } - - }, - - 'Array Initializer': { - - 'x = []': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ArrayExpression', - elements: [], - range: [4, 6], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }], - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - }, - tokens: [{ - type: 'Identifier', - value: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, { - type: 'Punctuator', - value: '=', - range: [2, 3], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 3 } - } - }, { - type: 'Punctuator', - value: '[', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, { - type: 'Punctuator', - value: ']', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }] - }, - - 'x = [ ]': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ArrayExpression', - elements: [], - range: [4, 7], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - 'x = [ 42 ]': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ArrayExpression', - elements: [{ - type: 'Literal', - value: 42, - raw: '42', - range: [6, 8], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 8 } - } - }], - range: [4, 10], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 10 } - } - }, - range: [0, 10], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 10 } - } - }, - range: [0, 10], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 10 } - } - }, - - 'x = [ 42, ]': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ArrayExpression', - elements: [{ - type: 'Literal', - value: 42, - raw: '42', - range: [6, 8], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 8 } - } - }], - range: [4, 11], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - - 'x = [ ,, 42 ]': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ArrayExpression', - elements: [ - null, - null, - { - type: 'Literal', - value: 42, - raw: '42', - range: [9, 11], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 11 } - } - }], - range: [4, 13], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 13 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - - 'x = [ 1, 2, 3, ]': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ArrayExpression', - elements: [{ - type: 'Literal', - value: 1, - raw: '1', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, { - type: 'Literal', - value: 2, - raw: '2', - range: [9, 10], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 10 } - } - }, { - type: 'Literal', - value: 3, - raw: '3', - range: [12, 13], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 13 } - } - }], - range: [4, 16], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - - 'x = [ 1, 2,, 3, ]': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ArrayExpression', - elements: [{ - type: 'Literal', - value: 1, - raw: '1', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, { - type: 'Literal', - value: 2, - raw: '2', - range: [9, 10], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 10 } - } - }, null, { - type: 'Literal', - value: 3, - raw: '3', - range: [13, 14], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 14 } - } - }], - range: [4, 17], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 17 } - } - }, - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - } - }, - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - } - }, - - '日本語 = []': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: '日本語', - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - right: { - type: 'ArrayExpression', - elements: [], - range: [6, 8], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 8 } - } - }, - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - - 'T\u203F = []': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'T\u203F', - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - right: { - type: 'ArrayExpression', - elements: [], - range: [5, 7], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - 'T\u200C = []': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'T\u200C', - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - right: { - type: 'ArrayExpression', - elements: [], - range: [5, 7], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - 'T\u200D = []': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'T\u200D', - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - right: { - type: 'ArrayExpression', - elements: [], - range: [5, 7], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - '\u2163\u2161 = []': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: '\u2163\u2161', - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - right: { - type: 'ArrayExpression', - elements: [], - range: [5, 7], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - '\u2163\u2161\u200A=\u2009[]': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: '\u2163\u2161', - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - right: { - type: 'ArrayExpression', - elements: [], - range: [5, 7], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - } - - }, - - 'Object Initializer': { - - 'x = {}': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [], - range: [4, 6], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - 'x = { }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [], - range: [4, 7], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - 'x = { answer: 42 }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'answer', - range: [6, 12], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 12 } - } - }, - value: { - type: 'Literal', - value: 42, - raw: '42', - range: [14, 16], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 16 } - } - }, - kind: 'init', - range: [6, 16], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 16 } - } - }], - range: [4, 18], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 18 } - } - }, - range: [0, 18], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 18 } - } - }, - range: [0, 18], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 18 } - } - }, - - 'x = { if: 42 }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'if', - range: [6, 8], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 8 } - } - }, - value: { - type: 'Literal', - value: 42, - raw: '42', - range: [10, 12], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 12 } - } - }, - kind: 'init', - range: [6, 12], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 12 } - } - }], - range: [4, 14], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - - 'x = { true: 42 }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'true', - range: [6, 10], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 10 } - } - }, - value: { - type: 'Literal', - value: 42, - raw: '42', - range: [12, 14], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 14 } - } - }, - kind: 'init', - range: [6, 14], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 14 } - } - }], - range: [4, 16], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - - 'x = { false: 42 }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'false', - range: [6, 11], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 11 } - } - }, - value: { - type: 'Literal', - value: 42, - raw: '42', - range: [13, 15], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 15 } - } - }, - kind: 'init', - range: [6, 15], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 15 } - } - }], - range: [4, 17], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 17 } - } - }, - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - } - }, - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - } - }, - - 'x = { null: 42 }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'null', - range: [6, 10], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 10 } - } - }, - value: { - type: 'Literal', - value: 42, - raw: '42', - range: [12, 14], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 14 } - } - }, - kind: 'init', - range: [6, 14], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 14 } - } - }], - range: [4, 16], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - - 'x = { "answer": 42 }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Literal', - value: 'answer', - raw: '"answer"', - range: [6, 14], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 14 } - } - }, - value: { - type: 'Literal', - value: 42, - raw: '42', - range: [16, 18], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 18 } - } - }, - kind: 'init', - range: [6, 18], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 18 } - } - }], - range: [4, 20], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 20 } - } - }, - range: [0, 20], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 20 } - } - }, - range: [0, 20], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 20 } - } - }, - - 'x = { x: 1, x: 2 }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [ - { - type: 'Property', - key: { - type: 'Identifier', - name: 'x', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, - value: { - type: 'Literal', - value: 1, - raw: '1', - range: [9, 10], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 10 } - } - }, - kind: 'init', - range: [6, 10], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 10 } - } - }, - { - type: 'Property', - key: { - type: 'Identifier', - name: 'x', - range: [12, 13], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 13 } - } - }, - value: { - type: 'Literal', - value: 2, - raw: '2', - range: [15, 16], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 16 } - } - }, - kind: 'init', - range: [12, 16], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 16 } - } - } - ], - range: [4, 18], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 18 } - } - }, - range: [0, 18], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 18 } - } - }, - range: [0, 18], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 18 } - } - }, - - 'x = { get width() { return m_width } }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'width', - range: [10, 15], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 15 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ReturnStatement', - argument: { - type: 'Identifier', - name: 'm_width', - range: [27, 34], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 34 } - } - }, - range: [20, 35], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 35 } - } - }], - range: [18, 36], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 36 } - } - }, - rest: null, - generator: false, - expression: false, - range: [18, 36], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 36 } - } - }, - kind: 'get', - range: [6, 36], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 36 } - } - }], - range: [4, 38], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 38 } - } - }, - range: [0, 38], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 38 } - } - }, - range: [0, 38], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 38 } - } - }, - - 'x = { get undef() {} }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'undef', - range: [10, 15], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 15 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [18, 20], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 20 } - } - }, - rest: null, - generator: false, - expression: false, - range: [18, 20], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 20 } - } - }, - kind: 'get', - range: [6, 20], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 20 } - } - }], - range: [4, 22], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 22 } - } - }, - range: [0, 22], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 22 } - } - }, - range: [0, 22], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 22 } - } - }, - - 'x = { get if() {} }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'if', - range: [10, 12], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 12 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [15, 17], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 17 } - } - }, - rest: null, - generator: false, - expression: false, - range: [15, 17], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 17 } - } - }, - kind: 'get', - range: [6, 17], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 17 } - } - }], - range: [4, 19], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 19 } - } - }, - range: [0, 19], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 19 } - } - }, - range: [0, 19], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 19 } - } - }, - - 'x = { get true() {} }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'true', - range: [10, 14], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 14 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [17, 19], - loc: { - start: { line: 1, column: 17 }, - end: { line: 1, column: 19 } - } - }, - rest: null, - generator: false, - expression: false, - range: [17, 19], - loc: { - start: { line: 1, column: 17 }, - end: { line: 1, column: 19 } - } - }, - kind: 'get', - range: [6, 19], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 19 } - } - }], - range: [4, 21], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 21 } - } - }, - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - } - }, - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - } - }, - - 'x = { get false() {} }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'false', - range: [10, 15], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 15 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [18, 20], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 20 } - } - }, - rest: null, - generator: false, - expression: false, - range: [18, 20], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 20 } - } - }, - kind: 'get', - range: [6, 20], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 20 } - } - }], - range: [4, 22], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 22 } - } - }, - range: [0, 22], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 22 } - } - }, - range: [0, 22], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 22 } - } - }, - - 'x = { get null() {} }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'null', - range: [10, 14], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 14 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [17, 19], - loc: { - start: { line: 1, column: 17 }, - end: { line: 1, column: 19 } - } - }, - rest: null, - generator: false, - expression: false, - range: [17, 19], - loc: { - start: { line: 1, column: 17 }, - end: { line: 1, column: 19 } - } - }, - kind: 'get', - range: [6, 19], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 19 } - } - }], - range: [4, 21], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 21 } - } - }, - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - } - }, - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - } - }, - - 'x = { get "undef"() {} }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Literal', - value: 'undef', - raw: '"undef"', - range: [10, 17], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 17 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [20, 22], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 22 } - } - }, - rest: null, - generator: false, - expression: false, - range: [20, 22], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 22 } - } - }, - kind: 'get', - range: [6, 22], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 22 } - } - }], - range: [4, 24], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 24 } - } - }, - range: [0, 24], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 24 } - } - }, - range: [0, 24], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 24 } - } - }, - - 'x = { get 10() {} }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Literal', - value: 10, - raw: '10', - range: [10, 12], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 12 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [15, 17], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 17 } - } - }, - rest: null, - generator: false, - expression: false, - range: [15, 17], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 17 } - } - }, - kind: 'get', - range: [6, 17], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 17 } - } - }], - range: [4, 19], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 19 } - } - }, - range: [0, 19], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 19 } - } - }, - range: [0, 19], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 19 } - } - }, - - 'x = { set width(w) { m_width = w } }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'width', - range: [10, 15], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 15 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [{ - type: 'Identifier', - name: 'w', - range: [16, 17], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 17 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'm_width', - range: [21, 28], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 28 } - } - }, - right: { - type: 'Identifier', - name: 'w', - range: [31, 32], - loc: { - start: { line: 1, column: 31 }, - end: { line: 1, column: 32 } - } - }, - range: [21, 32], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 32 } - } - }, - range: [21, 33], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 33 } - } - }], - range: [19, 34], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 34 } - } - }, - rest: null, - generator: false, - expression: false, - range: [19, 34], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 34 } - } - }, - kind: 'set', - range: [6, 34], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 34 } - } - }], - range: [4, 36], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 36 } - } - }, - range: [0, 36], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 36 } - } - }, - range: [0, 36], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 36 } - } - }, - - 'x = { set if(w) { m_if = w } }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'if', - range: [10, 12], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 12 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [{ - type: 'Identifier', - name: 'w', - range: [13, 14], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 14 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'm_if', - range: [18, 22], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 22 } - } - }, - right: { - type: 'Identifier', - name: 'w', - range: [25, 26], - loc: { - start: { line: 1, column: 25 }, - end: { line: 1, column: 26 } - } - }, - range: [18, 26], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 26 } - } - }, - range: [18, 27], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 27 } - } - }], - range: [16, 28], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 28 } - } - }, - rest: null, - generator: false, - expression: false, - range: [16, 28], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 28 } - } - }, - kind: 'set', - range: [6, 28], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 28 } - } - }], - range: [4, 30], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 30 } - } - }, - range: [0, 30], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 30 } - } - }, - range: [0, 30], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 30 } - } - }, - - 'x = { set true(w) { m_true = w } }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'true', - range: [10, 14], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 14 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [{ - type: 'Identifier', - name: 'w', - range: [15, 16], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 16 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'm_true', - range: [20, 26], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 26 } - } - }, - right: { - type: 'Identifier', - name: 'w', - range: [29, 30], - loc: { - start: { line: 1, column: 29 }, - end: { line: 1, column: 30 } - } - }, - range: [20, 30], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 30 } - } - }, - range: [20, 31], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 31 } - } - }], - range: [18, 32], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 32 } - } - }, - rest: null, - generator: false, - expression: false, - range: [18, 32], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 32 } - } - }, - kind: 'set', - range: [6, 32], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 32 } - } - }], - range: [4, 34], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 34 } - } - }, - range: [0, 34], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 34 } - } - }, - range: [0, 34], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 34 } - } - }, - - 'x = { set false(w) { m_false = w } }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'false', - range: [10, 15], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 15 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [{ - type: 'Identifier', - name: 'w', - range: [16, 17], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 17 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'm_false', - range: [21, 28], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 28 } - } - }, - right: { - type: 'Identifier', - name: 'w', - range: [31, 32], - loc: { - start: { line: 1, column: 31 }, - end: { line: 1, column: 32 } - } - }, - range: [21, 32], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 32 } - } - }, - range: [21, 33], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 33 } - } - }], - range: [19, 34], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 34 } - } - }, - rest: null, - generator: false, - expression: false, - range: [19, 34], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 34 } - } - }, - kind: 'set', - range: [6, 34], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 34 } - } - }], - range: [4, 36], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 36 } - } - }, - range: [0, 36], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 36 } - } - }, - range: [0, 36], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 36 } - } - }, - - 'x = { set null(w) { m_null = w } }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'null', - range: [10, 14], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 14 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [{ - type: 'Identifier', - name: 'w', - range: [15, 16], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 16 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'm_null', - range: [20, 26], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 26 } - } - }, - right: { - type: 'Identifier', - name: 'w', - range: [29, 30], - loc: { - start: { line: 1, column: 29 }, - end: { line: 1, column: 30 } - } - }, - range: [20, 30], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 30 } - } - }, - range: [20, 31], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 31 } - } - }], - range: [18, 32], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 32 } - } - }, - rest: null, - generator: false, - expression: false, - range: [18, 32], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 32 } - } - }, - kind: 'set', - range: [6, 32], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 32 } - } - }], - range: [4, 34], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 34 } - } - }, - range: [0, 34], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 34 } - } - }, - range: [0, 34], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 34 } - } - }, - - 'x = { set "null"(w) { m_null = w } }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Literal', - value: 'null', - raw: '"null"', - range: [10, 16], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 16 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [{ - type: 'Identifier', - name: 'w', - range: [17, 18], - loc: { - start: { line: 1, column: 17 }, - end: { line: 1, column: 18 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'm_null', - range: [22, 28], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 28 } - } - }, - right: { - type: 'Identifier', - name: 'w', - range: [31, 32], - loc: { - start: { line: 1, column: 31 }, - end: { line: 1, column: 32 } - } - }, - range: [22, 32], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 32 } - } - }, - range: [22, 33], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 33 } - } - }], - range: [20, 34], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 34 } - } - }, - rest: null, - generator: false, - expression: false, - range: [20, 34], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 34 } - } - }, - kind: 'set', - range: [6, 34], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 34 } - } - }], - range: [4, 36], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 36 } - } - }, - range: [0, 36], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 36 } - } - }, - range: [0, 36], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 36 } - } - }, - - 'x = { set 10(w) { m_null = w } }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Literal', - value: 10, - raw: '10', - range: [10, 12], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 12 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [{ - type: 'Identifier', - name: 'w', - range: [13, 14], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 14 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'm_null', - range: [18, 24], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 24 } - } - }, - right: { - type: 'Identifier', - name: 'w', - range: [27, 28], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 28 } - } - }, - range: [18, 28], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 28 } - } - }, - range: [18, 29], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 29 } - } - }], - range: [16, 30], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 30 } - } - }, - rest: null, - generator: false, - expression: false, - range: [16, 30], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 30 } - } - }, - kind: 'set', - range: [6, 30], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 30 } - } - }], - range: [4, 32], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 32 } - } - }, - range: [0, 32], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 32 } - } - }, - range: [0, 32], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 32 } - } - }, - - 'x = { get: 42 }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'get', - range: [6, 9], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 9 } - } - }, - value: { - type: 'Literal', - value: 42, - raw: '42', - range: [11, 13], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 13 } - } - }, - kind: 'init', - range: [6, 13], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 13 } - } - }], - range: [4, 15], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 15 } - } - }, - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 15 } - } - }, - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 15 } - } - }, - - 'x = { set: 43 }': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'set', - range: [6, 9], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 9 } - } - }, - value: { - type: 'Literal', - value: 43, - raw: '43', - range: [11, 13], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 13 } - } - }, - kind: 'init', - range: [6, 13], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 13 } - } - }], - range: [4, 15], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 15 } - } - }, - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 15 } - } - }, - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 15 } - } - } - - }, - - 'Comments': { - - '/* block comment */ 42': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - range: [20, 22], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 22 } - } - }, - range: [20, 22], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 22 } - } - }, - - '42 /*The*/ /*Answer*/': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - } - }], - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - }, - comments: [{ - type: 'Block', - value: 'The', - range: [3, 10], - loc: { - start: { line: 1, column: 3 }, - end: { line: 1, column: 10 } - } - }, { - type: 'Block', - value: 'Answer', - range: [11, 21], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 21 } - } - }] - }, - - '42 /*the*/ /*answer*/': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - range: [0, 2] - }, - range: [0, 21] - }], - range: [0, 21], - comments: [{ - type: 'Block', - value: 'the', - range: [3, 10] - }, { - type: 'Block', - value: 'answer', - range: [11, 21] - }] - }, - - '/* multiline\ncomment\nshould\nbe\nignored */ 42': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - range: [42, 44], - loc: { - start: { line: 5, column: 11 }, - end: { line: 5, column: 13 } - } - }, - range: [42, 44], - loc: { - start: { line: 5, column: 11 }, - end: { line: 5, column: 13 } - } - }, - - '/*a\r\nb*/ 42': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - range: [9, 11], - loc: { - start: { line: 2, column: 4 }, - end: { line: 2, column: 6 } - } - }, - range: [9, 11], - loc: { - start: { line: 2, column: 4 }, - end: { line: 2, column: 6 } - } - }], - range: [9, 11], - loc: { - start: { line: 2, column: 4 }, - end: { line: 2, column: 6 } - }, - comments: [{ - type: 'Block', - value: 'a\r\nb', - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 3 } - } - }] - }, - - '/*a\rb*/ 42': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - range: [8, 10], - loc: { - start: { line: 2, column: 4 }, - end: { line: 2, column: 6 } - } - }, - range: [8, 10], - loc: { - start: { line: 2, column: 4 }, - end: { line: 2, column: 6 } - } - }], - range: [8, 10], - loc: { - start: { line: 2, column: 4 }, - end: { line: 2, column: 6 } - }, - comments: [{ - type: 'Block', - value: 'a\rb', - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 3 } - } - }] - }, - - '/*a\nb*/ 42': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - range: [8, 10], - loc: { - start: { line: 2, column: 4 }, - end: { line: 2, column: 6 } - } - }, - range: [8, 10], - loc: { - start: { line: 2, column: 4 }, - end: { line: 2, column: 6 } - } - }], - range: [8, 10], - loc: { - start: { line: 2, column: 4 }, - end: { line: 2, column: 6 } - }, - comments: [{ - type: 'Block', - value: 'a\nb', - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 3 } - } - }] - }, - - '/*a\nc*/ 42': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - loc: { - start: { line: 2, column: 4 }, - end: { line: 2, column: 6 } - } - }, - loc: { - start: { line: 2, column: 4 }, - end: { line: 2, column: 6 } - } - }], - loc: { - start: { line: 2, column: 4 }, - end: { line: 2, column: 6 } - }, - comments: [{ - type: 'Block', - value: 'a\nc', - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 3 } - } - }] - }, - - '// line comment\n42': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - range: [16, 18], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 2 } - } - }, - range: [16, 18], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 2 } - } - }, - - '42 // line comment': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - range: [0, 18], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 18 } - } - }], - range: [0, 18], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 18 } - }, - comments: [{ - type: 'Line', - value: ' line comment', - range: [3, 18], - loc: { - start: { line: 1, column: 3 }, - end: { line: 1, column: 18 } - } - }] - }, - - '// Hello, world!\n42': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - range: [17, 19], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 2 } - } - }, - range: [17, 19], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 2 } - } - }], - range: [17, 19], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 2 } - }, - comments: [{ - type: 'Line', - value: ' Hello, world!', - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }] - }, - - '// Hello, world!\n': { - type: 'Program', - body: [], - range: [17, 17], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 0 } - }, - comments: [{ - type: 'Line', - value: ' Hello, world!', - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }] - }, - - '// Hallo, world!\n': { - type: 'Program', - body: [], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 0 } - }, - comments: [{ - type: 'Line', - value: ' Hallo, world!', - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }] - }, - - '//\n42': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - range: [3, 5], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 2 } - } - }, - range: [3, 5], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 2 } - } - }], - range: [3, 5], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 2 } - }, - comments: [{ - type: 'Line', - value: '', - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }] - }, - - '//': { - type: 'Program', - body: [], - range: [2, 2], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 2 } - }, - comments: [{ - type: 'Line', - value: '', - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }] - }, - - '// ': { - type: 'Program', - body: [], - range: [3, 3], - comments: [{ - type: 'Line', - value: ' ', - range: [0, 3] - }] - }, - - '/**/42': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - range: [4, 6], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 6 } - } - }, - range: [4, 6], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 6 } - } - }], - range: [4, 6], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 6 } - }, - comments: [{ - type: 'Block', - value: '', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }] - }, - - '// Hello, world!\n\n// Another hello\n42': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - range: [37, 39], - loc: { - start: { line: 4, column: 0 }, - end: { line: 4, column: 2 } - } - }, - range: [37, 39], - loc: { - start: { line: 4, column: 0 }, - end: { line: 4, column: 2 } - } - }], - range: [37, 39], - loc: { - start: { line: 4, column: 0 }, - end: { line: 4, column: 2 } - }, - comments: [{ - type: 'Line', - value: ' Hello, world!', - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, { - type: 'Line', - value: ' Another hello', - range: [18, 36], - loc: { - start: { line: 3, column: 0 }, - end: { line: 3, column: 18 } - } - }] - }, - - 'if (x) { // Some comment\ndoThat(); }': { - type: 'Program', - body: [{ - type: 'IfStatement', - test: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - consequent: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'doThat', - range: [25, 31], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 6 } - } - }, - 'arguments': [], - range: [25, 33], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 8 } - } - }, - range: [25, 34], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 9 } - } - }], - range: [7, 36], - loc: { - start: { line: 1, column: 7 }, - end: { line: 2, column: 11 } - } - }, - alternate: null, - range: [0, 36], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 11 } - } - }], - range: [0, 36], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 11 } - }, - comments: [{ - type: 'Line', - value: ' Some comment', - range: [9, 24], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 24 } - } - }] - }, - - 'switch (answer) { case 42: /* perfect */ bingo() }': { - type: 'Program', - body: [{ - type: 'SwitchStatement', - discriminant: { - type: 'Identifier', - name: 'answer', - range: [8, 14], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 14 } - } - }, - cases: [{ - type: 'SwitchCase', - test: { - type: 'Literal', - value: 42, - raw: '42', - range: [23, 25], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 25 } - } - }, - consequent: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'bingo', - range: [41, 46], - loc: { - start: { line: 1, column: 41 }, - end: { line: 1, column: 46 } - } - }, - 'arguments': [], - range: [41, 48], - loc: { - start: { line: 1, column: 41 }, - end: { line: 1, column: 48 } - } - }, - range: [41, 49], - loc: { - start: { line: 1, column: 41 }, - end: { line: 1, column: 49 } - } - }], - range: [18, 49], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 49 } - } - }], - range: [0, 50], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 50 } - } - }], - range: [0, 50], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 50 } - }, - comments: [{ - type: 'Block', - value: ' perfect ', - range: [27, 40], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 40 } - } - }] - } - - }, - - 'Numeric Literals': { - - '0': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 0, - raw: '0', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - - '42': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42, - raw: '42', - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - - '3': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 3, - raw: '3', - range: [0, 1] - }, - range: [0, 1] - }], - range: [0, 1], - tokens: [{ - type: 'Numeric', - value: '3', - range: [0, 1] - }] - }, - - '5': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 5, - raw: '5', - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - }, - tokens: [{ - type: 'Numeric', - value: '5', - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }] - }, - - '.14': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 0.14, - raw: '.14', - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - - '3.14159': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 3.14159, - raw: '3.14159', - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - '6.02214179e+23': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 6.02214179e+23, - raw: '6.02214179e+23', - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - - '1.492417830e-10': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 1.49241783e-10, - raw: '1.492417830e-10', - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 15 } - } - }, - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 15 } - } - }, - - '0x0': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 0, - raw: '0x0', - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - - '0e+100': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 0, - raw: '0e+100', - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - '0xabc': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 0xabc, - raw: '0xabc', - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - - '0xdef': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 0xdef, - raw: '0xdef', - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - - '0X1A': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 0x1A, - raw: '0X1A', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - - '0x10': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 0x10, - raw: '0x10', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - - '0x100': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 0x100, - raw: '0x100', - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - - '0X04': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 0X04, - raw: '0X04', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - - '02': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 2, - raw: '02', - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - - '012': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 10, - raw: '012', - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - - '0012': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 10, - raw: '0012', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - } - - }, - - 'String Literals': { - - '"Hello"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'Hello', - raw: '"Hello"', - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - '"\\n\\r\\t\\v\\b\\f\\\\\\\'\\"\\0"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: '\n\r\t\x0B\b\f\\\'"\x00', - raw: '"\\n\\r\\t\\v\\b\\f\\\\\\\'\\"\\0"', - range: [0, 22], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 22 } - } - }, - range: [0, 22], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 22 } - } - }, - - '"\\u0061"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'a', - raw: '"\\u0061"', - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - - '"\\x61"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'a', - raw: '"\\x61"', - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - '"\\u00"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'u00', - raw: '"\\u00"', - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - '"\\xt"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'xt', - raw: '"\\xt"', - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - - '"Hello\\nworld"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'Hello\nworld', - raw: '"Hello\\nworld"', - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - - '"Hello\\\nworld"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'Helloworld', - raw: '"Hello\\\nworld"', - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 14 } - } - }, - - '"Hello\\02World"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'Hello\u0002World', - raw: '"Hello\\02World"', - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 15 } - } - }, - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 15 } - } - }, - - '"Hello\\012World"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'Hello\u000AWorld', - raw: '"Hello\\012World"', - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - - '"Hello\\122World"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'Hello\122World', - raw: '"Hello\\122World"', - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - - '"Hello\\0122World"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'Hello\u000A2World', - raw: '"Hello\\0122World"', - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - } - }, - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - } - }, - - '"Hello\\312World"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'Hello\u00CAWorld', - raw: '"Hello\\312World"', - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - - '"Hello\\412World"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'Hello\412World', - raw: '"Hello\\412World"', - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - - '"Hello\\812World"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'Hello812World', - raw: '"Hello\\812World"', - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - - '"Hello\\712World"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'Hello\712World', - raw: '"Hello\\712World"', - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - - '"Hello\\0World"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'Hello\u0000World', - raw: '"Hello\\0World"', - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - - '"Hello\\\r\nworld"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'Helloworld', - raw: '"Hello\\\r\nworld"', - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 15 } - } - }, - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 15 } - } - }, - - '"Hello\\1World"': { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'Hello\u0001World', - raw: '"Hello\\1World"', - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - } - }, - - 'Regular Expression Literals': { - - 'var x = /[a-z]/i': { - type: 'Program', - body: [{ - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - init: { - type: 'Literal', - value: '/[a-z]/i', - raw: '/[a-z]/i', - range: [8, 16], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 16 } - } - }, - range: [4, 16], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 16 } - } - }], - kind: 'var', - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }], - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - }, - tokens: [{ - type: 'Keyword', - value: 'var', - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, { - type: 'Identifier', - value: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, { - type: 'Punctuator', - value: '=', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, { - type: 'RegularExpression', - value: '/[a-z]/i', - range: [8, 16], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 16 } - } - }] - }, - - 'var x = /[x-z]/i': { - type: 'Program', - body: [{ - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [4, 5] - }, - init: { - type: 'Literal', - value: '/[x-z]/i', - raw: '/[x-z]/i', - range: [8, 16] - }, - range: [4, 16] - }], - kind: 'var', - range: [0, 16] - }], - range: [0, 16], - tokens: [{ - type: 'Keyword', - value: 'var', - range: [0, 3] - }, { - type: 'Identifier', - value: 'x', - range: [4, 5] - }, { - type: 'Punctuator', - value: '=', - range: [6, 7] - }, { - type: 'RegularExpression', - value: '/[x-z]/i', - range: [8, 16] - }] - }, - - 'var x = /[a-c]/i': { - type: 'Program', - body: [{ - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - init: { - type: 'Literal', - value: '/[a-c]/i', - raw: '/[a-c]/i', - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 16 } - } - }, - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 16 } - } - }], - kind: 'var', - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - }, - tokens: [{ - type: 'Keyword', - value: 'var', - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, { - type: 'Identifier', - value: 'x', - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, { - type: 'Punctuator', - value: '=', - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, { - type: 'RegularExpression', - value: '/[a-c]/i', - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 16 } - } - }] - }, - - 'var x = /[P QR]/i': { - type: 'Program', - body: [{ - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - init: { - type: 'Literal', - value: '/[P QR]/i', - raw: '/[P QR]/i', - range: [8, 17], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 17 } - } - }, - range: [4, 17], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 17 } - } - }], - kind: 'var', - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - } - }], - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - }, - tokens: [{ - type: 'Keyword', - value: 'var', - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, { - type: 'Identifier', - value: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, { - type: 'Punctuator', - value: '=', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, { - type: 'RegularExpression', - value: '/[P QR]/i', - range: [8, 17], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 17 } - } - }] - }, - - 'var x = /[\\]/]/': { - type: 'Program', - body: [{ - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - init: { - type: 'Literal', - value: new RegExp('[\\]/]').toString(), - raw: '/[\\]/]/', - range: [8, 15], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 15 } - } - }, - range: [4, 15], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 15 } - } - }], - kind: 'var', - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 15 } - } - }], - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 15 } - }, - tokens: [{ - type: 'Keyword', - value: 'var', - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, { - type: 'Identifier', - value: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, { - type: 'Punctuator', - value: '=', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, { - type: 'RegularExpression', - value: '/[\\]/]/', - range: [8, 15], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 15 } - } - }] - }, - - 'var x = /foo\\/bar/': { - type: 'Program', - body: [{ - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - init: { - type: 'Literal', - value: '/foo\\/bar/', - raw: '/foo\\/bar/', - range: [8, 18], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 18 } - } - }, - range: [4, 18], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 18 } - } - }], - kind: 'var', - range: [0, 18], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 18 } - } - }], - range: [0, 18], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 18 } - }, - tokens: [{ - type: 'Keyword', - value: 'var', - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, { - type: 'Identifier', - value: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, { - type: 'Punctuator', - value: '=', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, { - type: 'RegularExpression', - value: '/foo\\/bar/', - range: [8, 18], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 18 } - } - }] - }, - - 'var x = /=([^=\\s])+/g': { - type: 'Program', - body: [{ - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - init: { - type: 'Literal', - value: '/=([^=\\s])+/g', - raw: '/=([^=\\s])+/g', - range: [8, 21], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 21 } - } - }, - range: [4, 21], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 21 } - } - }], - kind: 'var', - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - } - }], - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - }, - tokens: [{ - type: 'Keyword', - value: 'var', - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, { - type: 'Identifier', - value: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, { - type: 'Punctuator', - value: '=', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, { - type: 'RegularExpression', - value: '/=([^=\\s])+/g', - range: [8, 21], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 21 } - } - }] - }, - - 'var x = /[P QR]/\\u0067': { - type: 'Program', - body: [{ - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - init: { - type: 'Literal', - value: '/[P QR]/g', - raw: '/[P QR]/\\u0067', - range: [8, 22], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 22 } - } - }, - range: [4, 22], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 22 } - } - }], - kind: 'var', - range: [0, 22], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 22 } - } - }], - range: [0, 22], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 22 } - }, - tokens: [{ - type: 'Keyword', - value: 'var', - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, { - type: 'Identifier', - value: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, { - type: 'Punctuator', - value: '=', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, { - type: 'RegularExpression', - value: '/[P QR]/\\u0067', - range: [8, 22], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 22 } - } - }] - }, - - 'var x = /[P QR]/\\g': { - type: 'Program', - body: [{ - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - init: { - type: 'Literal', - value: '/[P QR]/g', - raw: '/[P QR]/\\g', - range: [8, 18], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 18 } - } - }, - range: [4, 18], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 18 } - } - }], - kind: 'var', - range: [0, 18], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 18 } - } - }], - range: [0, 18], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 18 } - }, - tokens: [{ - type: 'Keyword', - value: 'var', - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, { - type: 'Identifier', - value: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, { - type: 'Punctuator', - value: '=', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, { - type: 'RegularExpression', - value: '/[P QR]/\\g', - range: [8, 18], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 18 } - } - }] - } - - }, - - 'Left-Hand-Side Expression': { - - 'new Button': { - type: 'ExpressionStatement', - expression: { - type: 'NewExpression', - callee: { - type: 'Identifier', - name: 'Button', - range: [4, 10], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 10 } - } - }, - 'arguments': [], - range: [0, 10], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 10 } - } - }, - range: [0, 10], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 10 } - } - }, - - 'new Button()': { - type: 'ExpressionStatement', - expression: { - type: 'NewExpression', - callee: { - type: 'Identifier', - name: 'Button', - range: [4, 10], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 10 } - } - }, - 'arguments': [], - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - - 'new new foo': { - type: 'ExpressionStatement', - expression: { - type: 'NewExpression', - callee: { - type: 'NewExpression', - callee: { - type: 'Identifier', - name: 'foo', - range: [8, 11], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 11 } - } - }, - 'arguments': [], - range: [4, 11], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 11 } - } - }, - 'arguments': [], - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - - 'new new foo()': { - type: 'ExpressionStatement', - expression: { - type: 'NewExpression', - callee: { - type: 'NewExpression', - callee: { - type: 'Identifier', - name: 'foo', - range: [8, 11], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 11 } - } - }, - 'arguments': [], - range: [4, 13], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 13 } - } - }, - 'arguments': [], - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - - 'new foo().bar()': { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'MemberExpression', - computed: false, - object: { - type: 'NewExpression', - callee: { - type: 'Identifier', - name: 'foo', - range: [4, 7], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 7 } - } - }, - 'arguments': [], - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - property: { - type: 'Identifier', - name: 'bar', - range: [10, 13], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 13 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - 'arguments': [], - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 15 } - } - }, - range: [0, 15], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 15 } - } - }, - - 'new foo[bar]': { - type: 'ExpressionStatement', - expression: { - type: 'NewExpression', - callee: { - type: 'MemberExpression', - computed: true, - object: { - type: 'Identifier', - name: 'foo', - range: [4, 7], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 7 } - } - }, - property: { - type: 'Identifier', - name: 'bar', - range: [8, 11], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 11 } - } - }, - range: [4, 12], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 12 } - } - }, - 'arguments': [], - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - - 'new foo.bar()': { - type: 'ExpressionStatement', - expression: { - type: 'NewExpression', - callee: { - type: 'MemberExpression', - computed: false, - object: { - type: 'Identifier', - name: 'foo', - range: [4, 7], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 7 } - } - }, - property: { - type: 'Identifier', - name: 'bar', - range: [8, 11], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 11 } - } - }, - range: [4, 11], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 11 } - } - }, - 'arguments': [], - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - - '( new foo).bar()': { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'MemberExpression', - computed: false, - object: { - type: 'NewExpression', - callee: { - type: 'Identifier', - name: 'foo', - range: [6, 9], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 9 } - } - }, - 'arguments': [], - range: [2, 9], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 9 } - } - }, - property: { - type: 'Identifier', - name: 'bar', - range: [11, 14], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - 'arguments': [], - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - - 'foo(bar, baz)': { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'foo', - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - 'arguments': [{ - type: 'Identifier', - name: 'bar', - range: [4, 7], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 7 } - } - }, { - type: 'Identifier', - name: 'baz', - range: [9, 12], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 12 } - } - }], - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - - '( foo )()': { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'foo', - range: [5, 8], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 8 } - } - }, - 'arguments': [], - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - - 'universe.milkyway': { - type: 'ExpressionStatement', - expression: { - type: 'MemberExpression', - computed: false, - object: { - type: 'Identifier', - name: 'universe', - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - property: { - type: 'Identifier', - name: 'milkyway', - range: [9, 17], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 17 } - } - }, - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - } - }, - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - } - }, - - 'universe.milkyway.solarsystem': { - type: 'ExpressionStatement', - expression: { - type: 'MemberExpression', - computed: false, - object: { - type: 'MemberExpression', - computed: false, - object: { - type: 'Identifier', - name: 'universe', - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - property: { - type: 'Identifier', - name: 'milkyway', - range: [9, 17], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 17 } - } - }, - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - } - }, - property: { - type: 'Identifier', - name: 'solarsystem', - range: [18, 29], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 29 } - } - }, - range: [0, 29], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 29 } - } - }, - range: [0, 29], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 29 } - } - }, - - 'universe.milkyway.solarsystem.Earth': { - type: 'ExpressionStatement', - expression: { - type: 'MemberExpression', - computed: false, - object: { - type: 'MemberExpression', - computed: false, - object: { - type: 'MemberExpression', - computed: false, - object: { - type: 'Identifier', - name: 'universe', - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - property: { - type: 'Identifier', - name: 'milkyway', - range: [9, 17], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 17 } - } - }, - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - } - }, - property: { - type: 'Identifier', - name: 'solarsystem', - range: [18, 29], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 29 } - } - }, - range: [0, 29], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 29 } - } - }, - property: { - type: 'Identifier', - name: 'Earth', - range: [30, 35], - loc: { - start: { line: 1, column: 30 }, - end: { line: 1, column: 35 } - } - }, - range: [0, 35], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 35 } - } - }, - range: [0, 35], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 35 } - } - }, - - 'universe[galaxyName, otherUselessName]': { - type: 'ExpressionStatement', - expression: { - type: 'MemberExpression', - computed: true, - object: { - type: 'Identifier', - name: 'universe', - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - property: { - type: 'SequenceExpression', - expressions: [{ - type: 'Identifier', - name: 'galaxyName', - range: [9, 19], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 19 } - } - }, { - type: 'Identifier', - name: 'otherUselessName', - range: [21, 37], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 37 } - } - }], - range: [9, 37], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 37 } - } - }, - range: [0, 38], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 38 } - } - }, - range: [0, 38], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 38 } - } - }, - - 'universe[galaxyName]': { - type: 'ExpressionStatement', - expression: { - type: 'MemberExpression', - computed: true, - object: { - type: 'Identifier', - name: 'universe', - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - property: { - type: 'Identifier', - name: 'galaxyName', - range: [9, 19], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 19 } - } - }, - range: [0, 20], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 20 } - } - }, - range: [0, 20], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 20 } - } - }, - - 'universe[42].galaxies': { - type: 'ExpressionStatement', - expression: { - type: 'MemberExpression', - computed: false, - object: { - type: 'MemberExpression', - computed: true, - object: { - type: 'Identifier', - name: 'universe', - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - property: { - type: 'Literal', - value: 42, - raw: '42', - range: [9, 11], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - property: { - type: 'Identifier', - name: 'galaxies', - range: [13, 21], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 21 } - } - }, - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - } - }, - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - } - }, - - 'universe(42).galaxies': { - type: 'ExpressionStatement', - expression: { - type: 'MemberExpression', - computed: false, - object: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'universe', - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - 'arguments': [{ - type: 'Literal', - value: 42, - raw: '42', - range: [9, 11], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 11 } - } - }], - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - property: { - type: 'Identifier', - name: 'galaxies', - range: [13, 21], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 21 } - } - }, - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - } - }, - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - } - }, - - 'universe(42).galaxies(14, 3, 77).milkyway': { - type: 'ExpressionStatement', - expression: { - type: 'MemberExpression', - computed: false, - object: { - type: 'CallExpression', - callee: { - type: 'MemberExpression', - computed: false, - object: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'universe', - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - 'arguments': [{ - type: 'Literal', - value: 42, - raw: '42', - range: [9, 11], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 11 } - } - }], - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - property: { - type: 'Identifier', - name: 'galaxies', - range: [13, 21], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 21 } - } - }, - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - } - }, - 'arguments': [{ - type: 'Literal', - value: 14, - raw: '14', - range: [22, 24], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 24 } - } - }, { - type: 'Literal', - value: 3, - raw: '3', - range: [26, 27], - loc: { - start: { line: 1, column: 26 }, - end: { line: 1, column: 27 } - } - }, { - type: 'Literal', - value: 77, - raw: '77', - range: [29, 31], - loc: { - start: { line: 1, column: 29 }, - end: { line: 1, column: 31 } - } - }], - range: [0, 32], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 32 } - } - }, - property: { - type: 'Identifier', - name: 'milkyway', - range: [33, 41], - loc: { - start: { line: 1, column: 33 }, - end: { line: 1, column: 41 } - } - }, - range: [0, 41], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 41 } - } - }, - range: [0, 41], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 41 } - } - }, - - 'earth.asia.Indonesia.prepareForElection(2014)': { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'MemberExpression', - computed: false, - object: { - type: 'MemberExpression', - computed: false, - object: { - type: 'MemberExpression', - computed: false, - object: { - type: 'Identifier', - name: 'earth', - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - property: { - type: 'Identifier', - name: 'asia', - range: [6, 10], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 10 } - } - }, - range: [0, 10], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 10 } - } - }, - property: { - type: 'Identifier', - name: 'Indonesia', - range: [11, 20], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 20 } - } - }, - range: [0, 20], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 20 } - } - }, - property: { - type: 'Identifier', - name: 'prepareForElection', - range: [21, 39], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 39 } - } - }, - range: [0, 39], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 39 } - } - }, - 'arguments': [{ - type: 'Literal', - value: 2014, - raw: '2014', - range: [40, 44], - loc: { - start: { line: 1, column: 40 }, - end: { line: 1, column: 44 } - } - }], - range: [0, 45], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 45 } - } - }, - range: [0, 45], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 45 } - } - }, - - 'universe.if': { - type: 'ExpressionStatement', - expression: { - type: 'MemberExpression', - computed: false, - object: { - type: 'Identifier', - name: 'universe', - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - property: { - type: 'Identifier', - name: 'if', - range: [9, 11], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - - 'universe.true': { - type: 'ExpressionStatement', - expression: { - type: 'MemberExpression', - computed: false, - object: { - type: 'Identifier', - name: 'universe', - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - property: { - type: 'Identifier', - name: 'true', - range: [9, 13], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 13 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - - 'universe.false': { - type: 'ExpressionStatement', - expression: { - type: 'MemberExpression', - computed: false, - object: { - type: 'Identifier', - name: 'universe', - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - property: { - type: 'Identifier', - name: 'false', - range: [9, 14], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - - 'universe.null': { - type: 'ExpressionStatement', - expression: { - type: 'MemberExpression', - computed: false, - object: { - type: 'Identifier', - name: 'universe', - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - property: { - type: 'Identifier', - name: 'null', - range: [9, 13], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 13 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - } - - }, - - 'Postfix Expressions': { - - 'x++': { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '++', - argument: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - prefix: false, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - - 'x--': { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '--', - argument: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - prefix: false, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - - 'eval++': { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '++', - argument: { - type: 'Identifier', - name: 'eval', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - prefix: false, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - 'eval--': { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '--', - argument: { - type: 'Identifier', - name: 'eval', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - prefix: false, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - 'arguments++': { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '++', - argument: { - type: 'Identifier', - name: 'arguments', - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - prefix: false, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - - 'arguments--': { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '--', - argument: { - type: 'Identifier', - name: 'arguments', - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - prefix: false, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - } - - }, - - 'Unary Operators': { - - '++x': { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '++', - argument: { - type: 'Identifier', - name: 'x', - range: [2, 3], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 3 } - } - }, - prefix: true, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - - '--x': { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '--', - argument: { - type: 'Identifier', - name: 'x', - range: [2, 3], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 3 } - } - }, - prefix: true, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - - '++eval': { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '++', - argument: { - type: 'Identifier', - name: 'eval', - range: [2, 6], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 6 } - } - }, - prefix: true, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - '--eval': { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '--', - argument: { - type: 'Identifier', - name: 'eval', - range: [2, 6], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 6 } - } - }, - prefix: true, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - '++arguments': { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '++', - argument: { - type: 'Identifier', - name: 'arguments', - range: [2, 11], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 11 } - } - }, - prefix: true, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - - '--arguments': { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '--', - argument: { - type: 'Identifier', - name: 'arguments', - range: [2, 11], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 11 } - } - }, - prefix: true, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - - '+x': { - type: 'ExpressionStatement', - expression: { - type: 'UnaryExpression', - operator: '+', - argument: { - type: 'Identifier', - name: 'x', - range: [1, 2], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 2 } - } - }, - prefix: true, - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - - '-x': { - type: 'ExpressionStatement', - expression: { - type: 'UnaryExpression', - operator: '-', - argument: { - type: 'Identifier', - name: 'x', - range: [1, 2], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 2 } - } - }, - prefix: true, - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - - '~x': { - type: 'ExpressionStatement', - expression: { - type: 'UnaryExpression', - operator: '~', - argument: { - type: 'Identifier', - name: 'x', - range: [1, 2], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 2 } - } - }, - prefix: true, - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - - '!x': { - type: 'ExpressionStatement', - expression: { - type: 'UnaryExpression', - operator: '!', - argument: { - type: 'Identifier', - name: 'x', - range: [1, 2], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 2 } - } - }, - prefix: true, - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - }, - - 'void x': { - type: 'ExpressionStatement', - expression: { - type: 'UnaryExpression', - operator: 'void', - argument: { - type: 'Identifier', - name: 'x', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - prefix: true, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - 'delete x': { - type: 'ExpressionStatement', - expression: { - type: 'UnaryExpression', - operator: 'delete', - argument: { - type: 'Identifier', - name: 'x', - range: [7, 8], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 8 } - } - }, - prefix: true, - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - - 'typeof x': { - type: 'ExpressionStatement', - expression: { - type: 'UnaryExpression', - operator: 'typeof', - argument: { - type: 'Identifier', - name: 'x', - range: [7, 8], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 8 } - } - }, - prefix: true, - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - } - - }, - - 'Multiplicative Operators': { - - 'x * y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '*', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - - 'x / y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '/', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - - 'x % y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '%', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - } - - }, - - 'Additive Operators': { - - 'x + y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '+', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - - 'x - y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '-', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - } - - }, - - 'Bitwise Shift Operator': { - - 'x << y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '<<', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - 'x >> y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '>>', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - 'x >>> y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '>>>', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - } - - }, - - 'Relational Operators': { - - 'x < y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '<', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - - 'x > y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '>', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - - 'x <= y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '<=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - 'x >= y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '>=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - 'x in y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: 'in', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - 'x instanceof y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: 'instanceof', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [13, 14], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - - 'x < y < z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '<', - left: { - type: 'BinaryExpression', - operator: '<', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - } - - }, - - 'Equality Operators': { - - 'x == y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '==', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - 'x != y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '!=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - 'x === y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '===', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - 'x !== y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '!==', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - } - - }, - - 'Binary Bitwise Operators': { - - 'x & y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '&', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - - 'x ^ y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '^', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - - 'x | y': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '|', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - } - - }, - - 'Binary Expressions': { - - 'x + y + z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '+', - left: { - type: 'BinaryExpression', - operator: '+', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x - y + z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '+', - left: { - type: 'BinaryExpression', - operator: '-', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x + y - z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '-', - left: { - type: 'BinaryExpression', - operator: '+', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x - y - z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '-', - left: { - type: 'BinaryExpression', - operator: '-', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x + y * z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '+', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'BinaryExpression', - operator: '*', - left: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [4, 9], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x + y / z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '+', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'BinaryExpression', - operator: '/', - left: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [4, 9], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x - y % z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '-', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'BinaryExpression', - operator: '%', - left: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [4, 9], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x * y * z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '*', - left: { - type: 'BinaryExpression', - operator: '*', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x * y / z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '/', - left: { - type: 'BinaryExpression', - operator: '*', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x * y % z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '%', - left: { - type: 'BinaryExpression', - operator: '*', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x % y * z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '*', - left: { - type: 'BinaryExpression', - operator: '%', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x << y << z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '<<', - left: { - type: 'BinaryExpression', - operator: '<<', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [10, 11], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - - 'x | y | z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '|', - left: { - type: 'BinaryExpression', - operator: '|', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x & y & z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '&', - left: { - type: 'BinaryExpression', - operator: '&', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x ^ y ^ z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '^', - left: { - type: 'BinaryExpression', - operator: '^', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x & y | z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '|', - left: { - type: 'BinaryExpression', - operator: '&', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x | y ^ z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '|', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'BinaryExpression', - operator: '^', - left: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [4, 9], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x | y & z': { - type: 'ExpressionStatement', - expression: { - type: 'BinaryExpression', - operator: '|', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'BinaryExpression', - operator: '&', - left: { - type: 'Identifier', - name: 'y', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [4, 9], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - } - - }, - - 'Binary Logical Operators': { - - 'x || y': { - type: 'ExpressionStatement', - expression: { - type: 'LogicalExpression', - operator: '||', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - 'x && y': { - type: 'ExpressionStatement', - expression: { - type: 'LogicalExpression', - operator: '&&', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - 'x || y || z': { - type: 'ExpressionStatement', - expression: { - type: 'LogicalExpression', - operator: '||', - left: { - type: 'LogicalExpression', - operator: '||', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [10, 11], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - - 'x && y && z': { - type: 'ExpressionStatement', - expression: { - type: 'LogicalExpression', - operator: '&&', - left: { - type: 'LogicalExpression', - operator: '&&', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [10, 11], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - - 'x || y && z': { - type: 'ExpressionStatement', - expression: { - type: 'LogicalExpression', - operator: '||', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'LogicalExpression', - operator: '&&', - left: { - type: 'Identifier', - name: 'y', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [10, 11], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 11 } - } - }, - range: [5, 11], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - - 'x || y ^ z': { - type: 'ExpressionStatement', - expression: { - type: 'LogicalExpression', - operator: '||', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'BinaryExpression', - operator: '^', - left: { - type: 'Identifier', - name: 'y', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - right: { - type: 'Identifier', - name: 'z', - range: [9, 10], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 10 } - } - }, - range: [5, 10], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 10 } - } - }, - range: [0, 10], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 10 } - } - }, - range: [0, 10], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 10 } - } - } - - }, - - 'Conditional Operator': { - - 'y ? 1 : 2': { - type: 'ExpressionStatement', - expression: { - type: 'ConditionalExpression', - test: { - type: 'Identifier', - name: 'y', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - consequent: { - type: 'Literal', - value: 1, - raw: '1', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - alternate: { - type: 'Literal', - value: 2, - raw: '2', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x && y ? 1 : 2': { - type: 'ExpressionStatement', - expression: { - type: 'ConditionalExpression', - test: { - type: 'LogicalExpression', - operator: '&&', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - consequent: { - type: 'Literal', - value: 1, - raw: '1', - range: [9, 10], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 10 } - } - }, - alternate: { - type: 'Literal', - value: 2, - raw: '2', - range: [13, 14], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - } - - }, - - 'Assignment Operators': { - - 'x = 42': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [4, 6], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - 'eval = 42': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'eval', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [7, 9], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'arguments = 42': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'arguments', - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [12, 14], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - - 'x *= 42': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '*=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [5, 7], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - 'x /= 42': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '/=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [5, 7], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - 'x %= 42': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '%=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [5, 7], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - 'x += 42': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '+=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [5, 7], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - 'x -= 42': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '-=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [5, 7], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - 'x <<= 42': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '<<=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [6, 8], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 8 } - } - }, - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - - 'x >>= 42': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '>>=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [6, 8], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 8 } - } - }, - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - - 'x >>>= 42': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '>>>=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [7, 9], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'x &= 42': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '&=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [5, 7], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - 'x ^= 42': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '^=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [5, 7], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - 'x |= 42': { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '|=', - left: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [5, 7], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - } - - }, - - 'Block': { - - '{ foo }': { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'foo', - range: [2, 5], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 5 } - } - }, - range: [2, 6], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 6 } - } - }], - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - '{ doThis(); doThat(); }': { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'doThis', - range: [2, 8], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 8 } - } - }, - 'arguments': [], - range: [2, 10], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 10 } - } - }, - range: [2, 11], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 11 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'doThat', - range: [12, 18], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 18 } - } - }, - 'arguments': [], - range: [12, 20], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 20 } - } - }, - range: [12, 21], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 21 } - } - }], - range: [0, 23], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 23 } - } - }, - - '{}': { - type: 'BlockStatement', - body: [], - range: [0, 2], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 2 } - } - } - - }, - - 'Variable Statement': { - - 'var x': { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - init: null, - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }], - kind: 'var', - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - - 'var x, y;': { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - init: null, - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, { - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'y', - range: [7, 8], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 8 } - } - }, - init: null, - range: [7, 8], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 8 } - } - }], - kind: 'var', - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'var x = 42': { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - init: { - type: 'Literal', - value: 42, - raw: '42', - range: [8, 10], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 10 } - } - }, - range: [4, 10], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 10 } - } - }], - kind: 'var', - range: [0, 10], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 10 } - } - }, - - 'var eval = 42, arguments = 42': { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'eval', - range: [4, 8], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 8 } - } - }, - init: { - type: 'Literal', - value: 42, - raw: '42', - range: [11, 13], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 13 } - } - }, - range: [4, 13], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 13 } - } - }, { - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'arguments', - range: [15, 24], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 24 } - } - }, - init: { - type: 'Literal', - value: 42, - raw: '42', - range: [27, 29], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 29 } - } - }, - range: [15, 29], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 29 } - } - }], - kind: 'var', - range: [0, 29], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 29 } - } - }, - - 'var x = 14, y = 3, z = 1977': { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - init: { - type: 'Literal', - value: 14, - raw: '14', - range: [8, 10], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 10 } - } - }, - range: [4, 10], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 10 } - } - }, { - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'y', - range: [12, 13], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 13 } - } - }, - init: { - type: 'Literal', - value: 3, - raw: '3', - range: [16, 17], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 17 } - } - }, - range: [12, 17], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 17 } - } - }, { - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'z', - range: [19, 20], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 20 } - } - }, - init: { - type: 'Literal', - value: 1977, - raw: '1977', - range: [23, 27], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 27 } - } - }, - range: [19, 27], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 27 } - } - }], - kind: 'var', - range: [0, 27], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 27 } - } - }, - - 'var implements, interface, package': { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'implements', - range: [4, 14], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 14 } - } - }, - init: null, - range: [4, 14], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 14 } - } - }, { - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'interface', - range: [16, 25], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 25 } - } - }, - init: null, - range: [16, 25], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 25 } - } - }, { - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'package', - range: [27, 34], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 34 } - } - }, - init: null, - range: [27, 34], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 34 } - } - }], - kind: 'var', - range: [0, 34], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 34 } - } - }, - - 'var private, protected, public, static': { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'private', - range: [4, 11], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 11 } - } - }, - init: null, - range: [4, 11], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 11 } - } - }, { - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'protected', - range: [13, 22], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 22 } - } - }, - init: null, - range: [13, 22], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 22 } - } - }, { - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'public', - range: [24, 30], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 30 } - } - }, - init: null, - range: [24, 30], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 30 } - } - }, { - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'static', - range: [32, 38], - loc: { - start: { line: 1, column: 32 }, - end: { line: 1, column: 38 } - } - }, - init: null, - range: [32, 38], - loc: { - start: { line: 1, column: 32 }, - end: { line: 1, column: 38 } - } - }], - kind: 'var', - range: [0, 38], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 38 } - } - } - - }, - - 'Let Statement': { - - 'let x': { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - init: null, - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }], - kind: 'let', - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - - '{ let x }': { - type: 'BlockStatement', - body: [{ - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, - init: null, - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }], - kind: 'let', - range: [2, 8], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 8 } - } - }], - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - '{ let x = 42 }': { - type: 'BlockStatement', - body: [{ - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, - init: { - type: 'Literal', - value: 42, - raw: '42', - range: [10, 12], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 12 } - } - }, - range: [6, 12], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 12 } - } - }], - kind: 'let', - range: [2, 13], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 13 } - } - }], - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - }, - - '{ let x = 14, y = 3, z = 1977 }': { - type: 'BlockStatement', - body: [{ - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, - init: { - type: 'Literal', - value: 14, - raw: '14', - range: [10, 12], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 12 } - } - }, - range: [6, 12], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 12 } - } - }, { - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'y', - range: [14, 15], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 15 } - } - }, - init: { - type: 'Literal', - value: 3, - raw: '3', - range: [18, 19], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 19 } - } - }, - range: [14, 19], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 19 } - } - }, { - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'z', - range: [21, 22], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 22 } - } - }, - init: { - type: 'Literal', - value: 1977, - raw: '1977', - range: [25, 29], - loc: { - start: { line: 1, column: 25 }, - end: { line: 1, column: 29 } - } - }, - range: [21, 29], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 29 } - } - }], - kind: 'let', - range: [2, 30], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 30 } - } - }], - range: [0, 31], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 31 } - } - } - - }, - - 'Const Statement': { - - 'const x = 42': { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, - init: { - type: 'Literal', - value: 42, - raw: '42', - range: [10, 12], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 12 } - } - }, - range: [6, 12], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 12 } - } - }], - kind: 'const', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - - '{ const x = 42 }': { - type: 'BlockStatement', - body: [{ - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - init: { - type: 'Literal', - value: 42, - raw: '42', - range: [12, 14], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 14 } - } - }, - range: [8, 14], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 14 } - } - }], - kind: 'const', - range: [2, 15], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 15 } - } - }], - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - - '{ const x = 14, y = 3, z = 1977 }': { - type: 'BlockStatement', - body: [{ - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - init: { - type: 'Literal', - value: 14, - raw: '14', - range: [12, 14], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 14 } - } - }, - range: [8, 14], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 14 } - } - }, { - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'y', - range: [16, 17], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 17 } - } - }, - init: { - type: 'Literal', - value: 3, - raw: '3', - range: [20, 21], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 21 } - } - }, - range: [16, 21], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 21 } - } - }, { - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'z', - range: [23, 24], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 24 } - } - }, - init: { - type: 'Literal', - value: 1977, - raw: '1977', - range: [27, 31], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 31 } - } - }, - range: [23, 31], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 31 } - } - }], - kind: 'const', - range: [2, 32], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 32 } - } - }], - range: [0, 33], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 33 } - } - } - - }, - - 'Empty Statement': { - - ';': { - type: 'EmptyStatement', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - } - - }, - - 'Expression Statement': { - - 'x': { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - - 'x, y': { - type: 'ExpressionStatement', - expression: { - type: 'SequenceExpression', - expressions: [{ - type: 'Identifier', - name: 'x', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, { - type: 'Identifier', - name: 'y', - range: [3, 4], - loc: { - start: { line: 1, column: 3 }, - end: { line: 1, column: 4 } - } - }], - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - - '\\u0061': { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'a', - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }, - - 'a\\u0061': { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'aa', - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 7], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 7 } - } - }, - - '\\ua': { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'ua', - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - - 'a\\u': { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'au', - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - } - - }, - - 'If Statement': { - - 'if (morning) goodMorning()': { - type: 'IfStatement', - test: { - type: 'Identifier', - name: 'morning', - range: [4, 11], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 11 } - } - }, - consequent: { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'goodMorning', - range: [13, 24], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 24 } - } - }, - 'arguments': [], - range: [13, 26], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 26 } - } - }, - range: [13, 26], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 26 } - } - }, - alternate: null, - range: [0, 26], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 26 } - } - }, - - 'if (morning) (function(){})': { - type: 'IfStatement', - test: { - type: 'Identifier', - name: 'morning', - range: [4, 11], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 11 } - } - }, - consequent: { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [24, 26], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 26 } - } - }, - rest: null, - generator: false, - expression: false, - range: [14, 26], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 26 } - } - }, - range: [13, 27], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 27 } - } - }, - alternate: null, - range: [0, 27], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 27 } - } - }, - - 'if (morning) var x = 0;': { - type: 'IfStatement', - test: { - type: 'Identifier', - name: 'morning', - range: [4, 11], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 11 } - } - }, - consequent: { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [17, 18], - loc: { - start: { line: 1, column: 17 }, - end: { line: 1, column: 18 } - } - }, - init: { - type: 'Literal', - value: 0, - raw: '0', - range: [21, 22], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 22 } - } - }, - range: [17, 22], - loc: { - start: { line: 1, column: 17 }, - end: { line: 1, column: 22 } - } - }], - kind: 'var', - range: [13, 23], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 23 } - } - }, - alternate: null, - range: [0, 23], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 23 } - } - }, - - 'if (morning) function a(){}': { - type: 'IfStatement', - test: { - type: 'Identifier', - name: 'morning', - range: [4, 11], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 11 } - } - }, - consequent: { - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'a', - range: [22, 23], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 23 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [25, 27], - loc: { - start: { line: 1, column: 25 }, - end: { line: 1, column: 27 } - } - }, - rest: null, - generator: false, - expression: false, - range: [13, 27], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 27 } - } - }, - alternate: null, - range: [0, 27], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 27 } - } - }, - - 'if (morning) goodMorning(); else goodDay()': { - type: 'IfStatement', - test: { - type: 'Identifier', - name: 'morning', - range: [4, 11], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 11 } - } - }, - consequent: { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'goodMorning', - range: [13, 24], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 24 } - } - }, - 'arguments': [], - range: [13, 26], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 26 } - } - }, - range: [13, 27], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 27 } - } - }, - alternate: { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'goodDay', - range: [33, 40], - loc: { - start: { line: 1, column: 33 }, - end: { line: 1, column: 40 } - } - }, - 'arguments': [], - range: [33, 42], - loc: { - start: { line: 1, column: 33 }, - end: { line: 1, column: 42 } - } - }, - range: [33, 42], - loc: { - start: { line: 1, column: 33 }, - end: { line: 1, column: 42 } - } - }, - range: [0, 42], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 42 } - } - } - - }, - - 'Iteration Statements': { - - 'do keep(); while (true)': { - type: 'DoWhileStatement', - body: { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'keep', - range: [3, 7], - loc: { - start: { line: 1, column: 3 }, - end: { line: 1, column: 7 } - } - }, - 'arguments': [], - range: [3, 9], - loc: { - start: { line: 1, column: 3 }, - end: { line: 1, column: 9 } - } - }, - range: [3, 10], - loc: { - start: { line: 1, column: 3 }, - end: { line: 1, column: 10 } - } - }, - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [18, 22], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 22 } - } - }, - range: [0, 23], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 23 } - } - }, - - 'do keep(); while (true);': { - type: 'DoWhileStatement', - body: { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'keep', - range: [3, 7], - loc: { - start: { line: 1, column: 3 }, - end: { line: 1, column: 7 } - } - }, - 'arguments': [], - range: [3, 9], - loc: { - start: { line: 1, column: 3 }, - end: { line: 1, column: 9 } - } - }, - range: [3, 10], - loc: { - start: { line: 1, column: 3 }, - end: { line: 1, column: 10 } - } - }, - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [18, 22], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 22 } - } - }, - range: [0, 24], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 24 } - } - }, - - 'do { x++; y--; } while (x < 10)': { - type: 'DoWhileStatement', - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '++', - argument: { - type: 'Identifier', - name: 'x', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - prefix: false, - range: [5, 8], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 8 } - } - }, - range: [5, 9], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 9 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '--', - argument: { - type: 'Identifier', - name: 'y', - range: [10, 11], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 11 } - } - }, - prefix: false, - range: [10, 13], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 13 } - } - }, - range: [10, 14], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 14 } - } - }], - range: [3, 16], - loc: { - start: { line: 1, column: 3 }, - end: { line: 1, column: 16 } - } - }, - test: { - type: 'BinaryExpression', - operator: '<', - left: { - type: 'Identifier', - name: 'x', - range: [24, 25], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 25 } - } - }, - right: { - type: 'Literal', - value: 10, - raw: '10', - range: [28, 30], - loc: { - start: { line: 1, column: 28 }, - end: { line: 1, column: 30 } - } - }, - range: [24, 30], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 30 } - } - }, - range: [0, 31], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 31 } - } - }, - - '{ do { } while (false) false }': { - type: 'BlockStatement', - body: [{ - type: 'DoWhileStatement', - body: { - type: 'BlockStatement', - body: [], - range: [5, 8], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 8 } - } - }, - test: { - type: 'Literal', - value: false, - raw: 'false', - range: [16, 21], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 21 } - } - }, - range: [2, 22], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 22 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: false, - raw: 'false', - range: [23, 28], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 28 } - } - }, - range: [23, 29], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 29 } - } - }], - range: [0, 30], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 30 } - } - }, - - 'while (true) doSomething()': { - type: 'WhileStatement', - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [7, 11], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 11 } - } - }, - body: { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'doSomething', - range: [13, 24], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 24 } - } - }, - 'arguments': [], - range: [13, 26], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 26 } - } - }, - range: [13, 26], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 26 } - } - }, - range: [0, 26], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 26 } - } - }, - - 'while (x < 10) { x++; y--; }': { - type: 'WhileStatement', - test: { - type: 'BinaryExpression', - operator: '<', - left: { - type: 'Identifier', - name: 'x', - range: [7, 8], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 8 } - } - }, - right: { - type: 'Literal', - value: 10, - raw: '10', - range: [11, 13], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 13 } - } - }, - range: [7, 13], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 13 } - } - }, - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '++', - argument: { - type: 'Identifier', - name: 'x', - range: [17, 18], - loc: { - start: { line: 1, column: 17 }, - end: { line: 1, column: 18 } - } - }, - prefix: false, - range: [17, 20], - loc: { - start: { line: 1, column: 17 }, - end: { line: 1, column: 20 } - } - }, - range: [17, 21], - loc: { - start: { line: 1, column: 17 }, - end: { line: 1, column: 21 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '--', - argument: { - type: 'Identifier', - name: 'y', - range: [22, 23], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 23 } - } - }, - prefix: false, - range: [22, 25], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 25 } - } - }, - range: [22, 26], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 26 } - } - }], - range: [15, 28], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 28 } - } - }, - range: [0, 28], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 28 } - } - }, - - 'for(;;);': { - type: 'ForStatement', - init: null, - test: null, - update: null, - body: { - type: 'EmptyStatement', - range: [7, 8], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 8 } - } - }, - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - - 'for(;;){}': { - type: 'ForStatement', - init: null, - test: null, - update: null, - body: { - type: 'BlockStatement', - body: [], - range: [7, 9], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 9 } - } - }, - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - }, - - 'for(x = 0;;);': { - type: 'ForStatement', - init: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Literal', - value: 0, - raw: '0', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [4, 9], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 9 } - } - }, - test: null, - update: null, - body: { - type: 'EmptyStatement', - range: [12, 13], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 13 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - - 'for(var x = 0;;);': { - type: 'ForStatement', - init: { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - init: { - type: 'Literal', - value: 0, - raw: '0', - range: [12, 13], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 13 } - } - }, - range: [8, 13], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 13 } - } - }], - kind: 'var', - range: [4, 13], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 13 } - } - }, - test: null, - update: null, - body: { - type: 'EmptyStatement', - range: [16, 17], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 17 } - } - }, - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - } - }, - - 'for(let x = 0;;);': { - type: 'ForStatement', - init: { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - init: { - type: 'Literal', - value: 0, - raw: '0', - range: [12, 13], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 13 } - } - }, - range: [8, 13], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 13 } - } - }], - kind: 'let', - range: [4, 13], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 13 } - } - }, - test: null, - update: null, - body: { - type: 'EmptyStatement', - range: [16, 17], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 17 } - } - }, - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - } - }, - - 'for(var x = 0, y = 1;;);': { - type: 'ForStatement', - init: { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - init: { - type: 'Literal', - value: 0, - raw: '0', - range: [12, 13], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 13 } - } - }, - range: [8, 13], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 13 } - } - }, { - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'y', - range: [15, 16], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 16 } - } - }, - init: { - type: 'Literal', - value: 1, - raw: '1', - range: [19, 20], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 20 } - } - }, - range: [15, 20], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 20 } - } - }], - kind: 'var', - range: [4, 20], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 20 } - } - }, - test: null, - update: null, - body: { - type: 'EmptyStatement', - range: [23, 24], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 24 } - } - }, - range: [0, 24], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 24 } - } - }, - - 'for(x = 0; x < 42;);': { - type: 'ForStatement', - init: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Literal', - value: 0, - raw: '0', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [4, 9], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 9 } - } - }, - test: { - type: 'BinaryExpression', - operator: '<', - left: { - type: 'Identifier', - name: 'x', - range: [11, 12], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 12 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [15, 17], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 17 } - } - }, - range: [11, 17], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 17 } - } - }, - update: null, - body: { - type: 'EmptyStatement', - range: [19, 20], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 20 } - } - }, - range: [0, 20], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 20 } - } - }, - - 'for(x = 0; x < 42; x++);': { - type: 'ForStatement', - init: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Literal', - value: 0, - raw: '0', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [4, 9], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 9 } - } - }, - test: { - type: 'BinaryExpression', - operator: '<', - left: { - type: 'Identifier', - name: 'x', - range: [11, 12], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 12 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [15, 17], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 17 } - } - }, - range: [11, 17], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 17 } - } - }, - update: { - type: 'UpdateExpression', - operator: '++', - argument: { - type: 'Identifier', - name: 'x', - range: [19, 20], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 20 } - } - }, - prefix: false, - range: [19, 22], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 22 } - } - }, - body: { - type: 'EmptyStatement', - range: [23, 24], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 24 } - } - }, - range: [0, 24], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 24 } - } - }, - - 'for(x = 0; x < 42; x++) process(x);': { - type: 'ForStatement', - init: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Literal', - value: 0, - raw: '0', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - range: [4, 9], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 9 } - } - }, - test: { - type: 'BinaryExpression', - operator: '<', - left: { - type: 'Identifier', - name: 'x', - range: [11, 12], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 12 } - } - }, - right: { - type: 'Literal', - value: 42, - raw: '42', - range: [15, 17], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 17 } - } - }, - range: [11, 17], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 17 } - } - }, - update: { - type: 'UpdateExpression', - operator: '++', - argument: { - type: 'Identifier', - name: 'x', - range: [19, 20], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 20 } - } - }, - prefix: false, - range: [19, 22], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 22 } - } - }, - body: { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'process', - range: [24, 31], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 31 } - } - }, - 'arguments': [{ - type: 'Identifier', - name: 'x', - range: [32, 33], - loc: { - start: { line: 1, column: 32 }, - end: { line: 1, column: 33 } - } - }], - range: [24, 34], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 34 } - } - }, - range: [24, 35], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 35 } - } - }, - range: [0, 35], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 35 } - } - }, - - 'for(x in list) process(x);': { - type: 'ForInStatement', - left: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - right: { - type: 'Identifier', - name: 'list', - range: [9, 13], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 13 } - } - }, - body: { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'process', - range: [15, 22], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 22 } - } - }, - 'arguments': [{ - type: 'Identifier', - name: 'x', - range: [23, 24], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 24 } - } - }], - range: [15, 25], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 25 } - } - }, - range: [15, 26], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 26 } - } - }, - each: false, - range: [0, 26], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 26 } - } - }, - - 'for (var x in list) process(x);': { - type: 'ForInStatement', - left: { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [9, 10], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 10 } - } - }, - init: null, - range: [9, 10], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 10 } - } - }], - kind: 'var', - range: [5, 10], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 10 } - } - }, - right: { - type: 'Identifier', - name: 'list', - range: [14, 18], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 18 } - } - }, - body: { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'process', - range: [20, 27], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 27 } - } - }, - 'arguments': [{ - type: 'Identifier', - name: 'x', - range: [28, 29], - loc: { - start: { line: 1, column: 28 }, - end: { line: 1, column: 29 } - } - }], - range: [20, 30], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 30 } - } - }, - range: [20, 31], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 31 } - } - }, - each: false, - range: [0, 31], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 31 } - } - }, - - 'for (var x = 42 in list) process(x);': { - type: 'ForInStatement', - left: { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [9, 10], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 10 } - } - }, - init: { - type: 'Literal', - value: 42, - raw: '42', - range: [13, 15], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 15 } - } - }, - range: [9, 15], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 15 } - } - }], - kind: 'var', - range: [5, 15], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 15 } - } - }, - right: { - type: 'Identifier', - name: 'list', - range: [19, 23], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 23 } - } - }, - body: { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'process', - range: [25, 32], - loc: { - start: { line: 1, column: 25 }, - end: { line: 1, column: 32 } - } - }, - 'arguments': [{ - type: 'Identifier', - name: 'x', - range: [33, 34], - loc: { - start: { line: 1, column: 33 }, - end: { line: 1, column: 34 } - } - }], - range: [25, 35], - loc: { - start: { line: 1, column: 25 }, - end: { line: 1, column: 35 } - } - }, - range: [25, 36], - loc: { - start: { line: 1, column: 25 }, - end: { line: 1, column: 36 } - } - }, - each: false, - range: [0, 36], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 36 } - } - }, - - 'for (let x in list) process(x);': { - type: 'ForInStatement', - left: { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [9, 10], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 10 } - } - }, - init: null, - range: [9, 10], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 10 } - } - }], - kind: 'let', - range: [5, 10], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 10 } - } - }, - right: { - type: 'Identifier', - name: 'list', - range: [14, 18], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 18 } - } - }, - body: { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'process', - range: [20, 27], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 27 } - } - }, - 'arguments': [{ - type: 'Identifier', - name: 'x', - range: [28, 29], - loc: { - start: { line: 1, column: 28 }, - end: { line: 1, column: 29 } - } - }], - range: [20, 30], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 30 } - } - }, - range: [20, 31], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 31 } - } - }, - each: false, - range: [0, 31], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 31 } - } - }, - - 'for (let x = 42 in list) process(x);': { - type: 'ForInStatement', - left: { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [9, 10], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 10 } - } - }, - init: { - type: 'Literal', - value: 42, - raw: '42', - range: [13, 15], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 15 } - } - }, - range: [9, 15], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 15 } - } - }], - kind: 'let', - range: [5, 15], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 15 } - } - }, - right: { - type: 'Identifier', - name: 'list', - range: [19, 23], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 23 } - } - }, - body: { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'process', - range: [25, 32], - loc: { - start: { line: 1, column: 25 }, - end: { line: 1, column: 32 } - } - }, - 'arguments': [{ - type: 'Identifier', - name: 'x', - range: [33, 34], - loc: { - start: { line: 1, column: 33 }, - end: { line: 1, column: 34 } - } - }], - range: [25, 35], - loc: { - start: { line: 1, column: 25 }, - end: { line: 1, column: 35 } - } - }, - range: [25, 36], - loc: { - start: { line: 1, column: 25 }, - end: { line: 1, column: 36 } - } - }, - each: false, - range: [0, 36], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 36 } - } - }, - - 'for (var i = function() { return 10 in [] } in list) process(x);': { - type: 'ForInStatement', - left: { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'i', - range: [9, 10], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 10 } - } - }, - init: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ReturnStatement', - argument: { - type: 'BinaryExpression', - operator: 'in', - left: { - type: 'Literal', - value: 10, - raw: '10', - range: [33, 35], - loc: { - start: { line: 1, column: 33 }, - end: { line: 1, column: 35 } - } - }, - right: { - type: 'ArrayExpression', - elements: [], - range: [39, 41], - loc: { - start: { line: 1, column: 39 }, - end: { line: 1, column: 41 } - } - }, - range: [33, 41], - loc: { - start: { line: 1, column: 33 }, - end: { line: 1, column: 41 } - } - }, - range: [26, 42], - loc: { - start: { line: 1, column: 26 }, - end: { line: 1, column: 42 } - } - }], - range: [24, 43], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 43 } - } - }, - rest: null, - generator: false, - expression: false, - range: [13, 43], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 43 } - } - }, - range: [9, 43], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 43 } - } - }], - kind: 'var', - range: [5, 43], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 43 } - } - }, - right: { - type: 'Identifier', - name: 'list', - range: [47, 51], - loc: { - start: { line: 1, column: 47 }, - end: { line: 1, column: 51 } - } - }, - body: { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'process', - range: [53, 60], - loc: { - start: { line: 1, column: 53 }, - end: { line: 1, column: 60 } - } - }, - 'arguments': [{ - type: 'Identifier', - name: 'x', - range: [61, 62], - loc: { - start: { line: 1, column: 61 }, - end: { line: 1, column: 62 } - } - }], - range: [53, 63], - loc: { - start: { line: 1, column: 53 }, - end: { line: 1, column: 63 } - } - }, - range: [53, 64], - loc: { - start: { line: 1, column: 53 }, - end: { line: 1, column: 64 } - } - }, - each: false, - range: [0, 64], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 64 } - } - } - - }, - - 'continue statement': { - - 'while (true) { continue; }': { - type: 'WhileStatement', - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [7, 11], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 11 } - } - }, - body: { - type: 'BlockStatement', - body: [ - { - type: 'ContinueStatement', - label: null, - range: [15, 24], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 24 } - } - } - ], - range: [13, 26], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 26 } - } - }, - range: [0, 26], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 26 } - } - }, - - 'while (true) { continue }': { - type: 'WhileStatement', - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [7, 11], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 11 } - } - }, - body: { - type: 'BlockStatement', - body: [ - { - type: 'ContinueStatement', - label: null, - range: [15, 24], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 24 } - } - } - ], - range: [13, 25], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 25 } - } - }, - range: [0, 25], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 25 } - } - }, - - 'done: while (true) { continue done }': { - type: 'LabeledStatement', - label: { - type: 'Identifier', - name: 'done', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - body: { - type: 'WhileStatement', - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [13, 17], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 17 } - } - }, - body: { - type: 'BlockStatement', - body: [ - { - type: 'ContinueStatement', - label: { - type: 'Identifier', - name: 'done', - range: [30, 34], - loc: { - start: { line: 1, column: 30 }, - end: { line: 1, column: 34 } - } - }, - range: [21, 35], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 35 } - } - } - ], - range: [19, 36], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 36 } - } - }, - range: [6, 36], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 36 } - } - }, - range: [0, 36], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 36 } - } - }, - - 'done: while (true) { continue done; }': { - type: 'LabeledStatement', - label: { - type: 'Identifier', - name: 'done', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - body: { - type: 'WhileStatement', - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [13, 17], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 17 } - } - }, - body: { - type: 'BlockStatement', - body: [ - { - type: 'ContinueStatement', - label: { - type: 'Identifier', - name: 'done', - range: [30, 34], - loc: { - start: { line: 1, column: 30 }, - end: { line: 1, column: 34 } - } - }, - range: [21, 35], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 35 } - } - } - ], - range: [19, 37], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 37 } - } - }, - range: [6, 37], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 37 } - } - }, - range: [0, 37], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 37 } - } - } - - }, - - 'break statement': { - - 'while (true) { break }': { - type: 'WhileStatement', - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [7, 11], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 11 } - } - }, - body: { - type: 'BlockStatement', - body: [ - { - type: 'BreakStatement', - label: null, - range: [15, 21], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 21 } - } - } - ], - range: [13, 22], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 22 } - } - }, - range: [0, 22], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 22 } - } - }, - - 'done: while (true) { break done }': { - type: 'LabeledStatement', - label: { - type: 'Identifier', - name: 'done', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - body: { - type: 'WhileStatement', - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [13, 17], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 17 } - } - }, - body: { - type: 'BlockStatement', - body: [ - { - type: 'BreakStatement', - label: { - type: 'Identifier', - name: 'done', - range: [27, 31], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 31 } - } - }, - range: [21, 32], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 32 } - } - } - ], - range: [19, 33], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 33 } - } - }, - range: [6, 33], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 33 } - } - }, - range: [0, 33], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 33 } - } - }, - - 'done: while (true) { break done; }': { - type: 'LabeledStatement', - label: { - type: 'Identifier', - name: 'done', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - body: { - type: 'WhileStatement', - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [13, 17], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 17 } - } - }, - body: { - type: 'BlockStatement', - body: [ - { - type: 'BreakStatement', - label: { - type: 'Identifier', - name: 'done', - range: [27, 31], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 31 } - } - }, - range: [21, 32], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 32 } - } - } - ], - range: [19, 34], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 34 } - } - }, - range: [6, 34], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 34 } - } - }, - range: [0, 34], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 34 } - } - } - - }, - - 'return statement': { - - '(function(){ return })': { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [ - { - type: 'ReturnStatement', - argument: null, - range: [13, 20], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 20 } - } - } - ], - range: [11, 21], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 21 } - } - }, - rest: null, - generator: false, - expression: false, - range: [1, 21], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 21 } - } - }, - range: [0, 22], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 22 } - } - }, - - '(function(){ return; })': { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [ - { - type: 'ReturnStatement', - argument: null, - range: [13, 20], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 20 } - } - } - ], - range: [11, 22], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 22 } - } - }, - rest: null, - generator: false, - expression: false, - range: [1, 22], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 22 } - } - }, - range: [0, 23], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 23 } - } - }, - - '(function(){ return x; })': { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [ - { - type: 'ReturnStatement', - argument: { - type: 'Identifier', - name: 'x', - range: [20, 21], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 21 } - } - }, - range: [13, 22], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 22 } - } - } - ], - range: [11, 24], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 24 } - } - }, - rest: null, - generator: false, - expression: false, - range: [1, 24], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 24 } - } - }, - range: [0, 25], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 25 } - } - }, - - '(function(){ return x * y })': { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [ - { - type: 'ReturnStatement', - argument: { - type: 'BinaryExpression', - operator: '*', - left: { - type: 'Identifier', - name: 'x', - range: [20, 21], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 21 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [24, 25], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 25 } - } - }, - range: [20, 25], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 25 } - } - }, - range: [13, 26], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 26 } - } - } - ], - range: [11, 27], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 27 } - } - }, - rest: null, - generator: false, - expression: false, - range: [1, 27], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 27 } - } - }, - range: [0, 28], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 28 } - } - } - }, - - 'with statement': { - - 'with (x) foo = bar': { - type: 'WithStatement', - object: { - type: 'Identifier', - name: 'x', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, - body: { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'foo', - range: [9, 12], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 12 } - } - }, - right: { - type: 'Identifier', - name: 'bar', - range: [15, 18], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 18 } - } - }, - range: [9, 18], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 18 } - } - }, - range: [9, 18], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 18 } - } - }, - range: [0, 18], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 18 } - } - }, - - 'with (x) foo = bar;': { - type: 'WithStatement', - object: { - type: 'Identifier', - name: 'x', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, - body: { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'foo', - range: [9, 12], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 12 } - } - }, - right: { - type: 'Identifier', - name: 'bar', - range: [15, 18], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 18 } - } - }, - range: [9, 18], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 18 } - } - }, - range: [9, 19], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 19 } - } - }, - range: [0, 19], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 19 } - } - }, - - 'with (x) { foo = bar }': { - type: 'WithStatement', - object: { - type: 'Identifier', - name: 'x', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'foo', - range: [11, 14], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 14 } - } - }, - right: { - type: 'Identifier', - name: 'bar', - range: [17, 20], - loc: { - start: { line: 1, column: 17 }, - end: { line: 1, column: 20 } - } - }, - range: [11, 20], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 20 } - } - }, - range: [11, 21], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 21 } - } - }], - range: [9, 22], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 22 } - } - }, - range: [0, 22], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 22 } - } - } - - }, - - 'switch statement': { - - 'switch (x) {}': { - type: 'SwitchStatement', - discriminant: { - type: 'Identifier', - name: 'x', - range: [8, 9], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 9 } - } - }, - cases:[], - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, - - 'switch (answer) { case 42: hi(); break; }': { - type: 'SwitchStatement', - discriminant: { - type: 'Identifier', - name: 'answer', - range: [8, 14], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 14 } - } - }, - cases: [{ - type: 'SwitchCase', - test: { - type: 'Literal', - value: 42, - raw: '42', - range: [23, 25], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 25 } - } - }, - consequent: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'hi', - range: [27, 29], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 29 } - } - }, - 'arguments': [], - range: [27, 31], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 31 } - } - }, - range: [27, 32], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 32 } - } - }, { - type: 'BreakStatement', - label: null, - range: [33, 39], - loc: { - start: { line: 1, column: 33 }, - end: { line: 1, column: 39 } - } - }], - range: [18, 39], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 39 } - } - }], - range: [0, 41], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 41 } - } - }, - - 'switch (answer) { case 42: hi(); break; default: break }': { - type: 'SwitchStatement', - discriminant: { - type: 'Identifier', - name: 'answer', - range: [8, 14], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 14 } - } - }, - cases: [{ - type: 'SwitchCase', - test: { - type: 'Literal', - value: 42, - raw: '42', - range: [23, 25], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 25 } - } - }, - consequent: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'hi', - range: [27, 29], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 29 } - } - }, - 'arguments': [], - range: [27, 31], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 31 } - } - }, - range: [27, 32], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 32 } - } - }, { - type: 'BreakStatement', - label: null, - range: [33, 39], - loc: { - start: { line: 1, column: 33 }, - end: { line: 1, column: 39 } - } - }], - range: [18, 39], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 39 } - } - }, { - type: 'SwitchCase', - test: null, - consequent: [{ - type: 'BreakStatement', - label: null, - range: [49, 55], - loc: { - start: { line: 1, column: 49 }, - end: { line: 1, column: 55 } - } - }], - range: [40, 55], - loc: { - start: { line: 1, column: 40 }, - end: { line: 1, column: 55 } - } - }], - range: [0, 56], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 56 } - } - } - - }, - - 'Labelled Statements': { - - 'start: for (;;) break start': { - type: 'LabeledStatement', - label: { - type: 'Identifier', - name: 'start', - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - body: { - type: 'ForStatement', - init: null, - test: null, - update: null, - body: { - type: 'BreakStatement', - label: { - type: 'Identifier', - name: 'start', - range: [22, 27], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 27 } - } - }, - range: [16, 27], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 27 } - } - }, - range: [7, 27], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 27 } - } - }, - range: [0, 27], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 27 } - } - }, - - 'start: while (true) break start': { - type: 'LabeledStatement', - label: { - type: 'Identifier', - name: 'start', - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - body: { - type: 'WhileStatement', - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [14, 18], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 18 } - } - }, - body: { - type: 'BreakStatement', - label: { - type: 'Identifier', - name: 'start', - range: [26, 31], - loc: { - start: { line: 1, column: 26 }, - end: { line: 1, column: 31 } - } - }, - range: [20, 31], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 31 } - } - }, - range: [7, 31], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 31 } - } - }, - range: [0, 31], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 31 } - } - } - - }, - - 'throw statement': { - - 'throw x;': { - type: 'ThrowStatement', - argument: { - type: 'Identifier', - name: 'x', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, - range: [0, 8], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 8 } - } - }, - - 'throw x * y': { - type: 'ThrowStatement', - argument: { - type: 'BinaryExpression', - operator: '*', - left: { - type: 'Identifier', - name: 'x', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, - right: { - type: 'Identifier', - name: 'y', - range: [10, 11], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 11 } - } - }, - range: [6, 11], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 11 } - } - }, - range: [0, 11], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 11 } - } - }, - - 'throw { message: "Error" }': { - type: 'ThrowStatement', - argument: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'message', - range: [8, 15], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 15 } - } - }, - value: { - type: 'Literal', - value: 'Error', - raw: '"Error"', - range: [17, 24], - loc: { - start: { line: 1, column: 17 }, - end: { line: 1, column: 24 } - } - }, - kind: 'init', - range: [8, 24], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 24 } - } - }], - range: [6, 26], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 26 } - } - }, - range: [0, 26], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 26 } - } - } - - }, - - 'try statement': { - - 'try { } catch (e) { }': { - type: 'TryStatement', - block: { - type: 'BlockStatement', - body: [], - range: [4, 7], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 7 } - } - }, - guardedHandlers: [], - handlers: [{ - type: 'CatchClause', - param: { - type: 'Identifier', - name: 'e', - range: [15, 16], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 16 } - } - }, - body: { - type: 'BlockStatement', - body: [], - range: [18, 21], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 21 } - } - }, - range: [8, 21], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 21 } - } - }], - finalizer: null, - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - } - }, - - 'try { } catch (eval) { }': { - type: 'TryStatement', - block: { - type: 'BlockStatement', - body: [], - range: [4, 7], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 7 } - } - }, - guardedHandlers: [], - handlers: [{ - type: 'CatchClause', - param: { - type: 'Identifier', - name: 'eval', - range: [15, 19], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 19 } - } - }, - body: { - type: 'BlockStatement', - body: [], - range: [21, 24], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 24 } - } - }, - range: [8, 24], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 24 } - } - }], - finalizer: null, - range: [0, 24], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 24 } - } - }, - - 'try { } catch (arguments) { }': { - type: 'TryStatement', - block: { - type: 'BlockStatement', - body: [], - range: [4, 7], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 7 } - } - }, - guardedHandlers: [], - handlers: [{ - type: 'CatchClause', - param: { - type: 'Identifier', - name: 'arguments', - range: [15, 24], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 24 } - } - }, - body: { - type: 'BlockStatement', - body: [], - range: [26, 29], - loc: { - start: { line: 1, column: 26 }, - end: { line: 1, column: 29 } - } - }, - range: [8, 29], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 29 } - } - }], - finalizer: null, - range: [0, 29], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 29 } - } - }, - - 'try { } catch (e) { say(e) }': { - type: 'TryStatement', - block: { - type: 'BlockStatement', - body: [], - range: [4, 7], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 7 } - } - }, - guardedHandlers: [], - handlers: [{ - type: 'CatchClause', - param: { - type: 'Identifier', - name: 'e', - range: [15, 16], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 16 } - } - }, - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'say', - range: [20, 23], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 23 } - } - }, - 'arguments': [{ - type: 'Identifier', - name: 'e', - range: [24, 25], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 25 } - } - }], - range: [20, 26], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 26 } - } - }, - range: [20, 27], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 27 } - } - }], - range: [18, 28], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 28 } - } - }, - range: [8, 28], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 28 } - } - }], - finalizer: null, - range: [0, 28], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 28 } - } - }, - - 'try { } finally { cleanup(stuff) }': { - type: 'TryStatement', - block: { - type: 'BlockStatement', - body: [], - range: [4, 7], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 7 } - } - }, - guardedHandlers: [], - handlers: [], - finalizer: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'cleanup', - range: [18, 25], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 25 } - } - }, - 'arguments': [{ - type: 'Identifier', - name: 'stuff', - range: [26, 31], - loc: { - start: { line: 1, column: 26 }, - end: { line: 1, column: 31 } - } - }], - range: [18, 32], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 32 } - } - }, - range: [18, 33], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 33 } - } - }], - range: [16, 34], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 34 } - } - }, - range: [0, 34], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 34 } - } - }, - - 'try { doThat(); } catch (e) { say(e) }': { - type: 'TryStatement', - block: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'doThat', - range: [6, 12], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 12 } - } - }, - 'arguments': [], - range: [6, 14], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 14 } - } - }, - range: [6, 15], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 15 } - } - }], - range: [4, 17], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 17 } - } - }, - guardedHandlers: [], - handlers: [{ - type: 'CatchClause', - param: { - type: 'Identifier', - name: 'e', - range: [25, 26], - loc: { - start: { line: 1, column: 25 }, - end: { line: 1, column: 26 } - } - }, - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'say', - range: [30, 33], - loc: { - start: { line: 1, column: 30 }, - end: { line: 1, column: 33 } - } - }, - 'arguments': [{ - type: 'Identifier', - name: 'e', - range: [34, 35], - loc: { - start: { line: 1, column: 34 }, - end: { line: 1, column: 35 } - } - }], - range: [30, 36], - loc: { - start: { line: 1, column: 30 }, - end: { line: 1, column: 36 } - } - }, - range: [30, 37], - loc: { - start: { line: 1, column: 30 }, - end: { line: 1, column: 37 } - } - }], - range: [28, 38], - loc: { - start: { line: 1, column: 28 }, - end: { line: 1, column: 38 } - } - }, - range: [18, 38], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 38 } - } - }], - finalizer: null, - range: [0, 38], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 38 } - } - }, - - 'try { doThat(); } catch (e) { say(e) } finally { cleanup(stuff) }': { - type: 'TryStatement', - block: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'doThat', - range: [6, 12], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 12 } - } - }, - 'arguments': [], - range: [6, 14], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 14 } - } - }, - range: [6, 15], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 15 } - } - }], - range: [4, 17], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 17 } - } - }, - guardedHandlers: [], - handlers: [{ - type: 'CatchClause', - param: { - type: 'Identifier', - name: 'e', - range: [25, 26], - loc: { - start: { line: 1, column: 25 }, - end: { line: 1, column: 26 } - } - }, - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'say', - range: [30, 33], - loc: { - start: { line: 1, column: 30 }, - end: { line: 1, column: 33 } - } - }, - 'arguments': [{ - type: 'Identifier', - name: 'e', - range: [34, 35], - loc: { - start: { line: 1, column: 34 }, - end: { line: 1, column: 35 } - } - }], - range: [30, 36], - loc: { - start: { line: 1, column: 30 }, - end: { line: 1, column: 36 } - } - }, - range: [30, 37], - loc: { - start: { line: 1, column: 30 }, - end: { line: 1, column: 37 } - } - }], - range: [28, 38], - loc: { - start: { line: 1, column: 28 }, - end: { line: 1, column: 38 } - } - }, - range: [18, 38], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 38 } - } - }], - finalizer: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'cleanup', - range: [49, 56], - loc: { - start: { line: 1, column: 49 }, - end: { line: 1, column: 56 } - } - }, - 'arguments': [{ - type: 'Identifier', - name: 'stuff', - range: [57, 62], - loc: { - start: { line: 1, column: 57 }, - end: { line: 1, column: 62 } - } - }], - range: [49, 63], - loc: { - start: { line: 1, column: 49 }, - end: { line: 1, column: 63 } - } - }, - range: [49, 64], - loc: { - start: { line: 1, column: 49 }, - end: { line: 1, column: 64 } - } - }], - range: [47, 65], - loc: { - start: { line: 1, column: 47 }, - end: { line: 1, column: 65 } - } - }, - range: [0, 65], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 65 } - } - } - - }, - - 'debugger statement': { - - 'debugger;': { - type: 'DebuggerStatement', - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 9 } - } - } - - }, - - 'Function Definition': { - - 'function hello() { sayHi(); }': { - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'hello', - range: [9, 14], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 14 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'sayHi', - range: [19, 24], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 24 } - } - }, - 'arguments': [], - range: [19, 26], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 26 } - } - }, - range: [19, 27], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 27 } - } - }], - range: [17, 29], - loc: { - start: { line: 1, column: 17 }, - end: { line: 1, column: 29 } - } - }, - rest: null, - generator: false, - expression: false, - range: [0, 29], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 29 } - } - }, - - 'function eval() { }': { - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'eval', - range: [9, 13], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 13 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [16, 19], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 19 } - } - }, - rest: null, - generator: false, - expression: false, - range: [0, 19], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 19 } - } - }, - - 'function arguments() { }': { - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'arguments', - range: [9, 18], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 18 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [21, 24], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 24 } - } - }, - rest: null, - generator: false, - expression: false, - range: [0, 24], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 24 } - } - }, - - 'function test(t, t) { }': { - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'test', - range: [9, 13], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 13 } - } - }, - params: [{ - type: 'Identifier', - name: 't', - range: [14, 15], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 15 } - } - }, { - type: 'Identifier', - name: 't', - range: [17, 18], - loc: { - start: { line: 1, column: 17 }, - end: { line: 1, column: 18 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [20, 23], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 23 } - } - }, - rest: null, - generator: false, - expression: false, - range: [0, 23], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 23 } - } - }, - - '(function test(t, t) { })': { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: { - type: 'Identifier', - name: 'test', - range: [10, 14], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 14 } - } - }, - params: [{ - type: 'Identifier', - name: 't', - range: [15, 16], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 16 } - } - }, { - type: 'Identifier', - name: 't', - range: [18, 19], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 19 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [21, 24], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 24 } - } - }, - rest: null, - generator: false, - expression: false, - range: [1, 24], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 24 } - } - }, - range: [0, 25], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 25 } - } - }, - - 'function eval() { function inner() { "use strict" } }': { - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'eval', - range: [9, 13], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 13 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'inner', - range: [27, 32], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 32 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '\"use strict\"', - range: [37, 49], - loc: { - start: { line: 1, column: 37 }, - end: { line: 1, column: 49 } - } - }, - range: [37, 50], - loc: { - start: { line: 1, column: 37 }, - end: { line: 1, column: 50 } - } - }], - range: [35, 51], - loc: { - start: { line: 1, column: 35 }, - end: { line: 1, column: 51 } - } - }, - rest: null, - generator: false, - expression: false, - range: [18, 51], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 51 } - } - }], - range: [16, 53], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 53 } - } - }, - rest: null, - generator: false, - expression: false, - range: [0, 53], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 53 } - } - }, - - 'function hello(a) { sayHi(); }': { - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'hello', - range: [9, 14], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 14 } - } - }, - params: [{ - type: 'Identifier', - name: 'a', - range: [15, 16], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 16 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'sayHi', - range: [20, 25], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 25 } - } - }, - 'arguments': [], - range: [20, 27], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 27 } - } - }, - range: [20, 28], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 28 } - } - }], - range: [18, 30], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 30 } - } - }, - rest: null, - generator: false, - expression: false, - range: [0, 30], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 30 } - } - }, - - 'function hello(a, b) { sayHi(); }': { - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'hello', - range: [9, 14], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 14 } - } - }, - params: [{ - type: 'Identifier', - name: 'a', - range: [15, 16], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 16 } - } - }, { - type: 'Identifier', - name: 'b', - range: [18, 19], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 19 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'sayHi', - range: [23, 28], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 28 } - } - }, - 'arguments': [], - range: [23, 30], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 30 } - } - }, - range: [23, 31], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 31 } - } - }], - range: [21, 33], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 33 } - } - }, - rest: null, - generator: false, - expression: false, - range: [0, 33], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 33 } - } - }, - - 'var hi = function() { sayHi() };': { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'hi', - range: [4, 6], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 6 } - } - }, - init: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'sayHi', - range: [22, 27], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 27 } - } - }, - 'arguments': [], - range: [22, 29], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 29 } - } - }, - range: [22, 30], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 30 } - } - }], - range: [20, 31], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 31 } - } - }, - rest: null, - generator: false, - expression: false, - range: [9, 31], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 31 } - } - }, - range: [4, 31], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 31 } - } - }], - kind: 'var', - range: [0, 32], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 32 } - } - }, - - 'var hi = function eval() { };': { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'hi', - range: [4, 6], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 6 } - } - }, - init: { - type: 'FunctionExpression', - id: { - type: 'Identifier', - name: 'eval', - range: [18, 22], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 22 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [25, 28], - loc: { - start: { line: 1, column: 25 }, - end: { line: 1, column: 28 } - } - }, - rest: null, - generator: false, - expression: false, - range: [9, 28], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 28 } - } - }, - range: [4, 28], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 28 } - } - }], - kind: 'var', - range: [0, 29], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 29 } - } - }, - - 'var hi = function arguments() { };': { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'hi', - range: [4, 6], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 6 } - } - }, - init: { - type: 'FunctionExpression', - id: { - type: 'Identifier', - name: 'arguments', - range: [18, 27], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 27 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [30, 33], - loc: { - start: { line: 1, column: 30 }, - end: { line: 1, column: 33 } - } - }, - rest: null, - generator: false, - expression: false, - range: [9, 33], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 33 } - } - }, - range: [4, 33], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 33 } - } - }], - kind: 'var', - range: [0, 34], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 34 } - } - }, - - 'var hello = function hi() { sayHi() };': { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'hello', - range: [4, 9], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 9 } - } - }, - init: { - type: 'FunctionExpression', - id: { - type: 'Identifier', - name: 'hi', - range: [21, 23], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 23 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'sayHi', - range: [28, 33], - loc: { - start: { line: 1, column: 28 }, - end: { line: 1, column: 33 } - } - }, - 'arguments': [], - range: [28, 35], - loc: { - start: { line: 1, column: 28 }, - end: { line: 1, column: 35 } - } - }, - range: [28, 36], - loc: { - start: { line: 1, column: 28 }, - end: { line: 1, column: 36 } - } - }], - range: [26, 37], - loc: { - start: { line: 1, column: 26 }, - end: { line: 1, column: 37 } - } - }, - rest: null, - generator: false, - expression: false, - range: [12, 37], - loc: { - start: { line: 1, column: 12 }, - end: { line: 1, column: 37 } - } - }, - range: [4, 37], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 37 } - } - }], - kind: 'var', - range: [0, 38], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 38 } - } - }, - - '(function(){})': { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [11, 13], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 13 } - } - }, - rest: null, - generator: false, - expression: false, - range: [1, 13], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 13 } - } - }, - range: [0, 14], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 14 } - } - } - - }, - - 'Automatic semicolon insertion': { - - '{ x\n++y }': { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'x', - range: [2, 3], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 3 } - } - }, - range: [2, 4], - loc: { - start: { line: 1, column: 2 }, - end: { line: 2, column: 0 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '++', - argument: { - type: 'Identifier', - name: 'y', - range: [6, 7], - loc: { - start: { line: 2, column: 2 }, - end: { line: 2, column: 3 } - } - }, - prefix: true, - range: [4, 7], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 3 } - } - }, - range: [4, 8], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 4 } - } - }], - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 5 } - } - }, - - '{ x\n--y }': { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'x', - range: [2, 3], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 3 } - } - }, - range: [2, 4], - loc: { - start: { line: 1, column: 2 }, - end: { line: 2, column: 0 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '--', - argument: { - type: 'Identifier', - name: 'y', - range: [6, 7], - loc: { - start: { line: 2, column: 2 }, - end: { line: 2, column: 3 } - } - }, - prefix: true, - range: [4, 7], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 3 } - } - }, - range: [4, 8], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 4 } - } - }], - range: [0, 9], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 5 } - } - }, - - 'var x /* comment */;': { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - init: null, - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }], - kind: 'var', - range: [0, 20], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 20 } - } - }, - - '{ var x = 14, y = 3\nz; }': { - type: 'BlockStatement', - body: [{ - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [6, 7], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 7 } - } - }, - init: { - type: 'Literal', - value: 14, - raw: '14', - range: [10, 12], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 12 } - } - }, - range: [6, 12], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 12 } - } - }, { - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'y', - range: [14, 15], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 15 } - } - }, - init: { - type: 'Literal', - value: 3, - raw: '3', - range: [18, 19], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 19 } - } - }, - range: [14, 19], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 19 } - } - }], - kind: 'var', - range: [2, 20], - loc: { - start: { line: 1, column: 2 }, - end: { line: 2, column: 0 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'z', - range: [20, 21], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 1 } - } - }, - range: [20, 22], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 2 } - } - }], - range: [0, 24], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 4 } - } - }, - - 'while (true) { continue\nthere; }': { - type: 'WhileStatement', - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [7, 11], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 11 } - } - }, - body: { - type: 'BlockStatement', - body: [{ - type: 'ContinueStatement', - label: null, - range: [15, 23], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 23 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'there', - range: [24, 29], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 5 } - } - }, - range: [24, 30], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 6 } - } - }], - range: [13, 32], - loc: { - start: { line: 1, column: 13 }, - end: { line: 2, column: 8 } - } - }, - range: [0, 32], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 8 } - } - }, - - 'while (true) { continue // Comment\nthere; }': { - type: 'WhileStatement', - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [7, 11], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 11 } - } - }, - body: { - type: 'BlockStatement', - body: [{ - type: 'ContinueStatement', - label: null, - range: [15, 23], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 23 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'there', - range: [35, 40], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 5 } - } - }, - range: [35, 41], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 6 } - } - }], - range: [13, 43], - loc: { - start: { line: 1, column: 13 }, - end: { line: 2, column: 8 } - } - }, - range: [0, 43], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 8 } - } - }, - - 'while (true) { continue /* Multiline\nComment */there; }': { - type: 'WhileStatement', - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [7, 11], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 11 } - } - }, - body: { - type: 'BlockStatement', - body: [{ - type: 'ContinueStatement', - label: null, - range: [15, 23], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 23 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'there', - range: [47, 52], - loc: { - start: { line: 2, column: 10 }, - end: { line: 2, column: 15 } - } - }, - range: [47, 53], - loc: { - start: { line: 2, column: 10 }, - end: { line: 2, column: 16 } - } - }], - range: [13, 55], - loc: { - start: { line: 1, column: 13 }, - end: { line: 2, column: 18 } - } - }, - range: [0, 55], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 18 } - } - }, - - 'while (true) { break\nthere; }': { - type: 'WhileStatement', - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [7, 11], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 11 } - } - }, - body: { - type: 'BlockStatement', - body: [{ - type: 'BreakStatement', - label: null, - range: [15, 20], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 20 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'there', - range: [21, 26], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 5 } - } - }, - range: [21, 27], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 6 } - } - }], - range: [13, 29], - loc: { - start: { line: 1, column: 13 }, - end: { line: 2, column: 8 } - } - }, - range: [0, 29], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 8 } - } - }, - - 'while (true) { break // Comment\nthere; }': { - type: 'WhileStatement', - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [7, 11], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 11 } - } - }, - body: { - type: 'BlockStatement', - body: [{ - type: 'BreakStatement', - label: null, - range: [15, 20], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 20 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'there', - range: [32, 37], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 5 } - } - }, - range: [32, 38], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 6 } - } - }], - range: [13, 40], - loc: { - start: { line: 1, column: 13 }, - end: { line: 2, column: 8 } - } - }, - range: [0, 40], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 8 } - } - }, - - 'while (true) { break /* Multiline\nComment */there; }': { - type: 'WhileStatement', - test: { - type: 'Literal', - value: true, - raw: 'true', - range: [7, 11], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 11 } - } - }, - body: { - type: 'BlockStatement', - body: [{ - type: 'BreakStatement', - label: null, - range: [15, 20], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 20 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'there', - range: [44, 49], - loc: { - start: { line: 2, column: 10 }, - end: { line: 2, column: 15 } - } - }, - range: [44, 50], - loc: { - start: { line: 2, column: 10 }, - end: { line: 2, column: 16 } - } - }], - range: [13, 52], - loc: { - start: { line: 1, column: 13 }, - end: { line: 2, column: 18 } - } - }, - range: [0, 52], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 18 } - } - }, - - '(function(){ return\nx; })': { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [ - { - type: 'ReturnStatement', - argument: null, - range: [13, 19], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 19 } - } - }, - { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'x', - range: [20, 21], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 1 } - } - }, - range: [20, 22], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 2 } - } - } - ], - range: [11, 24], - loc: { - start: { line: 1, column: 11 }, - end: { line: 2, column: 4 } - } - }, - rest: null, - generator: false, - expression: false, - range: [1, 24], - loc: { - start: { line: 1, column: 1 }, - end: { line: 2, column: 4 } - } - }, - range: [0, 25], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 5 } - } - }, - - '(function(){ return // Comment\nx; })': { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [ - { - type: 'ReturnStatement', - argument: null, - range: [13, 19], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 19 } - } - }, - { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'x', - range: [31, 32], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 1 } - } - }, - range: [31, 33], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 2 } - } - } - ], - range: [11, 35], - loc: { - start: { line: 1, column: 11 }, - end: { line: 2, column: 4 } - } - }, - rest: null, - generator: false, - expression: false, - range: [1, 35], - loc: { - start: { line: 1, column: 1 }, - end: { line: 2, column: 4 } - } - }, - range: [0, 36], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 5 } - } - }, - - '(function(){ return/* Multiline\nComment */x; })': { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [ - { - type: 'ReturnStatement', - argument: null, - range: [13, 19], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 19 } - } - }, - { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'x', - range: [42, 43], - loc: { - start: { line: 2, column: 10 }, - end: { line: 2, column: 11 } - } - }, - range: [42, 44], - loc: { - start: { line: 2, column: 10 }, - end: { line: 2, column: 12 } - } - } - ], - range: [11, 46], - loc: { - start: { line: 1, column: 11 }, - end: { line: 2, column: 14 } - } - }, - rest: null, - generator: false, - expression: false, - range: [1, 46], - loc: { - start: { line: 1, column: 1 }, - end: { line: 2, column: 14 } - } - }, - range: [0, 47], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 15 } - } - }, - - '{ throw error\nerror; }': { - type: 'BlockStatement', - body: [{ - type: 'ThrowStatement', - argument: { - type: 'Identifier', - name: 'error', - range: [8, 13], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 13 } - } - }, - range: [2, 14], - loc: { - start: { line: 1, column: 2 }, - end: { line: 2, column: 0 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'error', - range: [14, 19], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 5 } - } - }, - range: [14, 20], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 6 } - } - }], - range: [0, 22], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 8 } - } - }, - - '{ throw error// Comment\nerror; }': { - type: 'BlockStatement', - body: [{ - type: 'ThrowStatement', - argument: { - type: 'Identifier', - name: 'error', - range: [8, 13], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 13 } - } - }, - range: [2, 24], - loc: { - start: { line: 1, column: 2 }, - end: { line: 2, column: 0 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'error', - range: [24, 29], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 5 } - } - }, - range: [24, 30], - loc: { - start: { line: 2, column: 0 }, - end: { line: 2, column: 6 } - } - }], - range: [0, 32], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 8 } - } - }, - - '{ throw error/* Multiline\nComment */error; }': { - type: 'BlockStatement', - body: [{ - type: 'ThrowStatement', - argument: { - type: 'Identifier', - name: 'error', - range: [8, 13], - loc: { - start: { line: 1, column: 8 }, - end: { line: 1, column: 13 } - } - }, - range: [2, 36], - loc: { - start: { line: 1, column: 2 }, - end: { line: 2, column: 10 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'error', - range: [36, 41], - loc: { - start: { line: 2, column: 10 }, - end: { line: 2, column: 15 } - } - }, - range: [36, 42], - loc: { - start: { line: 2, column: 10 }, - end: { line: 2, column: 16 } - } - }], - range: [0, 44], - loc: { - start: { line: 1, column: 0 }, - end: { line: 2, column: 18 } - } - } - - }, - - 'Source elements': { - - '': { - type: 'Program', - body: [], - range: [0, 0], - loc: { - start: { line: 0, column: 0 }, - end: { line: 0, column: 0 } - }, - tokens: [] - } - }, - - 'Invalid syntax': { - - '{': { - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Unexpected end of input' - }, - - '}': { - index: 0, - lineNumber: 1, - column: 1, - message: 'Error: Line 1: Unexpected token }' - }, - - '3ea': { - index: 2, - lineNumber: 1, - column: 3, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '3in []': { - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '3e': { - index: 2, - lineNumber: 1, - column: 3, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '3e+': { - index: 3, - lineNumber: 1, - column: 4, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '3e-': { - index: 3, - lineNumber: 1, - column: 4, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '3x': { - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '3x0': { - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '0x': { - index: 2, - lineNumber: 1, - column: 3, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '09': { - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '018': { - index: 2, - lineNumber: 1, - column: 3, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '01a': { - index: 2, - lineNumber: 1, - column: 3, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '3in[]': { - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '0x3in[]': { - index: 3, - lineNumber: 1, - column: 4, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '"Hello\nWorld"': { - index: 7, - lineNumber: 1, - column: 8, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - 'x\\': { - index: 2, - lineNumber: 1, - column: 3, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - 'x\\u005c': { - index: 7, - lineNumber: 1, - column: 8, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - 'x\\u002a': { - index: 7, - lineNumber: 1, - column: 8, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - 'var x = /(s/g': { - index: 13, - lineNumber: 1, - column: 14, - message: 'Error: Line 1: Invalid regular expression' - }, - - '/': { - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Invalid regular expression: missing /' - }, - - '/test': { - index: 5, - lineNumber: 1, - column: 6, - message: 'Error: Line 1: Invalid regular expression: missing /' - }, - - 'var x = /[a-z]/\\ux': { - index: 18, - lineNumber: 1, - column: 19, - message: 'Error: Line 1: Invalid regular expression' - }, - - '3 = 4': { - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Invalid left-hand side in assignment' - }, - - 'func() = 4': { - index: 6, - lineNumber: 1, - column: 7, - message: 'Error: Line 1: Invalid left-hand side in assignment' - }, - - '(1 + 1) = 10': { - index: 7, - lineNumber: 1, - column: 8, - message: 'Error: Line 1: Invalid left-hand side in assignment' - }, - - '1++': { - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Invalid left-hand side in assignment' - }, - - '1--': { - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Invalid left-hand side in assignment' - }, - - '++1': { - index: 3, - lineNumber: 1, - column: 4, - message: 'Error: Line 1: Invalid left-hand side in assignment' - }, - - '--1': { - index: 3, - lineNumber: 1, - column: 4, - message: 'Error: Line 1: Invalid left-hand side in assignment' - }, - - 'for((1 + 1) in list) process(x);': { - index: 11, - lineNumber: 1, - column: 12, - message: 'Error: Line 1: Invalid left-hand side in for-in' - }, - - '[': { - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Unexpected end of input' - }, - - '[,': { - index: 2, - lineNumber: 1, - column: 3, - message: 'Error: Line 1: Unexpected end of input' - }, - - '1 + {': { - index: 5, - lineNumber: 1, - column: 6, - message: 'Error: Line 1: Unexpected end of input' - }, - - '1 + { t:t ': { - index: 10, - lineNumber: 1, - column: 11, - message: 'Error: Line 1: Unexpected end of input' - }, - - '1 + { t:t,': { - index: 10, - lineNumber: 1, - column: 11, - message: 'Error: Line 1: Unexpected end of input' - }, - - 'var x = /\n/': { - index: 10, - lineNumber: 1, - column: 11, - message: 'Error: Line 1: Invalid regular expression: missing /' - }, - - 'var x = "\n': { - index: 10, - lineNumber: 1, - column: 11, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - 'var if = 42': { - index: 4, - lineNumber: 1, - column: 5, - message: 'Error: Line 1: Unexpected token if' - }, - - 'i + 2 = 42': { - index: 5, - lineNumber: 1, - column: 6, - message: 'Error: Line 1: Invalid left-hand side in assignment' - }, - - '+i = 42': { - index: 2, - lineNumber: 1, - column: 3, - message: 'Error: Line 1: Invalid left-hand side in assignment' - }, - - '1 + (': { - index: 5, - lineNumber: 1, - column: 6, - message: 'Error: Line 1: Unexpected end of input' - }, - - '\n\n\n{': { - index: 4, - lineNumber: 4, - column: 2, - message: 'Error: Line 4: Unexpected end of input' - }, - - '\n/* Some multiline\ncomment */\n)': { - index: 30, - lineNumber: 4, - column: 1, - message: 'Error: Line 4: Unexpected token )' - }, - - '{ set 1 }': { - index: 6, - lineNumber: 1, - column: 7, - message: 'Error: Line 1: Unexpected number' - }, - - '{ get 2 }': { - index: 6, - lineNumber: 1, - column: 7, - message: 'Error: Line 1: Unexpected number' - }, - - '({ set: s(if) { } })': { - index: 10, - lineNumber: 1, - column: 11, - message: 'Error: Line 1: Unexpected token if' - }, - - '({ set s(.) { } })': { - index: 9, - lineNumber: 1, - column: 10, - message: 'Error: Line 1: Unexpected token .' - }, - - '({ set s() { } })': { - index: 9, - lineNumber: 1, - column: 10, - message: 'Error: Line 1: Unexpected token )' - }, - - '({ set: s() { } })': { - index: 12, - lineNumber: 1, - column: 13, - message: 'Error: Line 1: Unexpected token {' - }, - - '({ set: s(a, b) { } })': { - index: 16, - lineNumber: 1, - column: 17, - message: 'Error: Line 1: Unexpected token {' - }, - - '({ get: g(d) { } })': { - index: 13, - lineNumber: 1, - column: 14, - message: 'Error: Line 1: Unexpected token {' - }, - - '({ get i() { }, i: 42 })': { - index: 21, - lineNumber: 1, - column: 22, - message: 'Error: Line 1: Object literal may not have data and accessor property with the same name' - }, - - '({ i: 42, get i() { } })': { - index: 21, - lineNumber: 1, - column: 22, - message: 'Error: Line 1: Object literal may not have data and accessor property with the same name' - }, - - '({ set i(x) { }, i: 42 })': { - index: 22, - lineNumber: 1, - column: 23, - message: 'Error: Line 1: Object literal may not have data and accessor property with the same name' - }, - - '({ i: 42, set i(x) { } })': { - index: 22, - lineNumber: 1, - column: 23, - message: 'Error: Line 1: Object literal may not have data and accessor property with the same name' - }, - - '({ get i() { }, get i() { } })': { - index: 27, - lineNumber: 1, - column: 28, - message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name' - }, - - '({ set i(x) { }, set i(x) { } })': { - index: 29, - lineNumber: 1, - column: 30, - message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name' - }, - - 'function t(if) { }': { - index: 11, - lineNumber: 1, - column: 12, - message: 'Error: Line 1: Unexpected token if' - }, - - 'function t(true) { }': { - index: 11, - lineNumber: 1, - column: 12, - message: 'Error: Line 1: Unexpected token true' - }, - - 'function t(false) { }': { - index: 11, - lineNumber: 1, - column: 12, - message: 'Error: Line 1: Unexpected token false' - }, - - 'function t(null) { }': { - index: 11, - lineNumber: 1, - column: 12, - message: 'Error: Line 1: Unexpected token null' - }, - - 'function null() { }': { - index: 9, - lineNumber: 1, - column: 10, - message: 'Error: Line 1: Unexpected token null' - }, - - 'function true() { }': { - index: 9, - lineNumber: 1, - column: 10, - message: 'Error: Line 1: Unexpected token true' - }, - - 'function false() { }': { - index: 9, - lineNumber: 1, - column: 10, - message: 'Error: Line 1: Unexpected token false' - }, - - 'function if() { }': { - index: 9, - lineNumber: 1, - column: 10, - message: 'Error: Line 1: Unexpected token if' - }, - - 'a b;': { - index: 2, - lineNumber: 1, - column: 3, - message: 'Error: Line 1: Unexpected identifier' - }, - - 'if.a;': { - index: 2, - lineNumber: 1, - column: 3, - message: 'Error: Line 1: Unexpected token .' - }, - - 'a if;': { - index: 2, - lineNumber: 1, - column: 3, - message: 'Error: Line 1: Unexpected token if' - }, - - 'a class;': { - index: 2, - lineNumber: 1, - column: 3, - message: 'Error: Line 1: Unexpected reserved word' - }, - - 'break\n': { - index: 5, - lineNumber: 1, - column: 6, - message: 'Error: Line 1: Illegal break statement' - }, - - 'break 1;': { - index: 6, - lineNumber: 1, - column: 7, - message: 'Error: Line 1: Unexpected number' - }, - - 'continue\n': { - index: 8, - lineNumber: 1, - column: 9, - message: 'Error: Line 1: Illegal continue statement' - }, - - 'continue 2;': { - index: 9, - lineNumber: 1, - column: 10, - message: 'Error: Line 1: Unexpected number' - }, - - 'throw': { - index: 5, - lineNumber: 1, - column: 6, - message: 'Error: Line 1: Unexpected end of input' - }, - - 'throw;': { - index: 5, - lineNumber: 1, - column: 6, - message: 'Error: Line 1: Unexpected token ;' - }, - - 'throw\n': { - index: 5, - lineNumber: 1, - column: 6, - message: 'Error: Line 1: Illegal newline after throw' - }, - - 'for (var i, i2 in {});': { - index: 15, - lineNumber: 1, - column: 16, - message: 'Error: Line 1: Unexpected token in' - }, - - 'for ((i in {}));': { - index: 14, - lineNumber: 1, - column: 15, - message: 'Error: Line 1: Unexpected token )' - }, - - 'for (i + 1 in {});': { - index: 10, - lineNumber: 1, - column: 11, - message: 'Error: Line 1: Invalid left-hand side in for-in' - }, - - 'for (+i in {});': { - index: 7, - lineNumber: 1, - column: 8, - message: 'Error: Line 1: Invalid left-hand side in for-in' - }, - - 'if(false)': { - index: 9, - lineNumber: 1, - column: 10, - message: 'Error: Line 1: Unexpected end of input' - }, - - 'if(false) doThis(); else': { - index: 24, - lineNumber: 1, - column: 25, - message: 'Error: Line 1: Unexpected end of input' - }, - - 'do': { - index: 2, - lineNumber: 1, - column: 3, - message: 'Error: Line 1: Unexpected end of input' - }, - - 'while(false)': { - index: 12, - lineNumber: 1, - column: 13, - message: 'Error: Line 1: Unexpected end of input' - }, - - 'for(;;)': { - index: 7, - lineNumber: 1, - column: 8, - message: 'Error: Line 1: Unexpected end of input' - }, - - 'with(x)': { - index: 7, - lineNumber: 1, - column: 8, - message: 'Error: Line 1: Unexpected end of input' - }, - - 'try { }': { - index: 7, - lineNumber: 1, - column: 8, - message: 'Error: Line 1: Missing catch or finally after try' - }, - - 'try {} catch (42) {} ': { - index: 14, - lineNumber: 1, - column: 15, - message: 'Error: Line 1: Unexpected number' - }, - - 'try {} catch (answer()) {} ': { - index: 20, - lineNumber: 1, - column: 21, - message: 'Error: Line 1: Unexpected token (' - }, - - 'try {} catch (-x) {} ': { - index: 14, - lineNumber: 1, - column: 15, - message: 'Error: Line 1: Unexpected token -' - }, - - - '\u203F = 10': { - index: 0, - lineNumber: 1, - column: 1, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - 'const x = 12, y;': { - index: 15, - lineNumber: 1, - column: 16, - message: 'Error: Line 1: Unexpected token ;' - }, - - 'const x, y = 12;': { - index: 7, - lineNumber: 1, - column: 8, - message: 'Error: Line 1: Unexpected token ,' - }, - - 'const x;': { - index: 7, - lineNumber: 1, - column: 8, - message: 'Error: Line 1: Unexpected token ;' - }, - - 'if(true) let a = 1;': { - index: 9, - lineNumber: 1, - column: 10, - message: 'Error: Line 1: Unexpected token let' - }, - - 'if(true) const a = 1;': { - index: 9, - lineNumber: 1, - column: 10, - message: 'Error: Line 1: Unexpected token const' - }, - - 'switch (c) { default: default: }': { - index: 30, - lineNumber: 1, - column: 31, - message: 'Error: Line 1: More than one default clause in switch statement' - }, - - 'new X()."s"': { - index: 8, - lineNumber: 1, - column: 9, - message: 'Error: Line 1: Unexpected string' - }, - - '/*': { - index: 2, - lineNumber: 1, - column: 3, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '/*\n\n\n': { - index: 5, - lineNumber: 4, - column: 1, - message: 'Error: Line 4: Unexpected token ILLEGAL' - }, - - '/**': { - index: 3, - lineNumber: 1, - column: 4, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '/*\n\n*': { - index: 5, - lineNumber: 3, - column: 2, - message: 'Error: Line 3: Unexpected token ILLEGAL' - }, - - '/*hello': { - index: 7, - lineNumber: 1, - column: 8, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '/*hello *': { - index: 10, - lineNumber: 1, - column: 11, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '\n]': { - index: 1, - lineNumber: 2, - column: 1, - message: 'Error: Line 2: Unexpected token ]' - }, - - '\r]': { - index: 1, - lineNumber: 2, - column: 1, - message: 'Error: Line 2: Unexpected token ]' - }, - - '\r\n]': { - index: 2, - lineNumber: 2, - column: 1, - message: 'Error: Line 2: Unexpected token ]' - }, - - '\n\r]': { - index: 2, - lineNumber: 3, - column: 1, - message: 'Error: Line 3: Unexpected token ]' - }, - - '//\r\n]': { - index: 4, - lineNumber: 2, - column: 1, - message: 'Error: Line 2: Unexpected token ]' - }, - - '//\n\r]': { - index: 4, - lineNumber: 3, - column: 1, - message: 'Error: Line 3: Unexpected token ]' - }, - - '/a\\\n/': { - index: 4, - lineNumber: 1, - column: 5, - message: 'Error: Line 1: Invalid regular expression: missing /' - }, - - '//\r \n]': { - index: 5, - lineNumber: 3, - column: 1, - message: 'Error: Line 3: Unexpected token ]' - }, - - '/*\r\n*/]': { - index: 6, - lineNumber: 2, - column: 3, - message: 'Error: Line 2: Unexpected token ]' - }, - - '/*\n\r*/]': { - index: 6, - lineNumber: 3, - column: 3, - message: 'Error: Line 3: Unexpected token ]' - }, - - '/*\r \n*/]': { - index: 7, - lineNumber: 3, - column: 3, - message: 'Error: Line 3: Unexpected token ]' - }, - - '\\\\': { - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '\\u005c': { - index: 6, - lineNumber: 1, - column: 7, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - - '\\x': { - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '\\u0000': { - index: 6, - lineNumber: 1, - column: 7, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '\u200C = []': { - index: 0, - lineNumber: 1, - column: 1, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '\u200D = []': { - index: 0, - lineNumber: 1, - column: 1, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '"\\': { - index: 3, - lineNumber: 1, - column: 4, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - '"\\u': { - index: 3, - lineNumber: 1, - column: 4, - message: 'Error: Line 1: Unexpected token ILLEGAL' - }, - - 'try { } catch() {}': { - index: 14, - lineNumber: 1, - column: 15, - message: 'Error: Line 1: Unexpected token )' - }, - - 'return': { - index: 6, - lineNumber: 1, - column: 7, - message: 'Error: Line 1: Illegal return statement' - }, - - 'break': { - index: 5, - lineNumber: 1, - column: 6, - message: 'Error: Line 1: Illegal break statement' - }, - - 'continue': { - index: 8, - lineNumber: 1, - column: 9, - message: 'Error: Line 1: Illegal continue statement' - }, - - 'switch (x) { default: continue; }': { - index: 31, - lineNumber: 1, - column: 32, - message: 'Error: Line 1: Illegal continue statement' - }, - - 'do { x } *': { - index: 9, - lineNumber: 1, - column: 10, - message: 'Error: Line 1: Unexpected token *' - }, - - 'while (true) { break x; }': { - index: 22, - lineNumber: 1, - column: 23, - message: 'Error: Line 1: Undefined label \'x\'' - }, - - 'while (true) { continue x; }': { - index: 25, - lineNumber: 1, - column: 26, - message: 'Error: Line 1: Undefined label \'x\'' - }, - - 'x: while (true) { (function () { break x; }); }': { - index: 40, - lineNumber: 1, - column: 41, - message: 'Error: Line 1: Undefined label \'x\'' - }, - - 'x: while (true) { (function () { continue x; }); }': { - index: 43, - lineNumber: 1, - column: 44, - message: 'Error: Line 1: Undefined label \'x\'' - }, - - 'x: while (true) { (function () { break; }); }': { - index: 39, - lineNumber: 1, - column: 40, - message: 'Error: Line 1: Illegal break statement' - }, - - 'x: while (true) { (function () { continue; }); }': { - index: 42, - lineNumber: 1, - column: 43, - message: 'Error: Line 1: Illegal continue statement' - }, - - 'x: while (true) { x: while (true) { } }': { - index: 20, - lineNumber: 1, - column: 21, - message: 'Error: Line 1: Label \'x\' has already been declared' - }, - - '(function () { \'use strict\'; delete i; }())': { - index: 37, - lineNumber: 1, - column: 38, - message: 'Error: Line 1: Delete of an unqualified identifier in strict mode.' - }, - - '(function () { \'use strict\'; with (i); }())': { - index: 28, - lineNumber: 1, - column: 29, - message: 'Error: Line 1: Strict mode code may not include a with statement' - }, - - 'function hello() {\'use strict\'; ({ i: 42, i: 42 }) }': { - index: 47, - lineNumber: 1, - column: 48, - message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode' - }, - - 'function hello() {\'use strict\'; ({ hasOwnProperty: 42, hasOwnProperty: 42 }) }': { - index: 73, - lineNumber: 1, - column: 74, - message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode' - }, - - 'function hello() {\'use strict\'; var eval = 10; }': { - index: 40, - lineNumber: 1, - column: 41, - message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode' - }, - - 'function hello() {\'use strict\'; var arguments = 10; }': { - index: 45, - lineNumber: 1, - column: 46, - message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode' - }, - - 'function hello() {\'use strict\'; try { } catch (eval) { } }': { - index: 51, - lineNumber: 1, - column: 52, - message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode' - }, - - 'function hello() {\'use strict\'; try { } catch (arguments) { } }': { - index: 56, - lineNumber: 1, - column: 57, - message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode' - }, - - 'function hello() {\'use strict\'; eval = 10; }': { - index: 32, - lineNumber: 1, - column: 33, - message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode' - }, - - 'function hello() {\'use strict\'; arguments = 10; }': { - index: 32, - lineNumber: 1, - column: 33, - message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode' - }, - - 'function hello() {\'use strict\'; ++eval; }': { - index: 38, - lineNumber: 1, - column: 39, - message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode' - }, - - 'function hello() {\'use strict\'; --eval; }': { - index: 38, - lineNumber: 1, - column: 39, - message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode' - }, - - 'function hello() {\'use strict\'; ++arguments; }': { - index: 43, - lineNumber: 1, - column: 44, - message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode' - }, - - 'function hello() {\'use strict\'; --arguments; }': { - index: 43, - lineNumber: 1, - column: 44, - message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode' - }, - - 'function hello() {\'use strict\'; eval++; }': { - index: 36, - lineNumber: 1, - column: 37, - message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode' - }, - - 'function hello() {\'use strict\'; eval--; }': { - index: 36, - lineNumber: 1, - column: 37, - message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode' - }, - - 'function hello() {\'use strict\'; arguments++; }': { - index: 41, - lineNumber: 1, - column: 42, - message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode' - }, - - 'function hello() {\'use strict\'; arguments--; }': { - index: 41, - lineNumber: 1, - column: 42, - message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode' - }, - - 'function hello() {\'use strict\'; function eval() { } }': { - index: 41, - lineNumber: 1, - column: 42, - message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' - }, - - 'function hello() {\'use strict\'; function arguments() { } }': { - index: 41, - lineNumber: 1, - column: 42, - message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' - }, - - 'function eval() {\'use strict\'; }': { - index: 9, - lineNumber: 1, - column: 10, - message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' - }, - - 'function arguments() {\'use strict\'; }': { - index: 9, - lineNumber: 1, - column: 10, - message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' - }, - - 'function hello() {\'use strict\'; (function eval() { }()) }': { - index: 42, - lineNumber: 1, - column: 43, - message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' - }, - - 'function hello() {\'use strict\'; (function arguments() { }()) }': { - index: 42, - lineNumber: 1, - column: 43, - message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' - }, - - '(function eval() {\'use strict\'; })()': { - index: 10, - lineNumber: 1, - column: 11, - message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' - }, - - '(function arguments() {\'use strict\'; })()': { - index: 10, - lineNumber: 1, - column: 11, - message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' - }, - - 'function hello() {\'use strict\'; ({ s: function eval() { } }); }': { - index: 47, - lineNumber: 1, - column: 48, - message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' - }, - - '(function package() {\'use strict\'; })()': { - index: 10, - lineNumber: 1, - column: 11, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }, - - 'function hello() {\'use strict\'; ({ i: 10, set s(eval) { } }); }': { - index: 48, - lineNumber: 1, - column: 49, - message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' - }, - - 'function hello() {\'use strict\'; ({ set s(eval) { } }); }': { - index: 41, - lineNumber: 1, - column: 42, - message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' - }, - - 'function hello() {\'use strict\'; ({ s: function s(eval) { } }); }': { - index: 49, - lineNumber: 1, - column: 50, - message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' - }, - - 'function hello(eval) {\'use strict\';}': { - index: 15, - lineNumber: 1, - column: 16, - message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' - }, - - 'function hello(arguments) {\'use strict\';}': { - index: 15, - lineNumber: 1, - column: 16, - message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' - }, - - 'function hello() { \'use strict\'; function inner(eval) {} }': { - index: 48, - lineNumber: 1, - column: 49, - message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' - }, - - 'function hello() { \'use strict\'; function inner(arguments) {} }': { - index: 48, - lineNumber: 1, - column: 49, - message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' - }, - - ' "\\1"; \'use strict\';': { - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Octal literals are not allowed in strict mode.' - }, - - 'function hello() { \'use strict\'; "\\1"; }': { - index: 33, - lineNumber: 1, - column: 34, - message: 'Error: Line 1: Octal literals are not allowed in strict mode.' - }, - - 'function hello() { \'use strict\'; 021; }': { - index: 33, - lineNumber: 1, - column: 34, - message: 'Error: Line 1: Octal literals are not allowed in strict mode.' - }, - - 'function hello() { \'use strict\'; ({ "\\1": 42 }); }': { - index: 36, - lineNumber: 1, - column: 37, - message: 'Error: Line 1: Octal literals are not allowed in strict mode.' - }, - - 'function hello() { \'use strict\'; ({ 021: 42 }); }': { - index: 36, - lineNumber: 1, - column: 37, - message: 'Error: Line 1: Octal literals are not allowed in strict mode.' - }, - - 'function hello() { "octal directive\\1"; "use strict"; }': { - index: 19, - lineNumber: 1, - column: 20, - message: 'Error: Line 1: Octal literals are not allowed in strict mode.' - }, - - 'function hello() { "octal directive\\1"; "octal directive\\2"; "use strict"; }': { - index: 19, - lineNumber: 1, - column: 20, - message: 'Error: Line 1: Octal literals are not allowed in strict mode.' - }, - - 'function hello() { "use strict"; function inner() { "octal directive\\1"; } }': { - index: 52, - lineNumber: 1, - column: 53, - message: 'Error: Line 1: Octal literals are not allowed in strict mode.' - }, - - 'function hello() { "use strict"; var implements; }': { - index: 37, - lineNumber: 1, - column: 38, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }, - - 'function hello() { "use strict"; var interface; }': { - index: 37, - lineNumber: 1, - column: 38, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }, - - 'function hello() { "use strict"; var package; }': { - index: 37, - lineNumber: 1, - column: 38, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }, - - 'function hello() { "use strict"; var private; }': { - index: 37, - lineNumber: 1, - column: 38, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }, - - 'function hello() { "use strict"; var protected; }': { - index: 37, - lineNumber: 1, - column: 38, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }, - - 'function hello() { "use strict"; var public; }': { - index: 37, - lineNumber: 1, - column: 38, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }, - - 'function hello() { "use strict"; var static; }': { - index: 37, - lineNumber: 1, - column: 38, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }, - - 'function hello() { "use strict"; var yield; }': { - index: 37, - lineNumber: 1, - column: 38, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }, - - 'function hello() { "use strict"; var let; }': { - index: 37, - lineNumber: 1, - column: 38, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }, - - 'function hello(static) { "use strict"; }': { - index: 15, - lineNumber: 1, - column: 16, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }, - - 'function static() { "use strict"; }': { - index: 9, - lineNumber: 1, - column: 10, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }, - - 'var yield': { - index: 4, - lineNumber: 1, - column: 5, - message: 'Error: Line 1: Unexpected token yield' - }, - - 'var let': { - index: 4, - lineNumber: 1, - column: 5, - message: 'Error: Line 1: Unexpected token let' - }, - - '"use strict"; function static() { }': { - index: 23, - lineNumber: 1, - column: 24, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }, - - 'function a(t, t) { "use strict"; }': { - index: 14, - lineNumber: 1, - column: 15, - message: 'Error: Line 1: Strict mode function may not have duplicate parameter names' - }, - - 'function a(eval) { "use strict"; }': { - index: 11, - lineNumber: 1, - column: 12, - message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' - }, - - 'function a(package) { "use strict"; }': { - index: 11, - lineNumber: 1, - column: 12, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }, - - 'function a() { "use strict"; function b(t, t) { }; }': { - index: 43, - lineNumber: 1, - column: 44, - message: 'Error: Line 1: Strict mode function may not have duplicate parameter names' - }, - - '(function a(t, t) { "use strict"; })': { - index: 15, - lineNumber: 1, - column: 16, - message: 'Error: Line 1: Strict mode function may not have duplicate parameter names' - }, - - 'function a() { "use strict"; (function b(t, t) { }); }': { - index: 44, - lineNumber: 1, - column: 45, - message: 'Error: Line 1: Strict mode function may not have duplicate parameter names' - }, - - '(function a(eval) { "use strict"; })': { - index: 12, - lineNumber: 1, - column: 13, - message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' - }, - - '(function a(package) { "use strict"; })': { - index: 12, - lineNumber: 1, - column: 13, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }, - - 'var': { - index: 3, - lineNumber: 1, - column: 4, - message: 'Error: Line 1: Unexpected end of input' - }, - - 'let': { - index: 3, - lineNumber: 1, - column: 4, - message: 'Error: Line 1: Unexpected end of input' - }, - - 'const': { - index: 5, - lineNumber: 1, - column: 6, - message: 'Error: Line 1: Unexpected end of input' - } - - }, - - 'API': { - 'parse()': { - call: 'parse', - args: [], - result: { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'undefined' - } - }] - } - }, - - 'parse(null)': { - call: 'parse', - args: [null], - result: { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: null - } - }] - } - }, - - 'parse(42)': { - call: 'parse', - args: [42], - result: { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42 - } - }] - } - }, - - 'parse(true)': { - call: 'parse', - args: [true], - result: { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: true - } - }] - } - }, - - 'parse(undefined)': { - call: 'parse', - args: [void 0], - result: { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'undefined' - } - }] - } - }, - - 'parse(new String("test"))': { - call: 'parse', - args: [new String('test')], - result: { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Identifier', - name: 'test' - } - }] - } - }, - - 'parse(new Number(42))': { - call: 'parse', - args: [new Number(42)], - result: { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 42 - } - }] - } - }, - - 'parse(new Boolean(true))': { - call: 'parse', - args: [new Boolean(true)], - result: { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: true - } - }] - } - }, - - 'Syntax': { - property: 'Syntax', - result: { - AssignmentExpression: 'AssignmentExpression', - ArrayExpression: 'ArrayExpression', - BlockStatement: 'BlockStatement', - BinaryExpression: 'BinaryExpression', - BreakStatement: 'BreakStatement', - CallExpression: 'CallExpression', - CatchClause: 'CatchClause', - ConditionalExpression: 'ConditionalExpression', - ContinueStatement: 'ContinueStatement', - DoWhileStatement: 'DoWhileStatement', - DebuggerStatement: 'DebuggerStatement', - EmptyStatement: 'EmptyStatement', - ExpressionStatement: 'ExpressionStatement', - ForStatement: 'ForStatement', - ForInStatement: 'ForInStatement', - FunctionDeclaration: 'FunctionDeclaration', - FunctionExpression: 'FunctionExpression', - Identifier: 'Identifier', - IfStatement: 'IfStatement', - Literal: 'Literal', - LabeledStatement: 'LabeledStatement', - LogicalExpression: 'LogicalExpression', - MemberExpression: 'MemberExpression', - NewExpression: 'NewExpression', - ObjectExpression: 'ObjectExpression', - Program: 'Program', - Property: 'Property', - ReturnStatement: 'ReturnStatement', - SequenceExpression: 'SequenceExpression', - SwitchStatement: 'SwitchStatement', - SwitchCase: 'SwitchCase', - ThisExpression: 'ThisExpression', - ThrowStatement: 'ThrowStatement', - TryStatement: 'TryStatement', - UnaryExpression: 'UnaryExpression', - UpdateExpression: 'UpdateExpression', - VariableDeclaration: 'VariableDeclaration', - VariableDeclarator: 'VariableDeclarator', - WhileStatement: 'WhileStatement', - WithStatement: 'WithStatement' - } - } - - }, - - 'Tolerant parse': { - 'return': { - type: 'Program', - body: [{ - type: 'ReturnStatement', - 'argument': null, - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - } - }], - range: [0, 6], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 6 } - }, - errors: [{ - index: 6, - lineNumber: 1, - column: 7, - message: 'Error: Line 1: Illegal return statement' - }] - }, - - '(function () { \'use strict\'; with (i); }())': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '\'use strict\'', - range: [15, 27], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 27 } - } - }, - range: [15, 28], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 28 } - } - }, { - type: 'WithStatement', - object: { - type: 'Identifier', - name: 'i', - range: [35, 36], - loc: { - start: { line: 1, column: 35 }, - end: { line: 1, column: 36 } - } - }, - body: { - type: 'EmptyStatement', - range: [37, 38], - loc: { - start: { line: 1, column: 37 }, - end: { line: 1, column: 38 } - } - }, - range: [29, 38], - loc: { - start: { line: 1, column: 29 }, - end: { line: 1, column: 38 } - } - }], - range: [13, 40], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 40 } - } - }, - rest: null, - generator: false, - expression: false, - range: [1, 40], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 40 } - } - }, - 'arguments': [], - range: [1, 42], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 42 } - } - }, - range: [0, 43], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 43 } - } - }], - range: [0, 43], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 43 } - }, - errors: [{ - index: 29, - lineNumber: 1, - column: 30, - message: 'Error: Line 1: Strict mode code may not include a with statement' - }] - }, - - '(function () { \'use strict\'; 021 }())': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '\'use strict\'', - range: [15, 27], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 27 } - } - }, - range: [15, 28], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 28 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 17, - raw: "021", - range: [29, 32], - loc: { - start: { line: 1, column: 29 }, - end: { line: 1, column: 32 } - } - }, - range: [29, 33], - loc: { - start: { line: 1, column: 29 }, - end: { line: 1, column: 33 } - } - }], - range: [13, 34], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 34 } - } - }, - rest: null, - generator: false, - expression: false, - range: [1, 34], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 34 } - } - }, - 'arguments': [], - range: [1, 36], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 36 } - } - }, - range: [0, 37], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 37 } - } - }], - range: [0, 37], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 37 } - }, - errors: [{ - index: 29, - lineNumber: 1, - column: 30, - message: 'Error: Line 1: Octal literals are not allowed in strict mode.' - }] - }, - - '"use strict"; delete x': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'UnaryExpression', - operator: 'delete', - argument: { - type: 'Identifier', - name: 'x', - range: [21, 22], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 22 } - } - }, - prefix: true, - range: [14, 22], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 22 } - } - }, - range: [14, 22], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 22 } - } - }], - range: [0, 22], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 22 } - }, - errors: [{ - index: 22, - lineNumber: 1, - column: 23, - message: 'Error: Line 1: Delete of an unqualified identifier in strict mode.' - }] - }, - - '"use strict"; try {} catch (eval) {}': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'TryStatement', - block: { - type: 'BlockStatement', - body: [], - range: [18, 20], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 20 } - } - }, - guardedHandlers: [], - handlers: [{ - type: 'CatchClause', - param: { - type: 'Identifier', - name: 'eval', - range: [28, 32], - loc: { - start: { line: 1, column: 28 }, - end: { line: 1, column: 32 } - } - }, - body: { - type: 'BlockStatement', - body: [], - range: [34, 36], - loc: { - start: { line: 1, column: 34 }, - end: { line: 1, column: 36 } - } - }, - range: [21, 36], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 36 } - } - }], - finalizer: null, - range: [14, 36], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 36 } - } - }], - range: [0, 36], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 36 } - }, - errors: [{ - index: 32, - lineNumber: 1, - column: 33, - message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode' - }] - }, - - '"use strict"; try {} catch (arguments) {}': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'TryStatement', - block: { - type: 'BlockStatement', - body: [], - range: [18, 20], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 20 } - } - }, - guardedHandlers: [], - handlers: [{ - type: 'CatchClause', - param: { - type: 'Identifier', - name: 'arguments', - range: [28, 37], - loc: { - start: { line: 1, column: 28 }, - end: { line: 1, column: 37 } - } - }, - body: { - type: 'BlockStatement', - body: [], - range: [39, 41], - loc: { - start: { line: 1, column: 39 }, - end: { line: 1, column: 41 } - } - }, - range: [21, 41], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 41 } - } - }], - finalizer: null, - range: [14, 41], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 41 } - } - }], - range: [0, 41], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 41 } - }, - errors: [{ - index: 37, - lineNumber: 1, - column: 38, - message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode' - }] - }, - - '"use strict"; var eval;': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'eval', - range: [18, 22], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 22 } - } - }, - init: null, - range: [18, 22], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 22 } - } - }], - kind: 'var', - range: [14, 23], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 23 } - } - }], - range: [0, 23], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 23 } - }, - errors: [{ - index: 22, - lineNumber: 1, - column: 23, - message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode' - }] - }, - - '"use strict"; var arguments;': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'arguments', - range: [18, 27], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 27 } - } - }, - init: null, - range: [18, 27], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 27 } - } - }], - kind: 'var', - range: [14, 28], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 28 } - } - }], - range: [0, 28], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 28 } - }, - errors: [{ - index: 27, - lineNumber: 1, - column: 28, - message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode' - }] - }, - - '"use strict"; eval = 0;': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'eval', - range: [14, 18], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 18 } - } - }, - right: { - type: 'Literal', - value: 0, - raw: '0', - range: [21, 22], - loc: { - start: { line: 1, column: 21 }, - end: { line: 1, column: 22 } - } - }, - range: [14, 22], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 22 } - } - }, - range: [14, 23], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 23 } - } - }], - range: [0, 23], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 23 } - }, - errors: [{ - index: 14, - lineNumber: 1, - column: 15, - message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode' - }] - }, - - '"use strict"; eval++;': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '++', - argument: { - type: 'Identifier', - name: 'eval', - range: [14, 18], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 18 } - } - }, - prefix: false, - range: [14, 20], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 20 } - } - }, - range: [14, 21], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 21 } - } - }], - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - }, - errors: [{ - index: 18, - lineNumber: 1, - column: 19, - message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode' - }] - }, - - '"use strict"; --eval;': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '--', - argument: { - type: 'Identifier', - name: 'eval', - range: [16, 20], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 20 } - } - }, - prefix: true, - range: [14, 20], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 20 } - } - }, - range: [14, 21], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 21 } - } - }], - range: [0, 21], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 21 } - }, - errors: [{ - index: 20, - lineNumber: 1, - column: 21, - message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode' - }] - }, - - '"use strict"; arguments = 0;': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'arguments', - range: [14, 23], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 23 } - } - }, - right: { - type: 'Literal', - value: 0, - raw: '0', - range: [26, 27], - loc: { - start: { line: 1, column: 26 }, - end: { line: 1, column: 27 } - } - }, - range: [14, 27], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 27 } - } - }, - range: [14, 28], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 28 } - } - }], - range: [0, 28], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 28 } - }, - errors: [{ - index: 14, - lineNumber: 1, - column: 15, - message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode' - }] - }, - - '"use strict"; arguments--;': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '--', - argument: { - type: 'Identifier', - name: 'arguments', - range: [14, 23], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 23 } - } - }, - prefix: false, - range: [14, 25], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 25 } - } - }, - range: [14, 26], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 26 } - } - }], - range: [0, 26], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 26 } - }, - errors: [{ - index: 23, - lineNumber: 1, - column: 24, - message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode' - }] - }, - - '"use strict"; ++arguments;': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '++', - argument: { - type: 'Identifier', - name: 'arguments', - range: [16, 25], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 25 } - } - }, - prefix: true, - range: [14, 25], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 25 } - } - }, - range: [14, 26], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 26 } - } - }], - range: [0, 26], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 26 } - }, - errors: [{ - index: 25, - lineNumber: 1, - column: 26, - message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode' - }] - }, - - - '"use strict";x={y:1,y:1}': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [13, 14], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 14 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'y', - range: [16, 17], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 17 } - } - }, - value: { - type: 'Literal', - value: 1, - raw: '1', - range: [18, 19], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 19 } - } - }, - kind: 'init', - range: [16, 19], - loc: { - start: { line: 1, column: 16 }, - end: { line: 1, column: 19 } - } - }, { - type: 'Property', - key: { - type: 'Identifier', - name: 'y', - range: [20, 21], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 21 } - } - }, - value: { - type: 'Literal', - value: 1, - raw: '1', - range: [22, 23], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 23 } - } - }, - kind: 'init', - range: [20, 23], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 23 } - } - }], - range: [15, 24], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 24 } - } - }, - range: [13, 24], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 24 } - } - }, - range: [13, 24], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 24 } - } - }], - range: [0, 24], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 24 } - }, - errors: [{ - index: 23, - lineNumber: 1, - column: 24, - message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode' - }] - }, - - '"use strict"; function eval() {};': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'eval', - range: [23, 27], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 27 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [30, 32], - loc: { - start: { line: 1, column: 30 }, - end: { line: 1, column: 32 } - } - }, - rest: null, - generator: false, - expression: false, - range: [14, 32], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 32 } - } - }, { - type: 'EmptyStatement', - range: [32, 33], - loc: { - start: { line: 1, column: 32 }, - end: { line: 1, column: 33 } - } - }], - range: [0, 33], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 33 } - }, - errors: [{ - index: 23, - lineNumber: 1, - column: 24, - message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' - }] - }, - - '"use strict"; function arguments() {};': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'arguments', - range: [23, 32], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 32 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [35, 37], - loc: { - start: { line: 1, column: 35 }, - end: { line: 1, column: 37 } - } - }, - rest: null, - generator: false, - expression: false, - range: [14, 37], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 37 } - } - }, { - type: 'EmptyStatement', - range: [37, 38], - loc: { - start: { line: 1, column: 37 }, - end: { line: 1, column: 38 } - } - }], - range: [0, 38], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 38 } - }, - errors: [{ - index: 23, - lineNumber: 1, - column: 24, - message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' - }] - }, - - '"use strict"; function interface() {};': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'interface', - range: [23, 32], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 32 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [35, 37], - loc: { - start: { line: 1, column: 35 }, - end: { line: 1, column: 37 } - } - }, - rest: null, - generator: false, - expression: false, - range: [14, 37], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 37 } - } - }, { - type: 'EmptyStatement', - range: [37, 38], - loc: { - start: { line: 1, column: 37 }, - end: { line: 1, column: 38 } - } - }], - range: [0, 38], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 38 } - }, - errors: [{ - index: 23, - lineNumber: 1, - column: 24, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }] - }, - - '"use strict"; (function eval() {});': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: { - type: 'Identifier', - name: 'eval', - range: [24, 28], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 28 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [31, 33], - loc: { - start: { line: 1, column: 31 }, - end: { line: 1, column: 33 } - } - }, - rest: null, - generator: false, - expression: false, - range: [15, 33], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 33 } - } - }, - range: [14, 35], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 35 } - } - }], - range: [0, 35], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 35 } - }, - errors: [{ - index: 24, - lineNumber: 1, - column: 25, - message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' - }] - }, - - '"use strict"; (function arguments() {});': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: { - type: 'Identifier', - name: 'arguments', - range: [24, 33], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 33 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [36, 38], - loc: { - start: { line: 1, column: 36 }, - end: { line: 1, column: 38 } - } - }, - rest: null, - generator: false, - expression: false, - range: [15, 38], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 38 } - } - }, - range: [14, 40], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 40 } - } - }], - range: [0, 40], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 40 } - }, - errors: [{ - index: 24, - lineNumber: 1, - column: 25, - message: 'Error: Line 1: Function name may not be eval or arguments in strict mode' - }] - }, - - '"use strict"; (function interface() {});': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: { - type: 'Identifier', - name: 'interface', - range: [24, 33], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 33 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [36, 38], - loc: { - start: { line: 1, column: 36 }, - end: { line: 1, column: 38 } - } - }, - rest: null, - generator: false, - expression: false, - range: [15, 38], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 38 } - } - }, - range: [14, 40], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 40 } - } - }], - range: [0, 40], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 40 } - }, - errors: [{ - index: 24, - lineNumber: 1, - column: 25, - message: 'Error: Line 1: Use of future reserved word in strict mode' - }] - }, - - '"use strict"; function f(eval) {};': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'f', - range: [23, 24], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 24 } - } - }, - params: [{ - type: 'Identifier', - name: 'eval', - range: [25, 29], - loc: { - start: { line: 1, column: 25 }, - end: { line: 1, column: 29 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [31, 33], - loc: { - start: { line: 1, column: 31 }, - end: { line: 1, column: 33 } - } - }, - rest: null, - generator: false, - expression: false, - range: [14, 33], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 33 } - } - }, { - type: 'EmptyStatement', - range: [33, 34], - loc: { - start: { line: 1, column: 33 }, - end: { line: 1, column: 34 } - } - }], - range: [0, 34], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 34 } - }, - errors: [{ - index: 25, - lineNumber: 1, - column: 26, - message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' - }] - }, - - '"use strict"; function f(arguments) {};': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'f', - range: [23, 24], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 24 } - } - }, - params: [{ - type: 'Identifier', - name: 'arguments', - range: [25, 34], - loc: { - start: { line: 1, column: 25 }, - end: { line: 1, column: 34 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [36, 38], - loc: { - start: { line: 1, column: 36 }, - end: { line: 1, column: 38 } - } - }, - rest: null, - generator: false, - expression: false, - range: [14, 38], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 38 } - } - }, { - type: 'EmptyStatement', - range: [38, 39], - loc: { - start: { line: 1, column: 38 }, - end: { line: 1, column: 39 } - } - }], - range: [0, 39], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 39 } - }, - errors: [{ - index: 25, - lineNumber: 1, - column: 26, - message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' - }] - }, - - '"use strict"; function f(foo, foo) {};': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'f', - range: [23, 24], - loc: { - start: { line: 1, column: 23 }, - end: { line: 1, column: 24 } - } - }, - params: [{ - type: 'Identifier', - name: 'foo', - range: [25, 28], - loc: { - start: { line: 1, column: 25 }, - end: { line: 1, column: 28 } - } - }, { - type: 'Identifier', - name: 'foo', - range: [31, 34], - loc: { - start: { line: 1, column: 31 }, - end: { line: 1, column: 34 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [36, 38], - loc: { - start: { line: 1, column: 36 }, - end: { line: 1, column: 38 } - } - }, - rest: null, - generator: false, - expression: false, - range: [14, 38], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 38 } - } - }, { - type: 'EmptyStatement', - range: [38, 39], - loc: { - start: { line: 1, column: 38 }, - end: { line: 1, column: 39 } - } - }], - range: [0, 39], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 39 } - }, - errors: [{ - index: 31, - lineNumber: 1, - column: 32, - message: 'Error: Line 1: Strict mode function may not have duplicate parameter names' - }] - }, - - '"use strict"; (function f(eval) {});': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: { - type: 'Identifier', - name: 'f', - range: [24, 25], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 25 } - } - }, - params: [{ - type: 'Identifier', - name: 'eval', - range: [26, 30], - loc: { - start: { line: 1, column: 26 }, - end: { line: 1, column: 30 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [32, 34], - loc: { - start: { line: 1, column: 32 }, - end: { line: 1, column: 34 } - } - }, - rest: null, - generator: false, - expression: false, - range: [15, 34], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 34 } - } - }, - range: [14, 36], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 36 } - } - }], - range: [0, 36], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 36 } - }, - errors: [{ - index: 26, - lineNumber: 1, - column: 27, - message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' - }] - }, - - - '"use strict"; (function f(arguments) {});': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: { - type: 'Identifier', - name: 'f', - range: [24, 25], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 25 } - } - }, - params: [{ - type: 'Identifier', - name: 'arguments', - range: [26, 35], - loc: { - start: { line: 1, column: 26 }, - end: { line: 1, column: 35 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [37, 39], - loc: { - start: { line: 1, column: 37 }, - end: { line: 1, column: 39 } - } - }, - rest: null, - generator: false, - expression: false, - range: [15, 39], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 39 } - } - }, - range: [14, 41], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 41 } - } - }], - range: [0, 41], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 41 } - }, - errors: [{ - index: 26, - lineNumber: 1, - column: 27, - message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' - }] - }, - - '"use strict"; (function f(foo, foo) {});': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'FunctionExpression', - id: { - type: 'Identifier', - name: 'f', - range: [24, 25], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 25 } - } - }, - params: [{ - type: 'Identifier', - name: 'foo', - range: [26, 29], - loc: { - start: { line: 1, column: 26 }, - end: { line: 1, column: 29 } - } - }, { - type: 'Identifier', - name: 'foo', - range: [32, 35], - loc: { - start: { line: 1, column: 32 }, - end: { line: 1, column: 35 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [37, 39], - loc: { - start: { line: 1, column: 37 }, - end: { line: 1, column: 39 } - } - }, - rest: null, - generator: false, - expression: false, - range: [15, 39], - loc: { - start: { line: 1, column: 15 }, - end: { line: 1, column: 39 } - } - }, - range: [14, 41], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 41 } - } - }], - range: [0, 41], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 41 } - }, - errors: [{ - index: 32, - lineNumber: 1, - column: 33, - message: 'Error: Line 1: Strict mode function may not have duplicate parameter names' - }] - }, - - '"use strict"; x = { set f(eval) {} }' : { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Identifier', - name: 'x', - range: [14, 15], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 15 } - } - }, - right: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'f', - range: [24, 25], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 25 } - } - }, - value : { - type: 'FunctionExpression', - id: null, - params: [{ - type: 'Identifier', - name: 'eval', - range: [26, 30], - loc: { - start: { line: 1, column: 26 }, - end: { line: 1, column: 30 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [32, 34], - loc: { - start: { line: 1, column: 32 }, - end: { line: 1, column: 34 } - } - }, - rest: null, - generator: false, - expression: false, - range: [32, 34], - loc: { - start: { line: 1, column: 32 }, - end: { line: 1, column: 34 } - } - }, - kind: 'set', - range: [20, 34], - loc: { - start: { line: 1, column: 20 }, - end: { line: 1, column: 34 } - } - }], - range: [18, 36], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 36 } - } - }, - range: [14, 36], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 36 } - } - }, - range: [14, 36], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 36 } - } - }], - range: [0, 36], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 36 } - }, - errors: [{ - index: 26, - lineNumber: 1, - column: 27, - message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode' - }] - }, - - 'function hello() { "octal directive\\1"; "use strict"; }': { - type: 'Program', - body: [{ - type: 'FunctionDeclaration', - id: { - type: 'Identifier', - name: 'hello', - range: [9, 14], - loc: { - start: { line: 1, column: 9 }, - end: { line: 1, column: 14 } - } - }, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'octal directive\u0001', - raw: '"octal directive\\1"', - range: [19, 38], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 38 } - } - }, - range: [19, 39], - loc: { - start: { line: 1, column: 19 }, - end: { line: 1, column: 39 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [40, 52], - loc: { - start: { line: 1, column: 40 }, - end: { line: 1, column: 52 } - } - }, - range: [40, 53], - loc: { - start: { line: 1, column: 40 }, - end: { line: 1, column: 53 } - } - }], - range: [17, 55], - loc: { - start: { line: 1, column: 17 }, - end: { line: 1, column: 55 } - } - }, - rest: null, - generator: false, - expression: false, - range: [0, 55], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 55 } - } - }], - range: [0, 55], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 55 } - }, - errors: [{ - index: 19, - lineNumber: 1, - column: 20, - message: 'Error: Line 1: Octal literals are not allowed in strict mode.' - }] - }, - - '"\\1"; \'use strict\';': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: '\u0001', - raw: '"\\1"', - range: [0, 4], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 4 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, { - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '\'use strict\'', - range: [6, 18], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 18 } - } - }, - range: [6, 19], - loc: { - start: { line: 1, column: 6 }, - end: { line: 1, column: 19 } - } - }], - range: [0, 19], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 19 } - }, - errors: [{ - index: 0, - lineNumber: 1, - column: 1, - message: 'Error: Line 1: Octal literals are not allowed in strict mode.' - }] - }, - - '"use strict"; var x = { 014: 3}': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [18, 19], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 19 } - } - }, - init: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Literal', - value: 12, - raw: '014', - range: [24, 27], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 27 } - } - }, - value: { - type: 'Literal', - value: 3, - raw: '3', - range: [29, 30], - loc: { - start: { line: 1, column: 29 }, - end: { line: 1, column: 30 } - } - }, - kind: 'init', - range: [24, 30], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 30 } - } - }], - range: [22, 31], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 31 } - } - }, - range: [18, 31], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 31 } - } - }], - kind: 'var', - range: [14, 31], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 31 } - } - }], - range: [0, 31], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 31 } - }, - errors: [{ - index: 24, - lineNumber: 1, - column: 25, - message: 'Error: Line 1: Octal literals are not allowed in strict mode.' - }] - }, - - '"use strict"; var x = { get i() {}, get i() {} }': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [18, 19], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 19 } - } - }, - init: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'i', - range: [28, 29], - loc: { - start: { line: 1, column: 28 }, - end: { line: 1, column: 29 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [32, 34], - loc: { - start: { line: 1, column: 32 }, - end: { line: 1, column: 34 } - } - }, - rest: null, - generator: false, - expression: false, - range: [32, 34], - loc: { - start: { line: 1, column: 32 }, - end: { line: 1, column: 34 } - } - }, - kind: 'get', - range: [24, 34], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 34 } - } - }, { - type: 'Property', - key: { - type: 'Identifier', - name: 'i', - range: [40, 41], - loc: { - start: { line: 1, column: 40 }, - end: { line: 1, column: 41 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [44, 46], - loc: { - start: { line: 1, column: 44 }, - end: { line: 1, column: 46 } - } - }, - rest: null, - generator: false, - expression: false, - range: [44, 46], - loc: { - start: { line: 1, column: 44 }, - end: { line: 1, column: 46 } - } - }, - kind: 'get', - range: [36, 46], - loc: { - start: { line: 1, column: 36 }, - end: { line: 1, column: 46 } - } - }], - range: [22, 48], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 48 } - } - }, - range: [18, 48], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 48 } - } - }], - kind: 'var', - range: [14, 48], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 48 } - } - }], - range: [0, 48], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 48 } - }, - errors: [{ - index: 46, - lineNumber: 1, - column: 47, - message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name' - }] - }, - - '"use strict"; var x = { i: 42, get i() {} }': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [18, 19], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 19 } - } - }, - init: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'i', - range: [24, 25], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 25 } - } - }, - value: { - type: 'Literal', - value: 42, - raw: '42', - range: [27, 29], - loc: { - start: { line: 1, column: 27 }, - end: { line: 1, column: 29 } - } - }, - kind: 'init', - range: [24, 29], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 29 } - } - }, { - type: 'Property', - key: { - type: 'Identifier', - name: 'i', - range: [35, 36], - loc: { - start: { line: 1, column: 35 }, - end: { line: 1, column: 36 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [39, 41], - loc: { - start: { line: 1, column: 39 }, - end: { line: 1, column: 41 } - } - }, - rest: null, - generator: false, - expression: false, - range: [39, 41], - loc: { - start: { line: 1, column: 39 }, - end: { line: 1, column: 41 } - } - }, - kind: 'get', - range: [31, 41], - loc: { - start: { line: 1, column: 31 }, - end: { line: 1, column: 41 } - } - }], - range: [22, 43], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 43 } - } - }, - range: [18, 43], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 43 } - } - }], - kind: 'var', - range: [14, 43], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 43 } - } - }], - range: [0, 43], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 43 } - }, - errors: [{ - index: 41, - lineNumber: 1, - column: 42, - message: 'Error: Line 1: Object literal may not have data and accessor property with the same name' - }] - }, - - '"use strict"; var x = { set i(x) {}, i: 42 }': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'Literal', - value: 'use strict', - raw: '"use strict"', - range: [0, 12], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 12 } - } - }, - range: [0, 13], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 13 } - } - }, { - type: 'VariableDeclaration', - declarations: [{ - type: 'VariableDeclarator', - id: { - type: 'Identifier', - name: 'x', - range: [18, 19], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 19 } - } - }, - init: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 'i', - range: [28, 29], - loc: { - start: { line: 1, column: 28 }, - end: { line: 1, column: 29 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [{ - type: 'Identifier', - name: 'x', - range: [30, 31], - loc: { - start: { line: 1, column: 30 }, - end: { line: 1, column: 31 } - } - }], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [33, 35], - loc: { - start: { line: 1, column: 33 }, - end: { line: 1, column: 35 } - } - }, - rest: null, - generator: false, - expression: false, - range: [33, 35], - loc: { - start: { line: 1, column: 33 }, - end: { line: 1, column: 35 } - } - }, - kind: 'set', - range: [24, 35], - loc: { - start: { line: 1, column: 24 }, - end: { line: 1, column: 35 } - } - }, { - type: 'Property', - key: { - type: 'Identifier', - name: 'i', - range: [37, 38], - loc: { - start: { line: 1, column: 37 }, - end: { line: 1, column: 38 } - } - }, - value: { - type: 'Literal', - value: 42, - raw: '42', - range: [40, 42], - loc: { - start: { line: 1, column: 40 }, - end: { line: 1, column: 42 } - } - }, - kind: 'init', - range: [37, 42], - loc: { - start: { line: 1, column: 37 }, - end: { line: 1, column: 42 } - } - }], - range: [22, 44], - loc: { - start: { line: 1, column: 22 }, - end: { line: 1, column: 44 } - } - }, - range: [18, 44], - loc: { - start: { line: 1, column: 18 }, - end: { line: 1, column: 44 } - } - }], - kind: 'var', - range: [14, 44], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 44 } - } - }], - range: [0, 44], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 44 } - }, - errors: [{ - index: 42, - lineNumber: 1, - column: 43, - message: 'Error: Line 1: Object literal may not have data and accessor property with the same name' - }] - - - }, - - '({ set s() { } })': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'ObjectExpression', - properties: [{ - type: 'Property', - key: { - type: 'Identifier', - name: 's', - range: [7, 8], - loc: { - start: { line: 1, column: 7 }, - end: { line: 1, column: 8 } - } - }, - value: { - type: 'FunctionExpression', - id: null, - params: [], - defaults: [], - body: { - type: 'BlockStatement', - body: [], - range: [11, 14], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 14 } - } - }, - rest: null, - generator: false, - expression: false, - range: [11, 14], - loc: { - start: { line: 1, column: 11 }, - end: { line: 1, column: 14 } - } - }, - kind: 'set', - range: [3, 14], - loc: { - start: { line: 1, column: 3 }, - end: { line: 1, column: 14 } - } - }], - range: [1, 16], - loc: { - start: { line: 1, column: 1 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - } - }], - range: [0, 17], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 17 } - }, - errors: [{ - index: 9, - lineNumber: 1, - column: 10, - message: 'Error: Line 1: Unexpected token )' - }] - }, - - 'foo("bar") = baz': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'CallExpression', - callee: { - type: 'Identifier', - name: 'foo', - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - 'arguments': [{ - type: 'Literal', - value: 'bar', - raw: '"bar"', - range: [4, 9], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 9 } - } - }], - range: [0, 10], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 10 } - } - }, - right: { - type: 'Identifier', - name: 'baz', - range: [13, 16], - loc: { - start: { line: 1, column: 13 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }], - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - }, - errors: [{ - index: 10, - lineNumber: 1, - column: 11, - message: 'Error: Line 1: Invalid left-hand side in assignment' - }] - }, - - '1 = 2': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - operator: '=', - left: { - type: 'Literal', - value: 1, - raw: '1', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - right: { - type: 'Literal', - value: 2, - raw: '2', - range: [4, 5], - loc: { - start: { line: 1, column: 4 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }, - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - } - }], - range: [0, 5], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 5 } - }, - errors: [{ - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Invalid left-hand side in assignment' - }] - }, - - '3++': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '++', - argument: { - type: 'Literal', - value: 3, - raw: '3', - range: [0, 1], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 1 } - } - }, - prefix: false, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }], - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - }, - errors: [{ - index: 1, - lineNumber: 1, - column: 2, - message: 'Error: Line 1: Invalid left-hand side in assignment' - }] - }, - - '--4': { - type: 'Program', - body: [{ - type: 'ExpressionStatement', - expression: { - type: 'UpdateExpression', - operator: '--', - argument: { - type: 'Literal', - value: 4, - raw: '4', - range: [2, 3], - loc: { - start: { line: 1, column: 2 }, - end: { line: 1, column: 3 } - } - }, - prefix: true, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }, - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - } - }], - range: [0, 3], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 3 } - }, - errors: [{ - index: 3, - lineNumber: 1, - column: 4, - message: 'Error: Line 1: Invalid left-hand side in assignment' - }] - }, - - 'for (5 in []) {}': { - type: 'Program', - body: [{ - type: 'ForInStatement', - left: { - type: 'Literal', - value: 5, - raw: '5', - range: [5, 6], - loc: { - start: { line: 1, column: 5 }, - end: { line: 1, column: 6 } - } - }, - right: { - type: 'ArrayExpression', - elements: [], - range: [10, 12], - loc: { - start: { line: 1, column: 10 }, - end: { line: 1, column: 12 } - } - }, - body: { - type: 'BlockStatement', - body: [], - range: [14, 16], - loc: { - start: { line: 1, column: 14 }, - end: { line: 1, column: 16 } - } - }, - each: false, - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - } - }], - range: [0, 16], - loc: { - start: { line: 1, column: 0 }, - end: { line: 1, column: 16 } - }, - errors: [{ - index: 6, - lineNumber: 1, - column: 7, - message: 'Error: Line 1: Invalid left-hand side in for-in' - }] - } - - - } -}; - diff --git a/node_modules/grunt/node_modules/js-yaml/package.json b/node_modules/grunt/node_modules/js-yaml/package.json deleted file mode 100644 index 43b050a56a9f..000000000000 --- a/node_modules/grunt/node_modules/js-yaml/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "js-yaml", - "version": "2.0.5", - "description": "YAML 1.2 parser and serializer", - "keywords": [ - "yaml", - "parser", - "serializer", - "pyyaml" - ], - "homepage": "https://github.com/nodeca/js-yaml", - "author": { - "name": "Dervus Grim", - "email": "dervus@lavabit.com" - }, - "contributors": [ - { - "name": "Aleksey V Zapparov", - "email": "ixti@member.fsf.org", - "url": "http://www.ixti.net/" - }, - { - "name": "Martin Grenfell", - "email": "martin.grenfell@gmail.com", - "url": "http://got-ravings.blogspot.com" - } - ], - "bugs": { - "url": "https://github.com/nodeca/js-yaml/issues" - }, - "license": { - "type": "MIT", - "url": "https://github.com/nodeca/js-yaml/blob/master/LICENSE" - }, - "repository": { - "type": "git", - "url": "git://github.com/nodeca/js-yaml.git" - }, - "main": "./index.js", - "bin": { - "js-yaml": "bin/js-yaml.js" - }, - "scripts": { - "test": "make test" - }, - "dependencies": { - "argparse": "~ 0.1.11", - "esprima": "~ 1.0.2" - }, - "devDependencies": { - "mocha": "*" - }, - "engines": { - "node": ">= 0.6.0" - }, - "readme": "JS-YAML - YAML 1.2 parser and serializer for JavaScript\n=======================================================\n\n[![Build Status](https://secure.travis-ci.org/nodeca/js-yaml.png)](http://travis-ci.org/nodeca/js-yaml)\n\n[Online Demo](http://nodeca.github.com/js-yaml/)\n\n\nThis is an implementation of [YAML](http://yaml.org/), a human friendly data\nserialization language. Started as [PyYAML](http://pyyaml.org/) port, it was\ncompletely rewritten from scratch. Now it's very fast, and supports 1.2 spec.\n\n\nBreaking changes in 1.x.x -> 2.0.x\n----------------------------------\n\nIf your have not used __custom__ tags or loader classes - no changes needed. Just\nupgrade library and enjoy high parse speed.\n\nIn other case, you should rewrite your tag constructors and custom loader\nclasses, to conform new schema-based API. See\n[examples](https://github.com/nodeca/js-yaml/tree/master/examples) and\n[wiki](https://github.com/nodeca/js-yaml/wiki) for details.\nNote, that parser internals were completely rewritten.\n\n\nInstallation\n------------\n\n### YAML module for node.js\n\n```\nnpm install js-yaml\n```\n\n\n### CLI executable\n\nIf you want to inspect your YAML files from CLI, install js-yaml globally:\n\n```\nnpm install js-yaml -g\n```\n\n#### Usage\n\n```\nusage: js-yaml [-h] [-v] [-c] [-j] [-t] file\n\nPositional arguments:\n file File with YAML document(s)\n\nOptional arguments:\n -h, --help Show this help message and exit.\n -v, --version Show program's version number and exit.\n -c, --compact Display errors in compact mode\n -j, --to-json Output a non-funky boring JSON\n -t, --trace Show stack trace on error\n```\n\n\n### Bundled YAML library for browsers\n\n``` html\n\n\n```\n\nBrowser support was done mostly for online demo. If you find any errors - feel\nfree to send pull requests with fixes. Also note, that IE and other old browsers\nneeds [es5-shims](https://github.com/kriskowal/es5-shim) to operate.\n\n\nAPI\n---\n\nHere we cover the most 'useful' methods. If you need advanced details (creating\nyour own tags), see [wiki](https://github.com/nodeca/js-yaml/wiki) and\n[examples](https://github.com/nodeca/js-yaml/tree/master/examples) for more\ninfo.\n\nIn node.js JS-YAML automatically registers handlers for `.yml` and `.yaml`\nfiles. You can load them just with `require`. That's mostly equivalent to\ncalling `load()` on fetched content of a file. Just with one string!\n\n``` javascript\nrequire('js-yaml');\n\n// Get document, or throw exception on error\ntry {\n var doc = require('/home/ixti/example.yml');\n console.log(doc);\n} catch (e) {\n console.log(e);\n}\n```\n\n\n### load (string [ , options ])\n\nParses `string` as single YAML document. Returns a JavaScript object or throws\n`YAMLException` on error.\n\nNOTE: This function **does not** understands multi-document sources, it throws\nexception on those.\n\noptions:\n\n- `filename` _(default: null)_ - string to be used as a file path in\n error/warning messages.\n- `strict` _(default - false)_ makes the loader to throw errors instead of\n warnings.\n- `schema` _(default: `DEFAULT_SCHEMA`)_ - specifies a schema to use.\n\n\n### loadAll (string, iterator [ , options ])\n\nSame as `load()`, but understands multi-document sources and apply `iterator` to\neach document.\n\n``` javascript\nvar yaml = require('js-yaml');\n\nyaml.loadAll(data, function (doc) {\n console.log(doc);\n});\n```\n\n\n### safeLoad (string [ , options ])\n\nSame as `load()` but uses `SAFE_SCHEMA` by default - only recommended tags of\nYAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`).\n\n\n### safeLoadAll (string, iterator [ , options ])\n\nSame as `loadAll()` but uses `SAFE_SCHEMA` by default - only recommended tags of\nYAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`).\n\n\n### dump (object [ , options ])\n\nSerializes `object` as YAML document.\n\noptions:\n\n- `indent` _(default: 2)_ - indentation width to use (in spaces).\n- `flowLevel` (default: -1) - specifies level of nesting, when to switch from\n block to flow style for collections. -1 means block style everwhere\n- `styles` - \"tag\" => \"style\" map. Each tag may have own set of styles.\n- `schema` _(default: `DEFAULT_SCHEMA`)_ specifies a schema to use.\n\nstyles:\n\n``` none\n!!null\n \"canonical\" => \"~\"\n\n!!int\n \"binary\" => \"0b1\", \"0b101010\", \"0b1110001111010\"\n \"octal\" => \"01\", \"052\", \"016172\"\n \"decimal\" => \"1\", \"42\", \"7290\"\n \"hexadecimal\" => \"0x1\", \"0x2A\", \"0x1C7A\"\n\n!!null, !!bool, !!float\n \"lowercase\" => \"null\", \"true\", \"false\", \".nan\", '.inf'\n \"uppercase\" => \"NULL\", \"TRUE\", \"FALSE\", \".NAN\", '.INF'\n \"camelcase\" => \"Null\", \"True\", \"False\", \".NaN\", '.Inf'\n```\n\nBy default, !!int uses `decimal`, and !!null, !!bool, !!float use `lowercase`.\n\n\n### safeDump (object [ , options ])\n\nSame as `dump()` but uses `SAFE_SCHEMA` by default - only recommended tags of\nYAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`).\n\n\nSupported YAML types\n--------------------\n\nThe list of standard YAML tags and corresponding JavaScipt types. See also\n[YAML tag discussion](http://pyyaml.org/wiki/YAMLTagDiscussion) and\n[YAML types repository](http://yaml.org/type/).\n\n```\n!!null '' # null\n!!bool 'yes' # bool\n!!int '3...' # number\n!!float '3.14...' # number\n!!binary '...base64...' # buffer\n!!timestamp 'YYYY-...' # date\n!!omap [ ... ] # array of key-value pairs\n!!pairs [ ... ] # array or array pairs\n!!set { ... } # array of objects with given keys and null values\n!!str '...' # string\n!!seq [ ... ] # array\n!!map { ... } # object\n```\n\n**JavaScript-specific tags**\n\n```\n!!js/regexp /pattern/gim # RegExp\n!!js/undefined '' # Undefined\n!!js/function 'function () {...}' # Function\n```\n\n\n\n\n## Caveats\n\nNote, that you use arrays or objects as key in JS-YAML. JS do not allows objects\nor array as keys, and stringifies (by calling .toString method) them at the\nmoment of adding them.\n\n``` yaml\n---\n? [ foo, bar ]\n: - baz\n? { foo: bar }\n: - baz\n - baz\n```\n\n``` javascript\n{ \"foo,bar\": [\"baz\"], \"[object Object]\": [\"baz\", \"baz\"] }\n```\n\nAlso, reading of properties on implicit block mapping keys is not supported yet.\nSo, the following YAML document cannot be loaded.\n\n``` yaml\n&anchor foo:\n foo: bar\n *anchor: duplicate key\n baz: bat\n *anchor: duplicate key\n```\n\n## License\n\nView the [LICENSE](https://github.com/nodeca/js-yaml/blob/master/LICENSE) file\n(MIT).\n", - "readmeFilename": "README.md", - "_id": "js-yaml@2.0.5", - "_from": "js-yaml@~2.0.5" -} diff --git a/node_modules/grunt/node_modules/lodash/README.md b/node_modules/grunt/node_modules/lodash/README.md deleted file mode 100644 index 55dae80fe275..000000000000 --- a/node_modules/grunt/node_modules/lodash/README.md +++ /dev/null @@ -1,140 +0,0 @@ -# Lo-Dash v0.9.2 - -A utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features). - -## Download - - * [Development build](https://raw.github.com/lodash/lodash/0.9.2/lodash.js) - * [Production build](https://raw.github.com/lodash/lodash/0.9.2/lodash.min.js) - * [Underscore build](https://raw.github.com/lodash/lodash/0.9.2/lodash.underscore.min.js) tailored for projects already using Underscore - * CDN copies of ≤ v0.9.2’s [Production](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.min.js), [Underscore](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.underscore.min.js), and [Development](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.js) builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/) - * For optimal file size, [create a custom build](http://lodash.com/custom-builds) with only the features you need - -## Dive in - -We’ve got [API docs](http://lodash.com/docs), [benchmarks](http://lodash.com/benchmarks), and [unit tests](http://lodash.com/tests). - -Create your own benchmarks at [jsPerf](http://jsperf.com), or [search](http://jsperf.com/search?q=lodash) for existing ones. - -For a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap). - -## Screencasts - -For more information check out these screencasts over Lo-Dash: - - * [Introducing Lo-Dash](https://vimeo.com/44154599) - * [Lo-Dash optimizations and custom builds](https://vimeo.com/44154601) - * [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600) - * [Unit testing in Lo-Dash](https://vimeo.com/45865290) - * [Lo-Dash’s approach to native method use](https://vimeo.com/48576012) - -## Features - - * AMD loader support ([RequireJS](http://requirejs.org/), [curl.js](https://github.com/cujojs/curl), etc.) - * [_.clone](http://lodash.com/docs#clone) supports *“deepâ€* cloning - * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex` argument - * [_.forEach](http://lodash.com/docs#forEach) is chainable and supports exiting iteration early - * [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties - * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties - * [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor - * [_.lateBind](http://lodash.com/docs#lateBind) for late binding - * [_.merge](http://lodash.com/docs#merge) for a *“deepâ€* [_.extend](http://lodash.com/docs#extend) - * [_.partial](http://lodash.com/docs#partial) for partial application without `this` binding - * [_.pick](http://lodash.com/docs#pick) and [_.omit](http://lodash.com/docs#omit) accepts `callback` and `thisArg` arguments - * [_.template](http://lodash.com/docs#template) supports [ES6 delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6) and utilizes [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) for easier debugging - * [_.contains](http://lodash.com/docs#contains), [_.size](http://lodash.com/docs#size), [_.toArray](http://lodash.com/docs#toArray), - [and more…](http://lodash.com/docs "_.countBy, _.every, _.filter, _.find, _.forEach, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.some, _.sortBy, _.where") accept strings - -## Support - -Lo-Dash has been tested in at least Chrome 5~23, Firefox 1~16, IE 6-10, Opera 9.25-12, Safari 3-6, Node.js 0.4.8-0.8.14, Narwhal 0.3.2, RingoJS 0.8, and Rhino 1.7RC5. - -## Installation and usage - -In browsers: - -```html - -``` - -Using [npm](http://npmjs.org/): - -```bash -npm install lodash - -npm install -g lodash -npm link lodash -``` - -In [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/): - -```js -var _ = require('lodash'); -``` - -**Note:** If Lo-Dash is installed globally, [run `npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it. - -In [RingoJS v0.7.0-](http://ringojs.org/): - -```js -var _ = require('lodash')._; -``` - -In [Rhino](http://www.mozilla.org/rhino/): - -```js -load('lodash.js'); -``` - -In an AMD loader like [RequireJS](http://requirejs.org/): - -```js -require({ - 'paths': { - 'underscore': 'path/to/lodash' - } -}, -['underscore'], function(_) { - console.log(_.VERSION); -}); -``` - -## Resolved Underscore.js issues - - * Allow iteration of objects with a `length` property [[#799](https://github.com/documentcloud/underscore/pull/799), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L545-551)] - * Fix cross-browser object iteration bugs [[#60](https://github.com/documentcloud/underscore/issues/60), [#376](https://github.com/documentcloud/underscore/issues/376), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L558-582)] - * Methods should work on pages with incorrectly shimmed native methods [[#7](https://github.com/documentcloud/underscore/issues/7), [#742](https://github.com/documentcloud/underscore/issues/742), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L140-146)] - * `_.isEmpty` should support jQuery/MooTools DOM query collections [[#690](https://github.com/documentcloud/underscore/pull/690), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L747-752)] - * `_.isObject` should avoid V8 bug [#2291](http://code.google.com/p/8/issues/detail?id=2291) [[#605](https://github.com/documentcloud/underscore/issues/605), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L828-840)] - * `_.keys` should work with `arguments` objects cross-browser [[#396](https://github.com/documentcloud/underscore/issues/396), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L921-923)] - * `_.range` should coerce arguments to numbers [[#634](https://github.com/documentcloud/underscore/issues/634), [#683](https://github.com/documentcloud/underscore/issues/683), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L1337-1340)] - -## Release Notes - -### v0.9.2 - - * Added `fromIndex` argument to `_.contains` - * Added `moduleId` build option - * Added Closure Compiler *“simpleâ€* optimizations to the build process - * Added support for strings in `_.max` and `_.min` - * Added support for ES6 template delimiters to `_.template` - * Ensured re-minification of Lo-Dash by third parties avoids Closure Compiler bugs - * Optimized `_.every`, `_.find`, `_.some`, and `_.uniq` - -The full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog). - -## BestieJS - -Lo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Classâ€* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation. - -## Author - -| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton "Follow @jdalton on Twitter") | -|---| -| [John-David Dalton](http://allyoucanleet.com/) | - -## Contributors - -| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias "Follow @mathias on Twitter") | -|---|---|---| -| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) | diff --git a/node_modules/grunt/node_modules/lodash/lodash.js b/node_modules/grunt/node_modules/lodash/lodash.js deleted file mode 100644 index 9eae931c2731..000000000000 --- a/node_modules/grunt/node_modules/lodash/lodash.js +++ /dev/null @@ -1,4258 +0,0 @@ -/*! - * Lo-Dash v0.9.2 - * (c) 2012 John-David Dalton - * Based on Underscore.js 1.4.2 - * (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. - * Available under MIT license - */ -;(function(window, undefined) { - - /** Detect free variable `exports` */ - var freeExports = typeof exports == 'object' && exports; - - /** Detect free variable `global` and use it as `window` */ - var freeGlobal = typeof global == 'object' && global; - if (freeGlobal.global === freeGlobal) { - window = freeGlobal; - } - - /** Used for array and object method references */ - var arrayRef = [], - // avoid a Closure Compiler bug by creatively creating an object - objectRef = new function(){}; - - /** Used to generate unique IDs */ - var idCounter = 0; - - /** Used internally to indicate various things */ - var indicatorObject = objectRef; - - /** Used by `cachedContains` as the default size when optimizations are enabled for large arrays */ - var largeArraySize = 30; - - /** Used to restore the original `_` reference in `noConflict` */ - var oldDash = window._; - - /** Used to detect template delimiter values that require a with-statement */ - var reComplexDelimiter = /[-?+=!~*%&^<>|{(\/]|\[\D|\b(?:delete|in|instanceof|new|typeof|void)\b/; - - /** Used to match HTML entities */ - var reEscapedHtml = /&(?:amp|lt|gt|quot|#x27);/g; - - /** Used to match empty string literals in compiled template source */ - var reEmptyStringLeading = /\b__p \+= '';/g, - reEmptyStringMiddle = /\b(__p \+=) '' \+/g, - reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; - - /** Used to match regexp flags from their coerced string values */ - var reFlags = /\w*$/; - - /** Used to insert the data object variable into compiled template source */ - var reInsertVariable = /(?:__e|__t = )\(\s*(?![\d\s"']|this\.)/g; - - /** Used to detect if a method is native */ - var reNative = RegExp('^' + - (objectRef.valueOf + '') - .replace(/[.*+?^=!:${}()|[\]\/\\]/g, '\\$&') - .replace(/valueOf|for [^\]]+/g, '.+?') + '$' - ); - - /** - * Used to match ES6 template delimiters - * http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6 - */ - var reEsTemplate = /\$\{((?:(?=\\?)\\?[\s\S])*?)}/g; - - /** Used to match "interpolate" template delimiters */ - var reInterpolate = /<%=([\s\S]+?)%>/g; - - /** Used to ensure capturing order of template delimiters */ - var reNoMatch = /($^)/; - - /** Used to match HTML characters */ - var reUnescapedHtml = /[&<>"']/g; - - /** Used to match unescaped characters in compiled string literals */ - var reUnescapedString = /['\n\r\t\u2028\u2029\\]/g; - - /** Used to fix the JScript [[DontEnum]] bug */ - var shadowed = [ - 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', - 'toLocaleString', 'toString', 'valueOf' - ]; - - /** Used to make template sourceURLs easier to identify */ - var templateCounter = 0; - - /** Native method shortcuts */ - var ceil = Math.ceil, - concat = arrayRef.concat, - floor = Math.floor, - getPrototypeOf = reNative.test(getPrototypeOf = Object.getPrototypeOf) && getPrototypeOf, - hasOwnProperty = objectRef.hasOwnProperty, - push = arrayRef.push, - propertyIsEnumerable = objectRef.propertyIsEnumerable, - slice = arrayRef.slice, - toString = objectRef.toString; - - /* Native method shortcuts for methods with the same name as other `lodash` methods */ - var nativeBind = reNative.test(nativeBind = slice.bind) && nativeBind, - nativeIsArray = reNative.test(nativeIsArray = Array.isArray) && nativeIsArray, - nativeIsFinite = window.isFinite, - nativeIsNaN = window.isNaN, - nativeKeys = reNative.test(nativeKeys = Object.keys) && nativeKeys, - nativeMax = Math.max, - nativeMin = Math.min, - nativeRandom = Math.random; - - /** `Object#toString` result shortcuts */ - var argsClass = '[object Arguments]', - arrayClass = '[object Array]', - boolClass = '[object Boolean]', - dateClass = '[object Date]', - funcClass = '[object Function]', - numberClass = '[object Number]', - objectClass = '[object Object]', - regexpClass = '[object RegExp]', - stringClass = '[object String]'; - - /** - * Detect the JScript [[DontEnum]] bug: - * - * In IE < 9 an objects own properties, shadowing non-enumerable ones, are - * made non-enumerable as well. - */ - var hasDontEnumBug; - - /** Detect if own properties are iterated after inherited properties (IE < 9) */ - var iteratesOwnLast; - - /** - * Detect if `Array#shift` and `Array#splice` augment array-like objects - * incorrectly: - * - * Firefox < 10, IE compatibility mode, and IE < 9 have buggy Array `shift()` - * and `splice()` functions that fail to remove the last element, `value[0]`, - * of array-like objects even though the `length` property is set to `0`. - * The `shift()` method is buggy in IE 8 compatibility mode, while `splice()` - * is buggy regardless of mode in IE < 9 and buggy in compatibility mode in IE 9. - */ - var hasObjectSpliceBug = (hasObjectSpliceBug = { '0': 1, 'length': 1 }, - arrayRef.splice.call(hasObjectSpliceBug, 0, 1), hasObjectSpliceBug[0]); - - /** Detect if an `arguments` object's indexes are non-enumerable (IE < 9) */ - var noArgsEnum = true; - - (function() { - var props = []; - function ctor() { this.x = 1; } - ctor.prototype = { 'valueOf': 1, 'y': 1 }; - for (var prop in new ctor) { props.push(prop); } - for (prop in arguments) { noArgsEnum = !prop; } - - hasDontEnumBug = !/valueOf/.test(props); - iteratesOwnLast = props[0] != 'x'; - }(1)); - - /** Detect if an `arguments` object's [[Class]] is unresolvable (Firefox < 4, IE < 9) */ - var noArgsClass = !isArguments(arguments); - - /** Detect if `Array#slice` cannot be used to convert strings to arrays (Opera < 10.52) */ - var noArraySliceOnStrings = slice.call('x')[0] != 'x'; - - /** - * Detect lack of support for accessing string characters by index: - * - * IE < 8 can't access characters by index and IE 8 can only access - * characters by index on string literals. - */ - var noCharByIndex = ('x'[0] + Object('x')[0]) != 'xx'; - - /** - * Detect if a node's [[Class]] is unresolvable (IE < 9) - * and that the JS engine won't error when attempting to coerce an object to - * a string without a `toString` property value of `typeof` "function". - */ - try { - var noNodeClass = ({ 'toString': 0 } + '', toString.call(window.document || 0) == objectClass); - } catch(e) { } - - /* Detect if `Function#bind` exists and is inferred to be fast (all but V8) */ - var isBindFast = nativeBind && /\n|Opera/.test(nativeBind + toString.call(window.opera)); - - /* Detect if `Object.keys` exists and is inferred to be fast (IE, Opera, V8) */ - var isKeysFast = nativeKeys && /^.+$|true/.test(nativeKeys + !!window.attachEvent); - - /** - * Detect if sourceURL syntax is usable without erroring: - * - * The JS engine in Adobe products, like InDesign, will throw a syntax error - * when it encounters a single line comment beginning with the `@` symbol. - * - * The JS engine in Narwhal will generate the function `function anonymous(){//}` - * and throw a syntax error. - * - * Avoid comments beginning `@` symbols in IE because they are part of its - * non-standard conditional compilation support. - * http://msdn.microsoft.com/en-us/library/121hztk3(v=vs.94).aspx - */ - try { - var useSourceURL = (Function('//@')(), !window.attachEvent); - } catch(e) { } - - /** Used to identify object classifications that `_.clone` supports */ - var cloneableClasses = {}; - cloneableClasses[argsClass] = cloneableClasses[funcClass] = false; - cloneableClasses[arrayClass] = cloneableClasses[boolClass] = cloneableClasses[dateClass] = - cloneableClasses[numberClass] = cloneableClasses[objectClass] = cloneableClasses[regexpClass] = - cloneableClasses[stringClass] = true; - - /** Used to determine if values are of the language type Object */ - var objectTypes = { - 'boolean': false, - 'function': true, - 'object': true, - 'number': false, - 'string': false, - 'undefined': false - }; - - /** Used to escape characters for inclusion in compiled string literals */ - var stringEscapes = { - '\\': '\\', - "'": "'", - '\n': 'n', - '\r': 'r', - '\t': 't', - '\u2028': 'u2028', - '\u2029': 'u2029' - }; - - /*--------------------------------------------------------------------------*/ - - /** - * The `lodash` function. - * - * @name _ - * @constructor - * @category Chaining - * @param {Mixed} value The value to wrap in a `lodash` instance. - * @returns {Object} Returns a `lodash` instance. - */ - function lodash(value) { - // exit early if already wrapped - if (value && value.__wrapped__) { - return value; - } - // allow invoking `lodash` without the `new` operator - if (!(this instanceof lodash)) { - return new lodash(value); - } - this.__wrapped__ = value; - } - - /** - * By default, the template delimiters used by Lo-Dash are similar to those in - * embedded Ruby (ERB). Change the following template settings to use alternative - * delimiters. - * - * @static - * @memberOf _ - * @type Object - */ - lodash.templateSettings = { - - /** - * Used to detect `data` property values to be HTML-escaped. - * - * @static - * @memberOf _.templateSettings - * @type RegExp - */ - 'escape': /<%-([\s\S]+?)%>/g, - - /** - * Used to detect code to be evaluated. - * - * @static - * @memberOf _.templateSettings - * @type RegExp - */ - 'evaluate': /<%([\s\S]+?)%>/g, - - /** - * Used to detect `data` property values to inject. - * - * @static - * @memberOf _.templateSettings - * @type RegExp - */ - 'interpolate': reInterpolate, - - /** - * Used to reference the data object in the template text. - * - * @static - * @memberOf _.templateSettings - * @type String - */ - 'variable': '' - }; - - /*--------------------------------------------------------------------------*/ - - /** - * The template used to create iterator functions. - * - * @private - * @param {Obect} data The data object used to populate the text. - * @returns {String} Returns the interpolated text. - */ - var iteratorTemplate = template( - // conditional strict mode - '<% if (obj.useStrict) { %>\'use strict\';\n<% } %>' + - - // the `iteratee` may be reassigned by the `top` snippet - 'var index, value, iteratee = <%= firstArg %>, ' + - // assign the `result` variable an initial value - 'result = <%= firstArg %>;\n' + - // exit early if the first argument is falsey - 'if (!<%= firstArg %>) return result;\n' + - // add code before the iteration branches - '<%= top %>;\n' + - - // array-like iteration: - '<% if (arrayLoop) { %>' + - 'var length = iteratee.length; index = -1;\n' + - 'if (typeof length == \'number\') {' + - - // add support for accessing string characters by index if needed - ' <% if (noCharByIndex) { %>\n' + - ' if (isString(iteratee)) {\n' + - ' iteratee = iteratee.split(\'\')\n' + - ' }' + - ' <% } %>\n' + - - // iterate over the array-like value - ' while (++index < length) {\n' + - ' value = iteratee[index];\n' + - ' <%= arrayLoop %>\n' + - ' }\n' + - '}\n' + - 'else {' + - - // object iteration: - // add support for iterating over `arguments` objects if needed - ' <% } else if (noArgsEnum) { %>\n' + - ' var length = iteratee.length; index = -1;\n' + - ' if (length && isArguments(iteratee)) {\n' + - ' while (++index < length) {\n' + - ' value = iteratee[index += \'\'];\n' + - ' <%= objectLoop %>\n' + - ' }\n' + - ' } else {' + - ' <% } %>' + - - // Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1 - // (if the prototype or a property on the prototype has been set) - // incorrectly sets a function's `prototype` property [[Enumerable]] - // value to `true`. Because of this Lo-Dash standardizes on skipping - // the the `prototype` property of functions regardless of its - // [[Enumerable]] value. - ' <% if (!hasDontEnumBug) { %>\n' + - ' var skipProto = typeof iteratee == \'function\' && \n' + - ' propertyIsEnumerable.call(iteratee, \'prototype\');\n' + - ' <% } %>' + - - // iterate own properties using `Object.keys` if it's fast - ' <% if (isKeysFast && useHas) { %>\n' + - ' var ownIndex = -1,\n' + - ' ownProps = objectTypes[typeof iteratee] ? nativeKeys(iteratee) : [],\n' + - ' length = ownProps.length;\n\n' + - ' while (++ownIndex < length) {\n' + - ' index = ownProps[ownIndex];\n' + - ' <% if (!hasDontEnumBug) { %>if (!(skipProto && index == \'prototype\')) {\n <% } %>' + - ' value = iteratee[index];\n' + - ' <%= objectLoop %>\n' + - ' <% if (!hasDontEnumBug) { %>}\n<% } %>' + - ' }' + - - // else using a for-in loop - ' <% } else { %>\n' + - ' for (index in iteratee) {<%' + - ' if (!hasDontEnumBug || useHas) { %>\n if (<%' + - ' if (!hasDontEnumBug) { %>!(skipProto && index == \'prototype\')<% }' + - ' if (!hasDontEnumBug && useHas) { %> && <% }' + - ' if (useHas) { %>hasOwnProperty.call(iteratee, index)<% }' + - ' %>) {' + - ' <% } %>\n' + - ' value = iteratee[index];\n' + - ' <%= objectLoop %>;' + - ' <% if (!hasDontEnumBug || useHas) { %>\n }<% } %>\n' + - ' }' + - ' <% } %>' + - - // Because IE < 9 can't set the `[[Enumerable]]` attribute of an - // existing property and the `constructor` property of a prototype - // defaults to non-enumerable, Lo-Dash skips the `constructor` - // property when it infers it's iterating over a `prototype` object. - ' <% if (hasDontEnumBug) { %>\n\n' + - ' var ctor = iteratee.constructor;\n' + - ' <% for (var k = 0; k < 7; k++) { %>\n' + - ' index = \'<%= shadowed[k] %>\';\n' + - ' if (<%' + - ' if (shadowed[k] == \'constructor\') {' + - ' %>!(ctor && ctor.prototype === iteratee) && <%' + - ' } %>hasOwnProperty.call(iteratee, index)) {\n' + - ' value = iteratee[index];\n' + - ' <%= objectLoop %>\n' + - ' }' + - ' <% } %>' + - ' <% } %>' + - ' <% if (arrayLoop || noArgsEnum) { %>\n}<% } %>\n' + - - // add code to the bottom of the iteration function - '<%= bottom %>;\n' + - // finally, return the `result` - 'return result' - ); - - /** - * Reusable iterator options shared by `forEach`, `forIn`, and `forOwn`. - */ - var forEachIteratorOptions = { - 'args': 'collection, callback, thisArg', - 'top': 'callback = createCallback(callback, thisArg)', - 'arrayLoop': 'if (callback(value, index, collection) === false) return result', - 'objectLoop': 'if (callback(value, index, collection) === false) return result' - }; - - /** Reusable iterator options for `defaults`, and `extend` */ - var extendIteratorOptions = { - 'useHas': false, - 'args': 'object', - 'top': - 'for (var argsIndex = 1, argsLength = arguments.length; argsIndex < argsLength; argsIndex++) {\n' + - ' if (iteratee = arguments[argsIndex]) {', - 'objectLoop': 'result[index] = value', - 'bottom': ' }\n}' - }; - - /** Reusable iterator options for `forIn` and `forOwn` */ - var forOwnIteratorOptions = { - 'arrayLoop': null - }; - - /*--------------------------------------------------------------------------*/ - - /** - * Creates a function optimized to search large arrays for a given `value`, - * starting at `fromIndex`, using strict equality for comparisons, i.e. `===`. - * - * @private - * @param {Array} array The array to search. - * @param {Mixed} value The value to search for. - * @param {Number} [fromIndex=0] The index to search from. - * @param {Number} [largeSize=30] The length at which an array is considered large. - * @returns {Boolean} Returns `true` if `value` is found, else `false`. - */ - function cachedContains(array, fromIndex, largeSize) { - fromIndex || (fromIndex = 0); - - var length = array.length, - isLarge = (length - fromIndex) >= (largeSize || largeArraySize); - - if (isLarge) { - var cache = {}, - index = fromIndex - 1; - - while (++index < length) { - // manually coerce `value` to a string because `hasOwnProperty`, in some - // older versions of Firefox, coerces objects incorrectly - var key = array[index] + ''; - (hasOwnProperty.call(cache, key) ? cache[key] : (cache[key] = [])).push(array[index]); - } - } - return function(value) { - if (isLarge) { - var key = value + ''; - return hasOwnProperty.call(cache, key) && indexOf(cache[key], value) > -1; - } - return indexOf(array, value, fromIndex) > -1; - } - } - - /** - * Used by `_.max` and `_.min` as the default `callback` when a given - * `collection` is a string value. - * - * @private - * @param {String} value The character to inspect. - * @returns {Number} Returns the code unit of given character. - */ - function charAtCallback(value) { - return value.charCodeAt(0); - } - - /** - * Used by `sortBy` to compare transformed `collection` values, stable sorting - * them in ascending order. - * - * @private - * @param {Object} a The object to compare to `b`. - * @param {Object} b The object to compare to `a`. - * @returns {Number} Returns the sort order indicator of `1` or `-1`. - */ - function compareAscending(a, b) { - var ai = a.index, - bi = b.index; - - a = a.criteria; - b = b.criteria; - - // ensure a stable sort in V8 and other engines - // http://code.google.com/p/v8/issues/detail?id=90 - if (a !== b) { - if (a > b || a === undefined) { - return 1; - } - if (a < b || b === undefined) { - return -1; - } - } - return ai < bi ? -1 : 1; - } - - /** - * Creates a function that, when called, invokes `func` with the `this` - * binding of `thisArg` and prepends any `partailArgs` to the arguments passed - * to the bound function. - * - * @private - * @param {Function|String} func The function to bind or the method name. - * @param {Mixed} [thisArg] The `this` binding of `func`. - * @param {Array} partialArgs An array of arguments to be partially applied. - * @returns {Function} Returns the new bound function. - */ - function createBound(func, thisArg, partialArgs) { - var isFunc = isFunction(func), - isPartial = !partialArgs, - methodName = func; - - // juggle arguments - if (isPartial) { - partialArgs = thisArg; - } - - function bound() { - // `Function#bind` spec - // http://es5.github.com/#x15.3.4.5 - var args = arguments, - thisBinding = isPartial ? this : thisArg; - - if (!isFunc) { - func = thisArg[methodName]; - } - if (partialArgs.length) { - args = args.length - ? partialArgs.concat(slice.call(args)) - : partialArgs; - } - if (this instanceof bound) { - // get `func` instance if `bound` is invoked in a `new` expression - noop.prototype = func.prototype; - thisBinding = new noop; - - // mimic the constructor's `return` behavior - // http://es5.github.com/#x13.2.2 - var result = func.apply(thisBinding, args); - return isObject(result) - ? result - : thisBinding - } - return func.apply(thisBinding, args); - } - return bound; - } - - /** - * Produces an iteration callback bound to an optional `thisArg`. If `func` is - * a property name, the callback will return the property value for a given element. - * - * @private - * @param {Function|String} [func=identity|property] The function called per - * iteration or property name to query. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Function} Returns a callback function. - */ - function createCallback(func, thisArg) { - if (!func) { - return identity; - } - if (typeof func != 'function') { - return function(object) { - return object[func]; - }; - } - if (thisArg !== undefined) { - return function(value, index, object) { - return func.call(thisArg, value, index, object); - }; - } - return func; - } - - /** - * Creates compiled iteration functions. - * - * @private - * @param {Object} [options1, options2, ...] The compile options object(s). - * useHas - A boolean to specify using `hasOwnProperty` checks in the object loop. - * args - A string of comma separated arguments the iteration function will accept. - * top - A string of code to execute before the iteration branches. - * arrayLoop - A string of code to execute in the array loop. - * objectLoop - A string of code to execute in the object loop. - * bottom - A string of code to execute after the iteration branches. - * - * @returns {Function} Returns the compiled function. - */ - function createIterator() { - var data = { - 'arrayLoop': '', - 'bottom': '', - 'hasDontEnumBug': hasDontEnumBug, - 'isKeysFast': isKeysFast, - 'objectLoop': '', - 'noArgsEnum': noArgsEnum, - 'noCharByIndex': noCharByIndex, - 'shadowed': shadowed, - 'top': '', - 'useHas': true - }; - - // merge options into a template data object - for (var object, index = 0; object = arguments[index]; index++) { - for (var key in object) { - data[key] = object[key]; - } - } - var args = data.args; - data.firstArg = /^[^,]+/.exec(args)[0]; - - // create the function factory - var factory = Function( - 'createCallback, hasOwnProperty, isArguments, isString, objectTypes, ' + - 'nativeKeys, propertyIsEnumerable', - 'return function(' + args + ') {\n' + iteratorTemplate(data) + '\n}' - ); - // return the compiled function - return factory( - createCallback, hasOwnProperty, isArguments, isString, objectTypes, - nativeKeys, propertyIsEnumerable - ); - } - - /** - * Used by `template` to escape characters for inclusion in compiled - * string literals. - * - * @private - * @param {String} match The matched character to escape. - * @returns {String} Returns the escaped character. - */ - function escapeStringChar(match) { - return '\\' + stringEscapes[match]; - } - - /** - * Used by `escape` to convert characters to HTML entities. - * - * @private - * @param {String} match The matched character to escape. - * @returns {String} Returns the escaped character. - */ - function escapeHtmlChar(match) { - return htmlEscapes[match]; - } - - /** - * A no-operation function. - * - * @private - */ - function noop() { - // no operation performed - } - - /** - * Used by `unescape` to convert HTML entities to characters. - * - * @private - * @param {String} match The matched character to unescape. - * @returns {String} Returns the unescaped character. - */ - function unescapeHtmlChar(match) { - return htmlUnescapes[match]; - } - - /*--------------------------------------------------------------------------*/ - - /** - * Checks if `value` is an `arguments` object. - * - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if the `value` is an `arguments` object, else `false`. - * @example - * - * (function() { return _.isArguments(arguments); })(1, 2, 3); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ - function isArguments(value) { - return toString.call(value) == argsClass; - } - // fallback for browsers that can't detect `arguments` objects by [[Class]] - if (noArgsClass) { - isArguments = function(value) { - return value ? hasOwnProperty.call(value, 'callee') : false; - }; - } - - /** - * Iterates over `object`'s own and inherited enumerable properties, executing - * the `callback` for each property. The `callback` is bound to `thisArg` and - * invoked with three arguments; (value, key, object). Callbacks may exit iteration - * early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @category Objects - * @param {Object} object The object to iterate over. - * @param {Function} callback The function called per iteration. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Object} Returns `object`. - * @example - * - * function Dog(name) { - * this.name = name; - * } - * - * Dog.prototype.bark = function() { - * alert('Woof, woof!'); - * }; - * - * _.forIn(new Dog('Dagny'), function(value, key) { - * alert(key); - * }); - * // => alerts 'name' and 'bark' (order is not guaranteed) - */ - var forIn = createIterator(forEachIteratorOptions, forOwnIteratorOptions, { - 'useHas': false - }); - - /** - * Iterates over `object`'s own enumerable properties, executing the `callback` - * for each property. The `callback` is bound to `thisArg` and invoked with three - * arguments; (value, key, object). Callbacks may exit iteration early by explicitly - * returning `false`. - * - * @static - * @memberOf _ - * @category Objects - * @param {Object} object The object to iterate over. - * @param {Function} callback The function called per iteration. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Object} Returns `object`. - * @example - * - * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) { - * alert(key); - * }); - * // => alerts '0', '1', and 'length' (order is not guaranteed) - */ - var forOwn = createIterator(forEachIteratorOptions, forOwnIteratorOptions); - - /** - * A fallback implementation of `isPlainObject` that checks if a given `value` - * is an object created by the `Object` constructor, assuming objects created - * by the `Object` constructor have no inherited enumerable properties and that - * there are no `Object.prototype` extensions. - * - * @private - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if `value` is a plain object, else `false`. - */ - function shimIsPlainObject(value) { - // avoid non-objects and false positives for `arguments` objects - var result = false; - if (!(value && typeof value == 'object') || isArguments(value)) { - return result; - } - // IE < 9 presents DOM nodes as `Object` objects except they have `toString` - // methods that are `typeof` "string" and still can coerce nodes to strings. - // Also check that the constructor is `Object` (i.e. `Object instanceof Object`) - var ctor = value.constructor; - if ((!noNodeClass || !(typeof value.toString != 'function' && typeof (value + '') == 'string')) && - (!isFunction(ctor) || ctor instanceof ctor)) { - // IE < 9 iterates inherited properties before own properties. If the first - // iterated property is an object's own property then there are no inherited - // enumerable properties. - if (iteratesOwnLast) { - forIn(value, function(value, key, object) { - result = !hasOwnProperty.call(object, key); - return false; - }); - return result === false; - } - // In most environments an object's own properties are iterated before - // its inherited properties. If the last iterated property is an object's - // own property then there are no inherited enumerable properties. - forIn(value, function(value, key) { - result = key; - }); - return result === false || hasOwnProperty.call(value, result); - } - return result; - } - - /** - * A fallback implementation of `Object.keys` that produces an array of the - * given object's own enumerable property names. - * - * @private - * @param {Object} object The object to inspect. - * @returns {Array} Returns a new array of property names. - */ - function shimKeys(object) { - var result = []; - forOwn(object, function(value, key) { - result.push(key); - }); - return result; - } - - /** - * Used to convert characters to HTML entities: - * - * Though the `>` character is escaped for symmetry, characters like `>` and `/` - * don't require escaping in HTML and have no special meaning unless they're part - * of a tag or an unquoted attribute value. - * http://mathiasbynens.be/notes/ambiguous-ampersands (under "semi-related fun fact") - */ - var htmlEscapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' - }; - - /** Used to convert HTML entities to characters */ - var htmlUnescapes = invert(htmlEscapes); - - /*--------------------------------------------------------------------------*/ - - /** - * Creates a clone of `value`. If `deep` is `true`, all nested objects will - * also be cloned otherwise they will be assigned by reference. Functions, DOM - * nodes, `arguments` objects, and objects created by constructors other than - * `Object` are **not** cloned. - * - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to clone. - * @param {Boolean} deep A flag to indicate a deep clone. - * @param- {Object} [guard] Internally used to allow this method to work with - * others like `_.map` without using their callback `index` argument for `deep`. - * @param- {Array} [stackA=[]] Internally used to track traversed source objects. - * @param- {Array} [stackB=[]] Internally used to associate clones with their - * source counterparts. - * @returns {Mixed} Returns the cloned `value`. - * @example - * - * var stooges = [ - * { 'name': 'moe', 'age': 40 }, - * { 'name': 'larry', 'age': 50 }, - * { 'name': 'curly', 'age': 60 } - * ]; - * - * _.clone({ 'name': 'moe' }); - * // => { 'name': 'moe' } - * - * var shallow = _.clone(stooges); - * shallow[0] === stooges[0]; - * // => true - * - * var deep = _.clone(stooges, true); - * shallow[0] === stooges[0]; - * // => false - */ - function clone(value, deep, guard, stackA, stackB) { - if (value == null) { - return value; - } - if (guard) { - deep = false; - } - // inspect [[Class]] - var isObj = isObject(value); - if (isObj) { - // don't clone `arguments` objects, functions, or non-object Objects - var className = toString.call(value); - if (!cloneableClasses[className] || (noArgsClass && isArguments(value))) { - return value; - } - var isArr = className == arrayClass; - isObj = isArr || (className == objectClass ? isPlainObject(value) : isObj); - } - // shallow clone - if (!isObj || !deep) { - // don't clone functions - return isObj - ? (isArr ? slice.call(value) : extend({}, value)) - : value; - } - - var ctor = value.constructor; - switch (className) { - case boolClass: - case dateClass: - return new ctor(+value); - - case numberClass: - case stringClass: - return new ctor(value); - - case regexpClass: - return ctor(value.source, reFlags.exec(value)); - } - // check for circular references and return corresponding clone - stackA || (stackA = []); - stackB || (stackB = []); - - var length = stackA.length; - while (length--) { - if (stackA[length] == value) { - return stackB[length]; - } - } - // init cloned object - var result = isArr ? ctor(value.length) : {}; - - // add the source value to the stack of traversed objects - // and associate it with its clone - stackA.push(value); - stackB.push(result); - - // recursively populate clone (susceptible to call stack limits) - (isArr ? forEach : forOwn)(value, function(objValue, key) { - result[key] = clone(objValue, deep, null, stackA, stackB); - }); - - return result; - } - - /** - * Assigns enumerable properties of the default object(s) to the `destination` - * object for all `destination` properties that resolve to `null`/`undefined`. - * Once a property is set, additional defaults of the same property will be - * ignored. - * - * @static - * @memberOf _ - * @category Objects - * @param {Object} object The destination object. - * @param {Object} [default1, default2, ...] The default objects. - * @returns {Object} Returns the destination object. - * @example - * - * var iceCream = { 'flavor': 'chocolate' }; - * _.defaults(iceCream, { 'flavor': 'vanilla', 'sprinkles': 'rainbow' }); - * // => { 'flavor': 'chocolate', 'sprinkles': 'rainbow' } - */ - var defaults = createIterator(extendIteratorOptions, { - 'objectLoop': 'if (result[index] == null) ' + extendIteratorOptions.objectLoop - }); - - /** - * Assigns enumerable properties of the source object(s) to the `destination` - * object. Subsequent sources will overwrite propery assignments of previous - * sources. - * - * @static - * @memberOf _ - * @category Objects - * @param {Object} object The destination object. - * @param {Object} [source1, source2, ...] The source objects. - * @returns {Object} Returns the destination object. - * @example - * - * _.extend({ 'name': 'moe' }, { 'age': 40 }); - * // => { 'name': 'moe', 'age': 40 } - */ - var extend = createIterator(extendIteratorOptions); - - /** - * Creates a sorted array of all enumerable properties, own and inherited, - * of `object` that have function values. - * - * @static - * @memberOf _ - * @alias methods - * @category Objects - * @param {Object} object The object to inspect. - * @returns {Array} Returns a new array of property names that have function values. - * @example - * - * _.functions(_); - * // => ['all', 'any', 'bind', 'bindAll', 'clone', 'compact', 'compose', ...] - */ - function functions(object) { - var result = []; - forIn(object, function(value, key) { - if (isFunction(value)) { - result.push(key); - } - }); - return result.sort(); - } - - /** - * Checks if the specified object `property` exists and is a direct property, - * instead of an inherited property. - * - * @static - * @memberOf _ - * @category Objects - * @param {Object} object The object to check. - * @param {String} property The property to check for. - * @returns {Boolean} Returns `true` if key is a direct property, else `false`. - * @example - * - * _.has({ 'a': 1, 'b': 2, 'c': 3 }, 'b'); - * // => true - */ - function has(object, property) { - return object ? hasOwnProperty.call(object, property) : false; - } - - /** - * Creates an object composed of the inverted keys and values of the given `object`. - * - * @static - * @memberOf _ - * @category Objects - * @param {Object} object The object to invert. - * @returns {Object} Returns the created inverted object. - * @example - * - * _.invert({ 'first': 'Moe', 'second': 'Larry', 'third': 'Curly' }); - * // => { 'Moe': 'first', 'Larry': 'second', 'Curly': 'third' } (order is not guaranteed) - */ - function invert(object) { - var result = {}; - forOwn(object, function(value, key) { - result[value] = key; - }); - return result; - } - - /** - * Checks if `value` is an array. - * - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if the `value` is an array, else `false`. - * @example - * - * (function() { return _.isArray(arguments); })(); - * // => false - * - * _.isArray([1, 2, 3]); - * // => true - */ - var isArray = nativeIsArray || function(value) { - return toString.call(value) == arrayClass; - }; - - /** - * Checks if `value` is a boolean (`true` or `false`) value. - * - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if the `value` is a boolean value, else `false`. - * @example - * - * _.isBoolean(null); - * // => false - */ - function isBoolean(value) { - return value === true || value === false || toString.call(value) == boolClass; - } - - /** - * Checks if `value` is a date. - * - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if the `value` is a date, else `false`. - * @example - * - * _.isDate(new Date); - * // => true - */ - function isDate(value) { - return toString.call(value) == dateClass; - } - - /** - * Checks if `value` is a DOM element. - * - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if the `value` is a DOM element, else `false`. - * @example - * - * _.isElement(document.body); - * // => true - */ - function isElement(value) { - return value ? value.nodeType === 1 : false; - } - - /** - * Checks if `value` is empty. Arrays, strings, or `arguments` objects with a - * length of `0` and objects with no own enumerable properties are considered - * "empty". - * - * @static - * @memberOf _ - * @category Objects - * @param {Array|Object|String} value The value to inspect. - * @returns {Boolean} Returns `true` if the `value` is empty, else `false`. - * @example - * - * _.isEmpty([1, 2, 3]); - * // => false - * - * _.isEmpty({}); - * // => true - * - * _.isEmpty(''); - * // => true - */ - function isEmpty(value) { - var result = true; - if (!value) { - return result; - } - var className = toString.call(value), - length = value.length; - - if ((className == arrayClass || className == stringClass || - className == argsClass || (noArgsClass && isArguments(value))) || - (className == objectClass && typeof length == 'number' && isFunction(value.splice))) { - return !length; - } - forOwn(value, function() { - return (result = false); - }); - return result; - } - - /** - * Performs a deep comparison between two values to determine if they are - * equivalent to each other. - * - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} a The value to compare. - * @param {Mixed} b The other value to compare. - * @param- {Object} [stackA=[]] Internally used track traversed `a` objects. - * @param- {Object} [stackB=[]] Internally used track traversed `b` objects. - * @returns {Boolean} Returns `true` if the values are equvalent, else `false`. - * @example - * - * var moe = { 'name': 'moe', 'luckyNumbers': [13, 27, 34] }; - * var clone = { 'name': 'moe', 'luckyNumbers': [13, 27, 34] }; - * - * moe == clone; - * // => false - * - * _.isEqual(moe, clone); - * // => true - */ - function isEqual(a, b, stackA, stackB) { - // exit early for identical values - if (a === b) { - // treat `+0` vs. `-0` as not equal - return a !== 0 || (1 / a == 1 / b); - } - // a strict comparison is necessary because `null == undefined` - if (a == null || b == null) { - return a === b; - } - // compare [[Class]] names - var className = toString.call(a); - if (className != toString.call(b)) { - return false; - } - switch (className) { - case boolClass: - case dateClass: - // coerce dates and booleans to numbers, dates to milliseconds and booleans - // to `1` or `0`, treating invalid dates coerced to `NaN` as not equal - return +a == +b; - - case numberClass: - // treat `NaN` vs. `NaN` as equal - return a != +a - ? b != +b - // but treat `+0` vs. `-0` as not equal - : (a == 0 ? (1 / a == 1 / b) : a == +b); - - case regexpClass: - case stringClass: - // coerce regexes to strings (http://es5.github.com/#x15.10.6.4) - // treat string primitives and their corresponding object instances as equal - return a == b + ''; - } - // exit early, in older browsers, if `a` is array-like but not `b` - var isArr = className == arrayClass || className == argsClass; - if (noArgsClass && !isArr && (isArr = isArguments(a)) && !isArguments(b)) { - return false; - } - if (!isArr) { - // unwrap any `lodash` wrapped values - if (a.__wrapped__ || b.__wrapped__) { - return isEqual(a.__wrapped__ || a, b.__wrapped__ || b); - } - // exit for functions and DOM nodes - if (className != objectClass || (noNodeClass && ( - (typeof a.toString != 'function' && typeof (a + '') == 'string') || - (typeof b.toString != 'function' && typeof (b + '') == 'string')))) { - return false; - } - var ctorA = a.constructor, - ctorB = b.constructor; - - // non `Object` object instances with different constructors are not equal - if (ctorA != ctorB && !( - isFunction(ctorA) && ctorA instanceof ctorA && - isFunction(ctorB) && ctorB instanceof ctorB - )) { - return false; - } - } - // assume cyclic structures are equal - // the algorithm for detecting cyclic structures is adapted from ES 5.1 - // section 15.12.3, abstract operation `JO` (http://es5.github.com/#x15.12.3) - stackA || (stackA = []); - stackB || (stackB = []); - - var length = stackA.length; - while (length--) { - if (stackA[length] == a) { - return stackB[length] == b; - } - } - - var index = -1, - result = true, - size = 0; - - // add `a` and `b` to the stack of traversed objects - stackA.push(a); - stackB.push(b); - - // recursively compare objects and arrays (susceptible to call stack limits) - if (isArr) { - // compare lengths to determine if a deep comparison is necessary - size = a.length; - result = size == b.length; - - if (result) { - // deep compare the contents, ignoring non-numeric properties - while (size--) { - if (!(result = isEqual(a[size], b[size], stackA, stackB))) { - break; - } - } - } - return result; - } - // deep compare objects - for (var key in a) { - if (hasOwnProperty.call(a, key)) { - // count the number of properties. - size++; - // deep compare each property value. - if (!(hasOwnProperty.call(b, key) && isEqual(a[key], b[key], stackA, stackB))) { - return false; - } - } - } - // ensure both objects have the same number of properties - for (key in b) { - // The JS engine in Adobe products, like InDesign, has a bug that causes - // `!size--` to throw an error so it must be wrapped in parentheses. - // https://github.com/documentcloud/underscore/issues/355 - if (hasOwnProperty.call(b, key) && !(size--)) { - // `size` will be `-1` if `b` has more properties than `a` - return false; - } - } - // handle JScript [[DontEnum]] bug - if (hasDontEnumBug) { - while (++index < 7) { - key = shadowed[index]; - if (hasOwnProperty.call(a, key) && - !(hasOwnProperty.call(b, key) && isEqual(a[key], b[key], stackA, stackB))) { - return false; - } - } - } - return true; - } - - /** - * Checks if `value` is, or can be coerced to, a finite number. - * - * Note: This is not the same as native `isFinite`, which will return true for - * booleans and empty strings. See http://es5.github.com/#x15.1.2.5. - * - * @deprecated - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if the `value` is a finite number, else `false`. - * @example - * - * _.isFinite(-101); - * // => true - * - * _.isFinite('10'); - * // => true - * - * _.isFinite(true); - * // => false - * - * _.isFinite(''); - * // => false - * - * _.isFinite(Infinity); - * // => false - */ - function isFinite(value) { - return nativeIsFinite(value) && !nativeIsNaN(parseFloat(value)); - } - - /** - * Checks if `value` is a function. - * - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if the `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - */ - function isFunction(value) { - return typeof value == 'function'; - } - // fallback for older versions of Chrome and Safari - if (isFunction(/x/)) { - isFunction = function(value) { - return toString.call(value) == funcClass; - }; - } - - /** - * Checks if `value` is the language type of Object. - * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if the `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(1); - * // => false - */ - function isObject(value) { - // check if the value is the ECMAScript language type of Object - // http://es5.github.com/#x8 - // and avoid a V8 bug - // http://code.google.com/p/v8/issues/detail?id=2291 - return value ? objectTypes[typeof value] : false; - } - - /** - * Checks if `value` is `NaN`. - * - * Note: This is not the same as native `isNaN`, which will return true for - * `undefined` and other values. See http://es5.github.com/#x15.1.2.4. - * - * @deprecated - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if the `value` is `NaN`, else `false`. - * @example - * - * _.isNaN(NaN); - * // => true - * - * _.isNaN(new Number(NaN)); - * // => true - * - * isNaN(undefined); - * // => true - * - * _.isNaN(undefined); - * // => false - */ - function isNaN(value) { - // `NaN` as a primitive is the only value that is not equal to itself - // (perform the [[Class]] check first to avoid errors with some host objects in IE) - return toString.call(value) == numberClass && value != +value - } - - /** - * Checks if `value` is `null`. - * - * @deprecated - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if the `value` is `null`, else `false`. - * @example - * - * _.isNull(null); - * // => true - * - * _.isNull(undefined); - * // => false - */ - function isNull(value) { - return value === null; - } - - /** - * Checks if `value` is a number. - * - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if the `value` is a number, else `false`. - * @example - * - * _.isNumber(8.4 * 5); - * // => true - */ - function isNumber(value) { - return toString.call(value) == numberClass; - } - - /** - * Checks if a given `value` is an object created by the `Object` constructor. - * - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if `value` is a plain object, else `false`. - * @example - * - * function Stooge(name, age) { - * this.name = name; - * this.age = age; - * } - * - * _.isPlainObject(new Stooge('moe', 40)); - * // => false - * - * _.isPlainObject([1, 2, 3]); - * // => false - * - * _.isPlainObject({ 'name': 'moe', 'age': 40 }); - * // => true - */ - var isPlainObject = !getPrototypeOf ? shimIsPlainObject : function(value) { - if (!(value && typeof value == 'object')) { - return false; - } - var valueOf = value.valueOf, - objProto = typeof valueOf == 'function' && (objProto = getPrototypeOf(valueOf)) && getPrototypeOf(objProto); - - return objProto - ? value == objProto || (getPrototypeOf(value) == objProto && !isArguments(value)) - : shimIsPlainObject(value); - }; - - /** - * Checks if `value` is a regular expression. - * - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if the `value` is a regular expression, else `false`. - * @example - * - * _.isRegExp(/moe/); - * // => true - */ - function isRegExp(value) { - return toString.call(value) == regexpClass; - } - - /** - * Checks if `value` is a string. - * - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if the `value` is a string, else `false`. - * @example - * - * _.isString('moe'); - * // => true - */ - function isString(value) { - return toString.call(value) == stringClass; - } - - /** - * Checks if `value` is `undefined`. - * - * @deprecated - * @static - * @memberOf _ - * @category Objects - * @param {Mixed} value The value to check. - * @returns {Boolean} Returns `true` if the `value` is `undefined`, else `false`. - * @example - * - * _.isUndefined(void 0); - * // => true - */ - function isUndefined(value) { - return value === undefined; - } - - /** - * Creates an array composed of the own enumerable property names of `object`. - * - * @static - * @memberOf _ - * @category Objects - * @param {Object} object The object to inspect. - * @returns {Array} Returns a new array of property names. - * @example - * - * _.keys({ 'one': 1, 'two': 2, 'three': 3 }); - * // => ['one', 'two', 'three'] (order is not guaranteed) - */ - var keys = !nativeKeys ? shimKeys : function(object) { - // avoid iterating over the `prototype` property - return typeof object == 'function' && propertyIsEnumerable.call(object, 'prototype') - ? shimKeys(object) - : (isObject(object) ? nativeKeys(object) : []); - }; - - /** - * Merges enumerable properties of the source object(s) into the `destination` - * object. Subsequent sources will overwrite propery assignments of previous - * sources. - * - * @static - * @memberOf _ - * @category Objects - * @param {Object} object The destination object. - * @param {Object} [source1, source2, ...] The source objects. - * @param- {Object} [indicator] Internally used to indicate that the `stack` - * argument is an array of traversed objects instead of another source object. - * @param- {Array} [stackA=[]] Internally used to track traversed source objects. - * @param- {Array} [stackB=[]] Internally used to associate values with their - * source counterparts. - * @returns {Object} Returns the destination object. - * @example - * - * var stooges = [ - * { 'name': 'moe' }, - * { 'name': 'larry' } - * ]; - * - * var ages = [ - * { 'age': 40 }, - * { 'age': 50 } - * ]; - * - * _.merge(stooges, ages); - * // => [{ 'name': 'moe', 'age': 40 }, { 'name': 'larry', 'age': 50 }] - */ - function merge(object, source, indicator) { - var args = arguments, - index = 0, - length = 2, - stackA = args[3], - stackB = args[4]; - - if (indicator !== objectRef) { - stackA = []; - stackB = []; - length = args.length; - } - while (++index < length) { - forOwn(args[index], function(source, key) { - var found, isArr, value; - if (source && ((isArr = isArray(source)) || isPlainObject(source))) { - // avoid merging previously merged cyclic sources - var stackLength = stackA.length; - while (stackLength--) { - found = stackA[stackLength] == source; - if (found) { - break; - } - } - if (found) { - object[key] = stackB[stackLength]; - } - else { - // add `source` and associated `value` to the stack of traversed objects - stackA.push(source); - stackB.push(value = (value = object[key], isArr) - ? (isArray(value) ? value : []) - : (isPlainObject(value) ? value : {}) - ); - // recursively merge objects and arrays (susceptible to call stack limits) - object[key] = merge(value, source, objectRef, stackA, stackB); - } - } else if (source != null) { - object[key] = source; - } - }); - } - return object; - } - - /** - * Creates a shallow clone of `object` excluding the specified properties. - * Property names may be specified as individual arguments or as arrays of - * property names. If `callback` is passed, it will be executed for each property - * in the `object`, omitting the properties `callback` returns truthy for. The - * `callback` is bound to `thisArg` and invoked with three arguments; (value, key, object). - * - * @static - * @memberOf _ - * @category Objects - * @param {Object} object The source object. - * @param {Function|String} callback|[prop1, prop2, ...] The properties to omit - * or the function called per iteration. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Object} Returns an object without the omitted properties. - * @example - * - * _.omit({ 'name': 'moe', 'age': 40, 'userid': 'moe1' }, 'userid'); - * // => { 'name': 'moe', 'age': 40 } - * - * _.omit({ 'name': 'moe', '_hint': 'knucklehead', '_seed': '96c4eb' }, function(value, key) { - * return key.charAt(0) == '_'; - * }); - * // => { 'name': 'moe' } - */ - function omit(object, callback, thisArg) { - var isFunc = typeof callback == 'function', - result = {}; - - if (isFunc) { - callback = createCallback(callback, thisArg); - } else { - var props = concat.apply(arrayRef, arguments); - } - forIn(object, function(value, key, object) { - if (isFunc - ? !callback(value, key, object) - : indexOf(props, key, 1) < 0 - ) { - result[key] = value; - } - }); - return result; - } - - /** - * Creates a two dimensional array of the given object's key-value pairs, - * i.e. `[[key1, value1], [key2, value2]]`. - * - * @static - * @memberOf _ - * @category Objects - * @param {Object} object The object to inspect. - * @returns {Array} Returns new array of key-value pairs. - * @example - * - * _.pairs({ 'moe': 30, 'larry': 40, 'curly': 50 }); - * // => [['moe', 30], ['larry', 40], ['curly', 50]] (order is not guaranteed) - */ - function pairs(object) { - var result = []; - forOwn(object, function(value, key) { - result.push([key, value]); - }); - return result; - } - - /** - * Creates a shallow clone of `object` composed of the specified properties. - * Property names may be specified as individual arguments or as arrays of - * property names. If `callback` is passed, it will be executed for each property - * in the `object`, picking the properties `callback` returns truthy for. The - * `callback` is bound to `thisArg` and invoked with three arguments; (value, key, object). - * - * @static - * @memberOf _ - * @category Objects - * @param {Object} object The source object. - * @param {Function|String} callback|[prop1, prop2, ...] The properties to pick - * or the function called per iteration. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Object} Returns an object composed of the picked properties. - * @example - * - * _.pick({ 'name': 'moe', 'age': 40, 'userid': 'moe1' }, 'name', 'age'); - * // => { 'name': 'moe', 'age': 40 } - * - * _.pick({ 'name': 'moe', '_hint': 'knucklehead', '_seed': '96c4eb' }, function(value, key) { - * return key.charAt(0) != '_'; - * }); - * // => { 'name': 'moe' } - */ - function pick(object, callback, thisArg) { - var result = {}; - if (typeof callback != 'function') { - var index = 0, - props = concat.apply(arrayRef, arguments), - length = props.length; - - while (++index < length) { - var key = props[index]; - if (key in object) { - result[key] = object[key]; - } - } - } else { - callback = createCallback(callback, thisArg); - forIn(object, function(value, key, object) { - if (callback(value, key, object)) { - result[key] = value; - } - }); - } - return result; - } - - /** - * Creates an array composed of the own enumerable property values of `object`. - * - * @static - * @memberOf _ - * @category Objects - * @param {Object} object The object to inspect. - * @returns {Array} Returns a new array of property values. - * @example - * - * _.values({ 'one': 1, 'two': 2, 'three': 3 }); - * // => [1, 2, 3] - */ - function values(object) { - var result = []; - forOwn(object, function(value) { - result.push(value); - }); - return result; - } - - /*--------------------------------------------------------------------------*/ - - /** - * Checks if a given `target` element is present in a `collection` using strict - * equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used - * as the offset from the end of the collection. - * - * @static - * @memberOf _ - * @alias include - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Mixed} target The value to check for. - * @param {Number} [fromIndex=0] The index to search from. - * @returns {Boolean} Returns `true` if the `target` element is found, else `false`. - * @example - * - * _.contains([1, 2, 3], 1); - * // => true - * - * _.contains([1, 2, 3], 1, 2); - * // => false - * - * _.contains({ 'name': 'moe', 'age': 40 }, 'moe'); - * // => true - * - * _.contains('curly', 'ur'); - * // => true - */ - function contains(collection, target, fromIndex) { - var index = -1, - length = collection ? collection.length : 0; - - fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex) || 0; - if (typeof length == 'number') { - return (isString(collection) - ? collection.indexOf(target, fromIndex) - : indexOf(collection, target, fromIndex) - ) > -1; - } - return some(collection, function(value) { - return ++index >= fromIndex && value === target; - }); - } - - /** - * Creates an object composed of keys returned from running each element of - * `collection` through a `callback`. The corresponding value of each key is - * the number of times the key was returned by `callback`. The `callback` is - * bound to `thisArg` and invoked with three arguments; (value, index|key, collection). - * The `callback` argument may also be the name of a property to count by (e.g. 'length'). - * - * @static - * @memberOf _ - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Function|String} callback|property The function called per iteration - * or property name to count by. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.countBy([4.3, 6.1, 6.4], function(num) { return Math.floor(num); }); - * // => { '4': 1, '6': 2 } - * - * _.countBy([4.3, 6.1, 6.4], function(num) { return this.floor(num); }, Math); - * // => { '4': 1, '6': 2 } - * - * _.countBy(['one', 'two', 'three'], 'length'); - * // => { '3': 2, '5': 1 } - */ - function countBy(collection, callback, thisArg) { - var result = {}; - callback = createCallback(callback, thisArg); - forEach(collection, function(value, key, collection) { - key = callback(value, key, collection); - (hasOwnProperty.call(result, key) ? result[key]++ : result[key] = 1); - }); - return result; - } - - /** - * Checks if the `callback` returns a truthy value for **all** elements of a - * `collection`. The `callback` is bound to `thisArg` and invoked with three - * arguments; (value, index|key, collection). - * - * @static - * @memberOf _ - * @alias all - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Function} [callback=identity] The function called per iteration. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Boolean} Returns `true` if all elements pass the callback check, - * else `false`. - * @example - * - * _.every([true, 1, null, 'yes'], Boolean); - * // => false - */ - function every(collection, callback, thisArg) { - var result = true; - callback = createCallback(callback, thisArg); - - if (isArray(collection)) { - var index = -1, - length = collection.length; - - while (++index < length) { - if (!(result = !!callback(collection[index], index, collection))) { - break; - } - } - } else { - forEach(collection, function(value, index, collection) { - return (result = !!callback(value, index, collection)); - }); - } - return result; - } - - /** - * Examines each element in a `collection`, returning an array of all elements - * the `callback` returns truthy for. The `callback` is bound to `thisArg` and - * invoked with three arguments; (value, index|key, collection). - * - * @static - * @memberOf _ - * @alias select - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Function} [callback=identity] The function called per iteration. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Array} Returns a new array of elements that passed the callback check. - * @example - * - * var evens = _.filter([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; }); - * // => [2, 4, 6] - */ - function filter(collection, callback, thisArg) { - var result = []; - callback = createCallback(callback, thisArg); - forEach(collection, function(value, index, collection) { - if (callback(value, index, collection)) { - result.push(value); - } - }); - return result; - } - - /** - * Examines each element in a `collection`, returning the first one the `callback` - * returns truthy for. The function returns as soon as it finds an acceptable - * element, and does not iterate over the entire `collection`. The `callback` is - * bound to `thisArg` and invoked with three arguments; (value, index|key, collection). - * - * @static - * @memberOf _ - * @alias detect - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Function} callback The function called per iteration. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Mixed} Returns the element that passed the callback check, - * else `undefined`. - * @example - * - * var even = _.find([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; }); - * // => 2 - */ - function find(collection, callback, thisArg) { - var result; - callback = createCallback(callback, thisArg); - forEach(collection, function(value, index, collection) { - if (callback(value, index, collection)) { - result = value; - return false; - } - }); - return result; - } - - /** - * Iterates over a `collection`, executing the `callback` for each element in - * the `collection`. The `callback` is bound to `thisArg` and invoked with three - * arguments; (value, index|key, collection). Callbacks may exit iteration early - * by explicitly returning `false`. - * - * @static - * @memberOf _ - * @alias each - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Function} callback The function called per iteration. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Array|Object|String} Returns `collection`. - * @example - * - * _([1, 2, 3]).forEach(alert).join(','); - * // => alerts each number and returns '1,2,3' - * - * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, alert); - * // => alerts each number (order is not guaranteed) - */ - var forEach = createIterator(forEachIteratorOptions); - - /** - * Creates an object composed of keys returned from running each element of - * `collection` through a `callback`. The corresponding value of each key is an - * array of elements passed to `callback` that returned the key. The `callback` - * is bound to `thisArg` and invoked with three arguments; (value, index|key, collection). - * The `callback` argument may also be the name of a property to group by (e.g. 'length'). - * - * @static - * @memberOf _ - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Function|String} callback|property The function called per iteration - * or property name to group by. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.groupBy([4.2, 6.1, 6.4], function(num) { return Math.floor(num); }); - * // => { '4': [4.2], '6': [6.1, 6.4] } - * - * _.groupBy([4.2, 6.1, 6.4], function(num) { return this.floor(num); }, Math); - * // => { '4': [4.2], '6': [6.1, 6.4] } - * - * _.groupBy(['one', 'two', 'three'], 'length'); - * // => { '3': ['one', 'two'], '5': ['three'] } - */ - function groupBy(collection, callback, thisArg) { - var result = {}; - callback = createCallback(callback, thisArg); - forEach(collection, function(value, key, collection) { - key = callback(value, key, collection); - (hasOwnProperty.call(result, key) ? result[key] : result[key] = []).push(value); - }); - return result; - } - - /** - * Invokes the method named by `methodName` on each element in the `collection`, - * returning an array of the results of each invoked method. Additional arguments - * will be passed to each invoked method. If `methodName` is a function it will - * be invoked for, and `this` bound to, each element in the `collection`. - * - * @static - * @memberOf _ - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Function|String} methodName The name of the method to invoke or - * the function invoked per iteration. - * @param {Mixed} [arg1, arg2, ...] Arguments to invoke the method with. - * @returns {Array} Returns a new array of the results of each invoked method. - * @example - * - * _.invoke([[5, 1, 7], [3, 2, 1]], 'sort'); - * // => [[1, 5, 7], [1, 2, 3]] - * - * _.invoke([123, 456], String.prototype.split, ''); - * // => [['1', '2', '3'], ['4', '5', '6']] - */ - function invoke(collection, methodName) { - var args = slice.call(arguments, 2), - isFunc = typeof methodName == 'function', - result = []; - - forEach(collection, function(value) { - result.push((isFunc ? methodName : value[methodName]).apply(value, args)); - }); - return result; - } - - /** - * Creates an array of values by running each element in the `collection` - * through a `callback`. The `callback` is bound to `thisArg` and invoked with - * three arguments; (value, index|key, collection). - * - * @static - * @memberOf _ - * @alias collect - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Function} [callback=identity] The function called per iteration. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Array} Returns a new array of the results of each `callback` execution. - * @example - * - * _.map([1, 2, 3], function(num) { return num * 3; }); - * // => [3, 6, 9] - * - * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; }); - * // => [3, 6, 9] (order is not guaranteed) - */ - function map(collection, callback, thisArg) { - var index = -1, - length = collection ? collection.length : 0, - result = Array(typeof length == 'number' ? length : 0); - - callback = createCallback(callback, thisArg); - if (isArray(collection)) { - while (++index < length) { - result[index] = callback(collection[index], index, collection); - } - } else { - forEach(collection, function(value, key, collection) { - result[++index] = callback(value, key, collection); - }); - } - return result; - } - - /** - * Retrieves the maximum value of an `array`. If `callback` is passed, - * it will be executed for each value in the `array` to generate the - * criterion by which the value is ranked. The `callback` is bound to - * `thisArg` and invoked with three arguments; (value, index, collection). - * - * @static - * @memberOf _ - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Function} [callback] The function called per iteration. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Mixed} Returns the maximum value. - * @example - * - * var stooges = [ - * { 'name': 'moe', 'age': 40 }, - * { 'name': 'larry', 'age': 50 }, - * { 'name': 'curly', 'age': 60 } - * ]; - * - * _.max(stooges, function(stooge) { return stooge.age; }); - * // => { 'name': 'curly', 'age': 60 }; - */ - function max(collection, callback, thisArg) { - var computed = -Infinity, - index = -1, - length = collection ? collection.length : 0, - result = computed; - - if (callback || !isArray(collection)) { - callback = !callback && isString(collection) - ? charAtCallback - : createCallback(callback, thisArg); - - forEach(collection, function(value, index, collection) { - var current = callback(value, index, collection); - if (current > computed) { - computed = current; - result = value; - } - }); - } else { - while (++index < length) { - if (collection[index] > result) { - result = collection[index]; - } - } - } - return result; - } - - /** - * Retrieves the minimum value of an `array`. If `callback` is passed, - * it will be executed for each value in the `array` to generate the - * criterion by which the value is ranked. The `callback` is bound to `thisArg` - * and invoked with three arguments; (value, index, collection). - * - * @static - * @memberOf _ - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Function} [callback] The function called per iteration. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Mixed} Returns the minimum value. - * @example - * - * _.min([10, 5, 100, 2, 1000]); - * // => 2 - */ - function min(collection, callback, thisArg) { - var computed = Infinity, - index = -1, - length = collection ? collection.length : 0, - result = computed; - - if (callback || !isArray(collection)) { - callback = !callback && isString(collection) - ? charAtCallback - : createCallback(callback, thisArg); - - forEach(collection, function(value, index, collection) { - var current = callback(value, index, collection); - if (current < computed) { - computed = current; - result = value; - } - }); - } else { - while (++index < length) { - if (collection[index] < result) { - result = collection[index]; - } - } - } - return result; - } - - /** - * Retrieves the value of a specified property from all elements in - * the `collection`. - * - * @static - * @memberOf _ - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {String} property The property to pluck. - * @returns {Array} Returns a new array of property values. - * @example - * - * var stooges = [ - * { 'name': 'moe', 'age': 40 }, - * { 'name': 'larry', 'age': 50 }, - * { 'name': 'curly', 'age': 60 } - * ]; - * - * _.pluck(stooges, 'name'); - * // => ['moe', 'larry', 'curly'] - */ - function pluck(collection, property) { - var result = []; - forEach(collection, function(value) { - result.push(value[property]); - }); - return result; - } - - /** - * Boils down a `collection` to a single value. The initial state of the - * reduction is `accumulator` and each successive step of it should be returned - * by the `callback`. The `callback` is bound to `thisArg` and invoked with 4 - * arguments; for arrays they are (accumulator, value, index|key, collection). - * - * @static - * @memberOf _ - * @alias foldl, inject - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Function} callback The function called per iteration. - * @param {Mixed} [accumulator] Initial value of the accumulator. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Mixed} Returns the accumulated value. - * @example - * - * var sum = _.reduce([1, 2, 3], function(memo, num) { return memo + num; }); - * // => 6 - */ - function reduce(collection, callback, accumulator, thisArg) { - var noaccum = arguments.length < 3; - callback = createCallback(callback, thisArg); - forEach(collection, function(value, index, collection) { - accumulator = noaccum - ? (noaccum = false, value) - : callback(accumulator, value, index, collection) - }); - return accumulator; - } - - /** - * The right-associative version of `_.reduce`. - * - * @static - * @memberOf _ - * @alias foldr - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Function} callback The function called per iteration. - * @param {Mixed} [accumulator] Initial value of the accumulator. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Mixed} Returns the accumulated value. - * @example - * - * var list = [[0, 1], [2, 3], [4, 5]]; - * var flat = _.reduceRight(list, function(a, b) { return a.concat(b); }, []); - * // => [4, 5, 2, 3, 0, 1] - */ - function reduceRight(collection, callback, accumulator, thisArg) { - var iteratee = collection, - length = collection ? collection.length : 0, - noaccum = arguments.length < 3; - - if (typeof length != 'number') { - var props = keys(collection); - length = props.length; - } else if (noCharByIndex && isString(collection)) { - iteratee = collection.split(''); - } - forEach(collection, function(value, index, collection) { - index = props ? props[--length] : --length; - accumulator = noaccum - ? (noaccum = false, iteratee[index]) - : callback.call(thisArg, accumulator, iteratee[index], index, collection); - }); - return accumulator; - } - - /** - * The opposite of `_.filter`, this method returns the values of a - * `collection` that `callback` does **not** return truthy for. - * - * @static - * @memberOf _ - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Function} [callback=identity] The function called per iteration. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Array} Returns a new array of elements that did **not** pass the - * callback check. - * @example - * - * var odds = _.reject([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; }); - * // => [1, 3, 5] - */ - function reject(collection, callback, thisArg) { - callback = createCallback(callback, thisArg); - return filter(collection, function(value, index, collection) { - return !callback(value, index, collection); - }); - } - - /** - * Creates an array of shuffled `array` values, using a version of the - * Fisher-Yates shuffle. See http://en.wikipedia.org/wiki/Fisher-Yates_shuffle. - * - * @static - * @memberOf _ - * @category Collections - * @param {Array|Object|String} collection The collection to shuffle. - * @returns {Array} Returns a new shuffled collection. - * @example - * - * _.shuffle([1, 2, 3, 4, 5, 6]); - * // => [4, 1, 6, 3, 5, 2] - */ - function shuffle(collection) { - var index = -1, - result = Array(collection ? collection.length : 0); - - forEach(collection, function(value) { - var rand = floor(nativeRandom() * (++index + 1)); - result[index] = result[rand]; - result[rand] = value; - }); - return result; - } - - /** - * Gets the size of the `collection` by returning `collection.length` for arrays - * and array-like objects or the number of own enumerable properties for objects. - * - * @static - * @memberOf _ - * @category Collections - * @param {Array|Object|String} collection The collection to inspect. - * @returns {Number} Returns `collection.length` or number of own enumerable properties. - * @example - * - * _.size([1, 2]); - * // => 2 - * - * _.size({ 'one': 1, 'two': 2, 'three': 3 }); - * // => 3 - * - * _.size('curly'); - * // => 5 - */ - function size(collection) { - var length = collection ? collection.length : 0; - return typeof length == 'number' ? length : keys(collection).length; - } - - /** - * Checks if the `callback` returns a truthy value for **any** element of a - * `collection`. The function returns as soon as it finds passing value, and - * does not iterate over the entire `collection`. The `callback` is bound to - * `thisArg` and invoked with three arguments; (value, index|key, collection). - * - * @static - * @memberOf _ - * @alias any - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Function} [callback=identity] The function called per iteration. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Boolean} Returns `true` if any element passes the callback check, - * else `false`. - * @example - * - * _.some([null, 0, 'yes', false]); - * // => true - */ - function some(collection, callback, thisArg) { - var result; - callback = createCallback(callback, thisArg); - - if (isArray(collection)) { - var index = -1, - length = collection.length; - - while (++index < length) { - if (result = callback(collection[index], index, collection)) { - break; - } - } - } else { - forEach(collection, function(value, index, collection) { - return !(result = callback(value, index, collection)); - }); - } - return !!result; - } - - /** - * Creates an array, stable sorted in ascending order by the results of - * running each element of `collection` through a `callback`. The `callback` - * is bound to `thisArg` and invoked with three arguments; (value, index|key, collection). - * The `callback` argument may also be the name of a property to sort by (e.g. 'length'). - * - * @static - * @memberOf _ - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Function|String} callback|property The function called per iteration - * or property name to sort by. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Array} Returns a new array of sorted elements. - * @example - * - * _.sortBy([1, 2, 3], function(num) { return Math.sin(num); }); - * // => [3, 1, 2] - * - * _.sortBy([1, 2, 3], function(num) { return this.sin(num); }, Math); - * // => [3, 1, 2] - * - * _.sortBy(['larry', 'brendan', 'moe'], 'length'); - * // => ['moe', 'larry', 'brendan'] - */ - function sortBy(collection, callback, thisArg) { - var result = []; - callback = createCallback(callback, thisArg); - forEach(collection, function(value, index, collection) { - result.push({ - 'criteria': callback(value, index, collection), - 'index': index, - 'value': value - }); - }); - - var length = result.length; - result.sort(compareAscending); - while (length--) { - result[length] = result[length].value; - } - return result; - } - - /** - * Converts the `collection`, to an array. - * - * @static - * @memberOf _ - * @category Collections - * @param {Array|Object|String} collection The collection to convert. - * @returns {Array} Returns the new converted array. - * @example - * - * (function() { return _.toArray(arguments).slice(1); })(1, 2, 3, 4); - * // => [2, 3, 4] - */ - function toArray(collection) { - if (collection && typeof collection.length == 'number') { - return (noArraySliceOnStrings ? isString(collection) : typeof collection == 'string') - ? collection.split('') - : slice.call(collection); - } - return values(collection); - } - - /** - * Examines each element in a `collection`, returning an array of all elements - * that contain the given `properties`. - * - * @static - * @memberOf _ - * @category Collections - * @param {Array|Object|String} collection The collection to iterate over. - * @param {Object} properties The object of property values to filter by. - * @returns {Array} Returns a new array of elements that contain the given `properties`. - * @example - * - * var stooges = [ - * { 'name': 'moe', 'age': 40 }, - * { 'name': 'larry', 'age': 50 }, - * { 'name': 'curly', 'age': 60 } - * ]; - * - * _.where(stooges, { 'age': 40 }); - * // => [{ 'name': 'moe', 'age': 40 }] - */ - function where(collection, properties) { - var props = []; - forIn(properties, function(value, prop) { - props.push(prop); - }); - return filter(collection, function(object) { - var length = props.length; - while (length--) { - var result = object[props[length]] === properties[props[length]]; - if (!result) { - break; - } - } - return !!result; - }); - } - - /*--------------------------------------------------------------------------*/ - - /** - * Creates an array with all falsey values of `array` removed. The values - * `false`, `null`, `0`, `""`, `undefined` and `NaN` are all falsey. - * - * @static - * @memberOf _ - * @category Arrays - * @param {Array} array The array to compact. - * @returns {Array} Returns a new filtered array. - * @example - * - * _.compact([0, 1, false, 2, '', 3]); - * // => [1, 2, 3] - */ - function compact(array) { - var index = -1, - length = array ? array.length : 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (value) { - result.push(value); - } - } - return result; - } - - /** - * Creates an array of `array` elements not present in the other arrays - * using strict equality for comparisons, i.e. `===`. - * - * @static - * @memberOf _ - * @category Arrays - * @param {Array} array The array to process. - * @param {Array} [array1, array2, ...] Arrays to check. - * @returns {Array} Returns a new array of `array` elements not present in the - * other arrays. - * @example - * - * _.difference([1, 2, 3, 4, 5], [5, 2, 10]); - * // => [1, 3, 4] - */ - function difference(array) { - var index = -1, - length = array ? array.length : 0, - flattened = concat.apply(arrayRef, arguments), - contains = cachedContains(flattened, length), - result = []; - - while (++index < length) { - var value = array[index]; - if (!contains(value)) { - result.push(value); - } - } - return result; - } - - /** - * Gets the first element of the `array`. Pass `n` to return the first `n` - * elements of the `array`. - * - * @static - * @memberOf _ - * @alias head, take - * @category Arrays - * @param {Array} array The array to query. - * @param {Number} [n] The number of elements to return. - * @param- {Object} [guard] Internally used to allow this method to work with - * others like `_.map` without using their callback `index` argument for `n`. - * @returns {Mixed} Returns the first element or an array of the first `n` - * elements of `array`. - * @example - * - * _.first([5, 4, 3, 2, 1]); - * // => 5 - */ - function first(array, n, guard) { - if (array) { - return (n == null || guard) ? array[0] : slice.call(array, 0, n); - } - } - - /** - * Flattens a nested array (the nesting can be to any depth). If `shallow` is - * truthy, `array` will only be flattened a single level. - * - * @static - * @memberOf _ - * @category Arrays - * @param {Array} array The array to compact. - * @param {Boolean} shallow A flag to indicate only flattening a single level. - * @returns {Array} Returns a new flattened array. - * @example - * - * _.flatten([1, [2], [3, [[4]]]]); - * // => [1, 2, 3, 4]; - * - * _.flatten([1, [2], [3, [[4]]]], true); - * // => [1, 2, 3, [[4]]]; - */ - function flatten(array, shallow) { - var index = -1, - length = array ? array.length : 0, - result = []; - - while (++index < length) { - var value = array[index]; - - // recursively flatten arrays (susceptible to call stack limits) - if (isArray(value)) { - push.apply(result, shallow ? value : flatten(value)); - } else { - result.push(value); - } - } - return result; - } - - /** - * Gets the index at which the first occurrence of `value` is found using - * strict equality for comparisons, i.e. `===`. If the `array` is already - * sorted, passing `true` for `fromIndex` will run a faster binary search. - * - * @static - * @memberOf _ - * @category Arrays - * @param {Array} array The array to search. - * @param {Mixed} value The value to search for. - * @param {Boolean|Number} [fromIndex=0] The index to search from or `true` to - * perform a binary search on a sorted `array`. - * @returns {Number} Returns the index of the matched value or `-1`. - * @example - * - * _.indexOf([1, 2, 3, 1, 2, 3], 2); - * // => 1 - * - * _.indexOf([1, 2, 3, 1, 2, 3], 2, 3); - * // => 4 - * - * _.indexOf([1, 1, 2, 2, 3, 3], 2, true); - * // => 2 - */ - function indexOf(array, value, fromIndex) { - var index = -1, - length = array ? array.length : 0; - - if (typeof fromIndex == 'number') { - index = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0) - 1; - } else if (fromIndex) { - index = sortedIndex(array, value); - return array[index] === value ? index : -1; - } - while (++index < length) { - if (array[index] === value) { - return index; - } - } - return -1; - } - - /** - * Gets all but the last element of `array`. Pass `n` to exclude the last `n` - * elements from the result. - * - * @static - * @memberOf _ - * @category Arrays - * @param {Array} array The array to query. - * @param {Number} [n=1] The number of elements to exclude. - * @param- {Object} [guard] Internally used to allow this method to work with - * others like `_.map` without using their callback `index` argument for `n`. - * @returns {Array} Returns all but the last element or `n` elements of `array`. - * @example - * - * _.initial([3, 2, 1]); - * // => [3, 2] - */ - function initial(array, n, guard) { - return array - ? slice.call(array, 0, -((n == null || guard) ? 1 : n)) - : []; - } - - /** - * Computes the intersection of all the passed-in arrays using strict equality - * for comparisons, i.e. `===`. - * - * @static - * @memberOf _ - * @category Arrays - * @param {Array} [array1, array2, ...] Arrays to process. - * @returns {Array} Returns a new array of unique elements, in order, that are - * present in **all** of the arrays. - * @example - * - * _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]); - * // => [1, 2] - */ - function intersection(array) { - var args = arguments, - argsLength = args.length, - cache = {}, - result = []; - - forEach(array, function(value) { - if (indexOf(result, value) < 0) { - var length = argsLength; - while (--length) { - if (!(cache[length] || (cache[length] = cachedContains(args[length])))(value)) { - return; - } - } - result.push(value); - } - }); - return result; - } - - /** - * Gets the last element of the `array`. Pass `n` to return the last `n` - * elements of the `array`. - * - * @static - * @memberOf _ - * @category Arrays - * @param {Array} array The array to query. - * @param {Number} [n] The number of elements to return. - * @param- {Object} [guard] Internally used to allow this method to work with - * others like `_.map` without using their callback `index` argument for `n`. - * @returns {Mixed} Returns the last element or an array of the last `n` - * elements of `array`. - * @example - * - * _.last([3, 2, 1]); - * // => 1 - */ - function last(array, n, guard) { - if (array) { - var length = array.length; - return (n == null || guard) ? array[length - 1] : slice.call(array, -n || length); - } - } - - /** - * Gets the index at which the last occurrence of `value` is found using strict - * equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used - * as the offset from the end of the collection. - * - * @static - * @memberOf _ - * @category Arrays - * @param {Array} array The array to search. - * @param {Mixed} value The value to search for. - * @param {Number} [fromIndex=array.length-1] The index to search from. - * @returns {Number} Returns the index of the matched value or `-1`. - * @example - * - * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2); - * // => 4 - * - * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2, 3); - * // => 1 - */ - function lastIndexOf(array, value, fromIndex) { - var index = array ? array.length : 0; - if (typeof fromIndex == 'number') { - index = (fromIndex < 0 ? nativeMax(0, index + fromIndex) : nativeMin(fromIndex, index - 1)) + 1; - } - while (index--) { - if (array[index] === value) { - return index; - } - } - return -1; - } - - /** - * Creates an object composed from arrays of `keys` and `values`. Pass either - * a single two dimensional array, i.e. `[[key1, value1], [key2, value2]]`, or - * two arrays, one of `keys` and one of corresponding `values`. - * - * @static - * @memberOf _ - * @category Arrays - * @param {Array} keys The array of keys. - * @param {Array} [values=[]] The array of values. - * @returns {Object} Returns an object composed of the given keys and - * corresponding values. - * @example - * - * _.object(['moe', 'larry', 'curly'], [30, 40, 50]); - * // => { 'moe': 30, 'larry': 40, 'curly': 50 } - */ - function object(keys, values) { - var index = -1, - length = keys ? keys.length : 0, - result = {}; - - while (++index < length) { - var key = keys[index]; - if (values) { - result[key] = values[index]; - } else { - result[key[0]] = key[1]; - } - } - return result; - } - - /** - * Creates an array of numbers (positive and/or negative) progressing from - * `start` up to but not including `stop`. This method is a port of Python's - * `range()` function. See http://docs.python.org/library/functions.html#range. - * - * @static - * @memberOf _ - * @category Arrays - * @param {Number} [start=0] The start of the range. - * @param {Number} end The end of the range. - * @param {Number} [step=1] The value to increment or descrement by. - * @returns {Array} Returns a new range array. - * @example - * - * _.range(10); - * // => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] - * - * _.range(1, 11); - * // => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - * - * _.range(0, 30, 5); - * // => [0, 5, 10, 15, 20, 25] - * - * _.range(0, -10, -1); - * // => [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] - * - * _.range(0); - * // => [] - */ - function range(start, end, step) { - start = +start || 0; - step = +step || 1; - - if (end == null) { - end = start; - start = 0; - } - // use `Array(length)` so V8 will avoid the slower "dictionary" mode - // http://www.youtube.com/watch?v=XAqIpGU8ZZk#t=16m27s - var index = -1, - length = nativeMax(0, ceil((end - start) / step)), - result = Array(length); - - while (++index < length) { - result[index] = start; - start += step; - } - return result; - } - - /** - * The opposite of `_.initial`, this method gets all but the first value of - * `array`. Pass `n` to exclude the first `n` values from the result. - * - * @static - * @memberOf _ - * @alias drop, tail - * @category Arrays - * @param {Array} array The array to query. - * @param {Number} [n=1] The number of elements to exclude. - * @param- {Object} [guard] Internally used to allow this method to work with - * others like `_.map` without using their callback `index` argument for `n`. - * @returns {Array} Returns all but the first value or `n` values of `array`. - * @example - * - * _.rest([3, 2, 1]); - * // => [2, 1] - */ - function rest(array, n, guard) { - return array - ? slice.call(array, (n == null || guard) ? 1 : n) - : []; - } - - /** - * Uses a binary search to determine the smallest index at which the `value` - * should be inserted into `array` in order to maintain the sort order of the - * sorted `array`. If `callback` is passed, it will be executed for `value` and - * each element in `array` to compute their sort ranking. The `callback` is - * bound to `thisArg` and invoked with one argument; (value). The `callback` - * argument may also be the name of a property to order by. - * - * @static - * @memberOf _ - * @category Arrays - * @param {Array} array The array to iterate over. - * @param {Mixed} value The value to evaluate. - * @param {Function|String} [callback=identity|property] The function called - * per iteration or property name to order by. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Number} Returns the index at which the value should be inserted - * into `array`. - * @example - * - * _.sortedIndex([20, 30, 50], 40); - * // => 2 - * - * _.sortedIndex([{ 'x': 20 }, { 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x'); - * // => 2 - * - * var dict = { - * 'wordToNumber': { 'twenty': 20, 'thirty': 30, 'fourty': 40, 'fifty': 50 } - * }; - * - * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) { - * return dict.wordToNumber[word]; - * }); - * // => 2 - * - * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) { - * return this.wordToNumber[word]; - * }, dict); - * // => 2 - */ - function sortedIndex(array, value, callback, thisArg) { - var low = 0, - high = array ? array.length : low; - - // explicitly reference `identity` for better engine inlining - callback = callback ? createCallback(callback, thisArg) : identity; - value = callback(value); - while (low < high) { - var mid = (low + high) >>> 1; - callback(array[mid]) < value - ? low = mid + 1 - : high = mid; - } - return low; - } - - /** - * Computes the union of the passed-in arrays using strict equality for - * comparisons, i.e. `===`. - * - * @static - * @memberOf _ - * @category Arrays - * @param {Array} [array1, array2, ...] Arrays to process. - * @returns {Array} Returns a new array of unique values, in order, that are - * present in one or more of the arrays. - * @example - * - * _.union([1, 2, 3], [101, 2, 1, 10], [2, 1]); - * // => [1, 2, 3, 101, 10] - */ - function union() { - return uniq(concat.apply(arrayRef, arguments)); - } - - /** - * Creates a duplicate-value-free version of the `array` using strict equality - * for comparisons, i.e. `===`. If the `array` is already sorted, passing `true` - * for `isSorted` will run a faster algorithm. If `callback` is passed, each - * element of `array` is passed through a callback` before uniqueness is computed. - * The `callback` is bound to `thisArg` and invoked with three arguments; (value, index, array). - * - * @static - * @memberOf _ - * @alias unique - * @category Arrays - * @param {Array} array The array to process. - * @param {Boolean} [isSorted=false] A flag to indicate that the `array` is already sorted. - * @param {Function} [callback=identity] The function called per iteration. - * @param {Mixed} [thisArg] The `this` binding of `callback`. - * @returns {Array} Returns a duplicate-value-free array. - * @example - * - * _.uniq([1, 2, 1, 3, 1]); - * // => [1, 2, 3] - * - * _.uniq([1, 1, 2, 2, 3], true); - * // => [1, 2, 3] - * - * _.uniq([1, 2, 1.5, 3, 2.5], function(num) { return Math.floor(num); }); - * // => [1, 2, 3] - * - * _.uniq([1, 2, 1.5, 3, 2.5], function(num) { return this.floor(num); }, Math); - * // => [1, 2, 3] - */ - function uniq(array, isSorted, callback, thisArg) { - var index = -1, - length = array ? array.length : 0, - result = [], - seen = result; - - // juggle arguments - if (typeof isSorted == 'function') { - thisArg = callback; - callback = isSorted; - isSorted = false; - } - // init value cache for large arrays - var isLarge = !isSorted && length > 74; - if (isLarge) { - var cache = {}; - } - if (callback) { - seen = []; - callback = createCallback(callback, thisArg); - } - while (++index < length) { - var value = array[index], - computed = callback ? callback(value, index, array) : value; - - if (isLarge) { - // manually coerce `computed` to a string because `hasOwnProperty`, in - // some older versions of Firefox, coerces objects incorrectly - seen = hasOwnProperty.call(cache, computed + '') ? cache[computed] : (cache[computed] = []); - } - if (isSorted - ? !index || seen[seen.length - 1] !== computed - : indexOf(seen, computed) < 0 - ) { - if (callback || isLarge) { - seen.push(computed); - } - result.push(value); - } - } - return result; - } - - /** - * Creates an array with all occurrences of the passed values removed using - * strict equality for comparisons, i.e. `===`. - * - * @static - * @memberOf _ - * @category Arrays - * @param {Array} array The array to filter. - * @param {Mixed} [value1, value2, ...] Values to remove. - * @returns {Array} Returns a new filtered array. - * @example - * - * _.without([1, 2, 1, 0, 3, 1, 4], 0, 1); - * // => [2, 3, 4] - */ - function without(array) { - var index = -1, - length = array ? array.length : 0, - contains = cachedContains(arguments, 1, 20), - result = []; - - while (++index < length) { - var value = array[index]; - if (!contains(value)) { - result.push(value); - } - } - return result; - } - - /** - * Groups the elements of each array at their corresponding indexes. Useful for - * separate data sources that are coordinated through matching array indexes. - * For a matrix of nested arrays, `_.zip.apply(...)` can transpose the matrix - * in a similar fashion. - * - * @static - * @memberOf _ - * @category Arrays - * @param {Array} [array1, array2, ...] Arrays to process. - * @returns {Array} Returns a new array of grouped elements. - * @example - * - * _.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]); - * // => [['moe', 30, true], ['larry', 40, false], ['curly', 50, false]] - */ - function zip(array) { - var index = -1, - length = array ? max(pluck(arguments, 'length')) : 0, - result = Array(length); - - while (++index < length) { - result[index] = pluck(arguments, index); - } - return result; - } - - /*--------------------------------------------------------------------------*/ - - /** - * Creates a function that is restricted to executing `func` only after it is - * called `n` times. The `func` is executed with the `this` binding of the - * created function. - * - * @static - * @memberOf _ - * @category Functions - * @param {Number} n The number of times the function must be called before - * it is executed. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var renderNotes = _.after(notes.length, render); - * _.forEach(notes, function(note) { - * note.asyncSave({ 'success': renderNotes }); - * }); - * // `renderNotes` is run once, after all notes have saved - */ - function after(n, func) { - if (n < 1) { - return func(); - } - return function() { - if (--n < 1) { - return func.apply(this, arguments); - } - }; - } - - /** - * Creates a function that, when called, invokes `func` with the `this` - * binding of `thisArg` and prepends any additional `bind` arguments to those - * passed to the bound function. - * - * @static - * @memberOf _ - * @category Functions - * @param {Function} func The function to bind. - * @param {Mixed} [thisArg] The `this` binding of `func`. - * @param {Mixed} [arg1, arg2, ...] Arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * var func = function(greeting) { - * return greeting + ' ' + this.name; - * }; - * - * func = _.bind(func, { 'name': 'moe' }, 'hi'); - * func(); - * // => 'hi moe' - */ - function bind(func, thisArg) { - // use `Function#bind` if it exists and is fast - // (in V8 `Function#bind` is slower except when partially applied) - return isBindFast || (nativeBind && arguments.length > 2) - ? nativeBind.call.apply(nativeBind, arguments) - : createBound(func, thisArg, slice.call(arguments, 2)); - } - - /** - * Binds methods on `object` to `object`, overwriting the existing method. - * If no method names are provided, all the function properties of `object` - * will be bound. - * - * @static - * @memberOf _ - * @category Functions - * @param {Object} object The object to bind and assign the bound methods to. - * @param {String} [methodName1, methodName2, ...] Method names on the object to bind. - * @returns {Object} Returns `object`. - * @example - * - * var buttonView = { - * 'label': 'lodash', - * 'onClick': function() { alert('clicked: ' + this.label); } - * }; - * - * _.bindAll(buttonView); - * jQuery('#lodash_button').on('click', buttonView.onClick); - * // => When the button is clicked, `this.label` will have the correct value - */ - function bindAll(object) { - var funcs = arguments, - index = funcs.length > 1 ? 0 : (funcs = functions(object), -1), - length = funcs.length; - - while (++index < length) { - var key = funcs[index]; - object[key] = bind(object[key], object); - } - return object; - } - - /** - * Creates a function that is the composition of the passed functions, - * where each function consumes the return value of the function that follows. - * In math terms, composing the functions `f()`, `g()`, and `h()` produces `f(g(h()))`. - * Each function is executed with the `this` binding of the composed function. - * - * @static - * @memberOf _ - * @category Functions - * @param {Function} [func1, func2, ...] Functions to compose. - * @returns {Function} Returns the new composed function. - * @example - * - * var greet = function(name) { return 'hi: ' + name; }; - * var exclaim = function(statement) { return statement + '!'; }; - * var welcome = _.compose(exclaim, greet); - * welcome('moe'); - * // => 'hi: moe!' - */ - function compose() { - var funcs = arguments; - return function() { - var args = arguments, - length = funcs.length; - - while (length--) { - args = [funcs[length].apply(this, args)]; - } - return args[0]; - }; - } - - /** - * Creates a function that will delay the execution of `func` until after - * `wait` milliseconds have elapsed since the last time it was invoked. Pass - * `true` for `immediate` to cause debounce to invoke `func` on the leading, - * instead of the trailing, edge of the `wait` timeout. Subsequent calls to - * the debounced function will return the result of the last `func` call. - * - * @static - * @memberOf _ - * @category Functions - * @param {Function} func The function to debounce. - * @param {Number} wait The number of milliseconds to delay. - * @param {Boolean} immediate A flag to indicate execution is on the leading - * edge of the timeout. - * @returns {Function} Returns the new debounced function. - * @example - * - * var lazyLayout = _.debounce(calculateLayout, 300); - * jQuery(window).on('resize', lazyLayout); - */ - function debounce(func, wait, immediate) { - var args, - result, - thisArg, - timeoutId; - - function delayed() { - timeoutId = null; - if (!immediate) { - result = func.apply(thisArg, args); - } - } - return function() { - var isImmediate = immediate && !timeoutId; - args = arguments; - thisArg = this; - - clearTimeout(timeoutId); - timeoutId = setTimeout(delayed, wait); - - if (isImmediate) { - result = func.apply(thisArg, args); - } - return result; - }; - } - - /** - * Executes the `func` function after `wait` milliseconds. Additional arguments - * will be passed to `func` when it is invoked. - * - * @static - * @memberOf _ - * @category Functions - * @param {Function} func The function to delay. - * @param {Number} wait The number of milliseconds to delay execution. - * @param {Mixed} [arg1, arg2, ...] Arguments to invoke the function with. - * @returns {Number} Returns the `setTimeout` timeout id. - * @example - * - * var log = _.bind(console.log, console); - * _.delay(log, 1000, 'logged later'); - * // => 'logged later' (Appears after one second.) - */ - function delay(func, wait) { - var args = slice.call(arguments, 2); - return setTimeout(function() { func.apply(undefined, args); }, wait); - } - - /** - * Defers executing the `func` function until the current call stack has cleared. - * Additional arguments will be passed to `func` when it is invoked. - * - * @static - * @memberOf _ - * @category Functions - * @param {Function} func The function to defer. - * @param {Mixed} [arg1, arg2, ...] Arguments to invoke the function with. - * @returns {Number} Returns the `setTimeout` timeout id. - * @example - * - * _.defer(function() { alert('deferred'); }); - * // returns from the function before `alert` is called - */ - function defer(func) { - var args = slice.call(arguments, 1); - return setTimeout(function() { func.apply(undefined, args); }, 1); - } - - /** - * Creates a function that, when called, invokes `object[methodName]` and - * prepends any additional `lateBind` arguments to those passed to the bound - * function. This method differs from `_.bind` by allowing bound functions to - * reference methods that will be redefined or don't yet exist. - * - * @static - * @memberOf _ - * @category Functions - * @param {Object} object The object the method belongs to. - * @param {String} methodName The method name. - * @param {Mixed} [arg1, arg2, ...] Arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * var object = { - * 'name': 'moe', - * 'greet': function(greeting) { - * return greeting + ' ' + this.name; - * } - * }; - * - * var func = _.lateBind(object, 'greet', 'hi'); - * func(); - * // => 'hi moe' - * - * object.greet = function(greeting) { - * return greeting + ', ' + this.name + '!'; - * }; - * - * func(); - * // => 'hi, moe!' - */ - function lateBind(object, methodName) { - return createBound(methodName, object, slice.call(arguments, 2)); - } - - /** - * Creates a function that memoizes the result of `func`. If `resolver` is - * passed, it will be used to determine the cache key for storing the result - * based on the arguments passed to the memoized function. By default, the first - * argument passed to the memoized function is used as the cache key. The `func` - * is executed with the `this` binding of the memoized function. - * - * @static - * @memberOf _ - * @category Functions - * @param {Function} func The function to have its output memoized. - * @param {Function} [resolver] A function used to resolve the cache key. - * @returns {Function} Returns the new memoizing function. - * @example - * - * var fibonacci = _.memoize(function(n) { - * return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2); - * }); - */ - function memoize(func, resolver) { - var cache = {}; - return function() { - var key = resolver ? resolver.apply(this, arguments) : arguments[0]; - return hasOwnProperty.call(cache, key) - ? cache[key] - : (cache[key] = func.apply(this, arguments)); - }; - } - - /** - * Creates a function that is restricted to execute `func` once. Repeat calls to - * the function will return the value of the first call. The `func` is executed - * with the `this` binding of the created function. - * - * @static - * @memberOf _ - * @category Functions - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var initialize = _.once(createApplication); - * initialize(); - * initialize(); - * // Application is only created once. - */ - function once(func) { - var result, - ran = false; - - return function() { - if (ran) { - return result; - } - ran = true; - result = func.apply(this, arguments); - - // clear the `func` variable so the function may be garbage collected - func = null; - return result; - }; - } - - /** - * Creates a function that, when called, invokes `func` with any additional - * `partial` arguments prepended to those passed to the new function. This - * method is similar to `bind`, except it does **not** alter the `this` binding. - * - * @static - * @memberOf _ - * @category Functions - * @param {Function} func The function to partially apply arguments to. - * @param {Mixed} [arg1, arg2, ...] Arguments to be partially applied. - * @returns {Function} Returns the new partially applied function. - * @example - * - * var greet = function(greeting, name) { return greeting + ': ' + name; }; - * var hi = _.partial(greet, 'hi'); - * hi('moe'); - * // => 'hi: moe' - */ - function partial(func) { - return createBound(func, slice.call(arguments, 1)); - } - - /** - * Creates a function that, when executed, will only call the `func` - * function at most once per every `wait` milliseconds. If the throttled - * function is invoked more than once during the `wait` timeout, `func` will - * also be called on the trailing edge of the timeout. Subsequent calls to the - * throttled function will return the result of the last `func` call. - * - * @static - * @memberOf _ - * @category Functions - * @param {Function} func The function to throttle. - * @param {Number} wait The number of milliseconds to throttle executions to. - * @returns {Function} Returns the new throttled function. - * @example - * - * var throttled = _.throttle(updatePosition, 100); - * jQuery(window).on('scroll', throttled); - */ - function throttle(func, wait) { - var args, - result, - thisArg, - timeoutId, - lastCalled = 0; - - function trailingCall() { - lastCalled = new Date; - timeoutId = null; - result = func.apply(thisArg, args); - } - return function() { - var now = new Date, - remaining = wait - (now - lastCalled); - - args = arguments; - thisArg = this; - - if (remaining <= 0) { - clearTimeout(timeoutId); - lastCalled = now; - result = func.apply(thisArg, args); - } - else if (!timeoutId) { - timeoutId = setTimeout(trailingCall, remaining); - } - return result; - }; - } - - /** - * Creates a function that passes `value` to the `wrapper` function as its - * first argument. Additional arguments passed to the function are appended - * to those passed to the `wrapper` function. The `wrapper` is executed with - * the `this` binding of the created function. - * - * @static - * @memberOf _ - * @category Functions - * @param {Mixed} value The value to wrap. - * @param {Function} wrapper The wrapper function. - * @returns {Function} Returns the new function. - * @example - * - * var hello = function(name) { return 'hello ' + name; }; - * hello = _.wrap(hello, function(func) { - * return 'before, ' + func('moe') + ', after'; - * }); - * hello(); - * // => 'before, hello moe, after' - */ - function wrap(value, wrapper) { - return function() { - var args = [value]; - push.apply(args, arguments); - return wrapper.apply(this, args); - }; - } - - /*--------------------------------------------------------------------------*/ - - /** - * Converts the characters `&`, `<`, `>`, `"`, and `'` in `string` to their - * corresponding HTML entities. - * - * @static - * @memberOf _ - * @category Utilities - * @param {String} string The string to escape. - * @returns {String} Returns the escaped string. - * @example - * - * _.escape('Moe, Larry & Curly'); - * // => "Moe, Larry & Curly" - */ - function escape(string) { - return string == null ? '' : (string + '').replace(reUnescapedHtml, escapeHtmlChar); - } - - /** - * This function returns the first argument passed to it. - * - * Note: It is used throughout Lo-Dash as a default callback. - * - * @static - * @memberOf _ - * @category Utilities - * @param {Mixed} value Any value. - * @returns {Mixed} Returns `value`. - * @example - * - * var moe = { 'name': 'moe' }; - * moe === _.identity(moe); - * // => true - */ - function identity(value) { - return value; - } - - /** - * Adds functions properties of `object` to the `lodash` function and chainable - * wrapper. - * - * @static - * @memberOf _ - * @category Utilities - * @param {Object} object The object of function properties to add to `lodash`. - * @example - * - * _.mixin({ - * 'capitalize': function(string) { - * return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase(); - * } - * }); - * - * _.capitalize('larry'); - * // => 'Larry' - * - * _('curly').capitalize(); - * // => 'Curly' - */ - function mixin(object) { - forEach(functions(object), function(methodName) { - var func = lodash[methodName] = object[methodName]; - - lodash.prototype[methodName] = function() { - var args = [this.__wrapped__]; - push.apply(args, arguments); - - var result = func.apply(lodash, args); - if (this.__chain__) { - result = new lodash(result); - result.__chain__ = true; - } - return result; - }; - }); - } - - /** - * Reverts the '_' variable to its previous value and returns a reference to - * the `lodash` function. - * - * @static - * @memberOf _ - * @category Utilities - * @returns {Function} Returns the `lodash` function. - * @example - * - * var lodash = _.noConflict(); - */ - function noConflict() { - window._ = oldDash; - return this; - } - - /** - * Produces a random number between `min` and `max` (inclusive). If only one - * argument is passed, a number between `0` and the given number will be returned. - * - * @static - * @memberOf _ - * @category Utilities - * @param {Number} [min=0] The minimum possible value. - * @param {Number} [max=1] The maximum possible value. - * @returns {Number} Returns a random number. - * @example - * - * _.random(0, 5); - * // => a number between 1 and 5 - * - * _.random(5); - * // => also a number between 1 and 5 - */ - function random(min, max) { - if (min == null && max == null) { - max = 1; - } - min = +min || 0; - if (max == null) { - max = min; - min = 0; - } - return min + floor(nativeRandom() * ((+max || 0) - min + 1)); - } - - /** - * Resolves the value of `property` on `object`. If `property` is a function - * it will be invoked and its result returned, else the property value is - * returned. If `object` is falsey, then `null` is returned. - * - * @deprecated - * @static - * @memberOf _ - * @category Utilities - * @param {Object} object The object to inspect. - * @param {String} property The property to get the value of. - * @returns {Mixed} Returns the resolved value. - * @example - * - * var object = { - * 'cheese': 'crumpets', - * 'stuff': function() { - * return 'nonsense'; - * } - * }; - * - * _.result(object, 'cheese'); - * // => 'crumpets' - * - * _.result(object, 'stuff'); - * // => 'nonsense' - */ - function result(object, property) { - // based on Backbone's private `getValue` function - // https://github.com/documentcloud/backbone/blob/0.9.2/backbone.js#L1419-1424 - var value = object ? object[property] : null; - return isFunction(value) ? object[property]() : value; - } - - /** - * A micro-templating method that handles arbitrary delimiters, preserves - * whitespace, and correctly escapes quotes within interpolated code. - * - * Note: In the development build `_.template` utilizes sourceURLs for easier - * debugging. See http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl - * - * Note: Lo-Dash may be used in Chrome extensions by either creating a `lodash csp` - * build and avoiding `_.template` use, or loading Lo-Dash in a sandboxed page. - * See http://developer.chrome.com/trunk/extensions/sandboxingEval.html - * - * @static - * @memberOf _ - * @category Utilities - * @param {String} text The template text. - * @param {Obect} data The data object used to populate the text. - * @param {Object} options The options object. - * escape - The "escape" delimiter regexp. - * evaluate - The "evaluate" delimiter regexp. - * interpolate - The "interpolate" delimiter regexp. - * sourceURL - The sourceURL of the template's compiled source. - * variable - The data object variable name. - * - * @returns {Function|String} Returns a compiled function when no `data` object - * is given, else it returns the interpolated text. - * @example - * - * // using a compiled template - * var compiled = _.template('hello <%= name %>'); - * compiled({ 'name': 'moe' }); - * // => 'hello moe' - * - * var list = '<% _.forEach(people, function(name) { %>
    1. <%= name %>
    2. <% }); %>'; - * _.template(list, { 'people': ['moe', 'larry', 'curly'] }); - * // => '
    3. moe
    4. larry
    5. curly
    6. ' - * - * // using the "escape" delimiter to escape HTML in data property values - * _.template('<%- value %>', { 'value': '\n```\n\nUsing [npm](http://npmjs.org/):\n\n```bash\nnpm install lodash\n\nnpm install -g lodash\nnpm link lodash\n```\n\nIn [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/):\n\n```js\nvar _ = require('lodash');\n```\n\n**Note:** If Lo-Dash is installed globally, [run `npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it.\n\nIn [RingoJS v0.7.0-](http://ringojs.org/):\n\n```js\nvar _ = require('lodash')._;\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload('lodash.js');\n```\n\nIn an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire({\n 'paths': {\n 'underscore': 'path/to/lodash'\n }\n},\n['underscore'], function(_) {\n console.log(_.VERSION);\n});\n```\n\n## Resolved Underscore.js issues\n\n * Allow iteration of objects with a `length` property [[#799](https://github.com/documentcloud/underscore/pull/799), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L545-551)]\n * Fix cross-browser object iteration bugs [[#60](https://github.com/documentcloud/underscore/issues/60), [#376](https://github.com/documentcloud/underscore/issues/376), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L558-582)]\n * Methods should work on pages with incorrectly shimmed native methods [[#7](https://github.com/documentcloud/underscore/issues/7), [#742](https://github.com/documentcloud/underscore/issues/742), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L140-146)]\n * `_.isEmpty` should support jQuery/MooTools DOM query collections [[#690](https://github.com/documentcloud/underscore/pull/690), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L747-752)]\n * `_.isObject` should avoid V8 bug [#2291](http://code.google.com/p/8/issues/detail?id=2291) [[#605](https://github.com/documentcloud/underscore/issues/605), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L828-840)]\n * `_.keys` should work with `arguments` objects cross-browser [[#396](https://github.com/documentcloud/underscore/issues/396), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L921-923)]\n * `_.range` should coerce arguments to numbers [[#634](https://github.com/documentcloud/underscore/issues/634), [#683](https://github.com/documentcloud/underscore/issues/683), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L1337-1340)]\n\n## Release Notes\n\n### v0.9.2\n\n * Added `fromIndex` argument to `_.contains`\n * Added `moduleId` build option\n * Added Closure Compiler *“simpleâ€* optimizations to the build process\n * Added support for strings in `_.max` and `_.min`\n * Added support for ES6 template delimiters to `_.template`\n * Ensured re-minification of Lo-Dash by third parties avoids Closure Compiler bugs\n * Optimized `_.every`, `_.find`, `_.some`, and `_.uniq`\n\nThe full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Classâ€* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation.\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton \"Follow @jdalton on Twitter\") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz \"Follow @BlaineBublitz on Twitter\") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge \"Follow @kitcambridge on Twitter\") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias \"Follow @mathias on Twitter\") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n", - "readmeFilename": "README.md", - "_id": "lodash@0.9.2", - "_from": "lodash@~0.9.2" -} diff --git a/node_modules/grunt/node_modules/minimatch/.npmignore b/node_modules/grunt/node_modules/minimatch/.npmignore deleted file mode 100644 index 3c3629e647f5..000000000000 --- a/node_modules/grunt/node_modules/minimatch/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/node_modules/grunt/node_modules/minimatch/LICENSE b/node_modules/grunt/node_modules/minimatch/LICENSE deleted file mode 100644 index 05a4010949ca..000000000000 --- a/node_modules/grunt/node_modules/minimatch/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright 2009, 2010, 2011 Isaac Z. Schlueter. -All rights reserved. - -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. diff --git a/node_modules/grunt/node_modules/minimatch/README.md b/node_modules/grunt/node_modules/minimatch/README.md deleted file mode 100644 index 978268e275e8..000000000000 --- a/node_modules/grunt/node_modules/minimatch/README.md +++ /dev/null @@ -1,218 +0,0 @@ -# minimatch - -A minimal matching utility. - -[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch) - - -This is the matching library used internally by npm. - -Eventually, it will replace the C binding in node-glob. - -It works by converting glob expressions into JavaScript `RegExp` -objects. - -## Usage - -```javascript -var minimatch = require("minimatch") - -minimatch("bar.foo", "*.foo") // true! -minimatch("bar.foo", "*.bar") // false! -minimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy! -``` - -## Features - -Supports these glob features: - -* Brace Expansion -* Extended glob matching -* "Globstar" `**` matching - -See: - -* `man sh` -* `man bash` -* `man 3 fnmatch` -* `man 5 gitignore` - -## Minimatch Class - -Create a minimatch object by instanting the `minimatch.Minimatch` class. - -```javascript -var Minimatch = require("minimatch").Minimatch -var mm = new Minimatch(pattern, options) -``` - -### Properties - -* `pattern` The original pattern the minimatch object represents. -* `options` The options supplied to the constructor. -* `set` A 2-dimensional array of regexp or string expressions. - Each row in the - array corresponds to a brace-expanded pattern. Each item in the row - corresponds to a single path-part. For example, the pattern - `{a,b/c}/d` would expand to a set of patterns like: - - [ [ a, d ] - , [ b, c, d ] ] - - If a portion of the pattern doesn't have any "magic" in it - (that is, it's something like `"foo"` rather than `fo*o?`), then it - will be left as a string rather than converted to a regular - expression. - -* `regexp` Created by the `makeRe` method. A single regular expression - expressing the entire pattern. This is useful in cases where you wish - to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled. -* `negate` True if the pattern is negated. -* `comment` True if the pattern is a comment. -* `empty` True if the pattern is `""`. - -### Methods - -* `makeRe` Generate the `regexp` member if necessary, and return it. - Will return `false` if the pattern is invalid. -* `match(fname)` Return true if the filename matches the pattern, or - false otherwise. -* `matchOne(fileArray, patternArray, partial)` Take a `/`-split - filename, and match it against a single row in the `regExpSet`. This - method is mainly for internal use, but is exposed so that it can be - used by a glob-walker that needs to avoid excessive filesystem calls. - -All other methods are internal, and will be called as necessary. - -## Functions - -The top-level exported function has a `cache` property, which is an LRU -cache set to store 100 items. So, calling these methods repeatedly -with the same pattern and options will use the same Minimatch object, -saving the cost of parsing it multiple times. - -### minimatch(path, pattern, options) - -Main export. Tests a path against the pattern using the options. - -```javascript -var isJS = minimatch(file, "*.js", { matchBase: true }) -``` - -### minimatch.filter(pattern, options) - -Returns a function that tests its -supplied argument, suitable for use with `Array.filter`. Example: - -```javascript -var javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true})) -``` - -### minimatch.match(list, pattern, options) - -Match against the list of -files, in the style of fnmatch or glob. If nothing is matched, and -options.nonull is set, then return a list containing the pattern itself. - -```javascript -var javascripts = minimatch.match(fileList, "*.js", {matchBase: true})) -``` - -### minimatch.makeRe(pattern, options) - -Make a regular expression object from the pattern. - -## Options - -All options are `false` by default. - -### debug - -Dump a ton of stuff to stderr. - -### nobrace - -Do not expand `{a,b}` and `{1..3}` brace sets. - -### noglobstar - -Disable `**` matching against multiple folder names. - -### dot - -Allow patterns to match filenames starting with a period, even if -the pattern does not explicitly have a period in that spot. - -Note that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot` -is set. - -### noext - -Disable "extglob" style patterns like `+(a|b)`. - -### nocase - -Perform a case-insensitive match. - -### nonull - -When a match is not found by `minimatch.match`, return a list containing -the pattern itself. When set, an empty list is returned if there are -no matches. - -### matchBase - -If set, then patterns without slashes will be matched -against the basename of the path if it contains slashes. For example, -`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`. - -### nocomment - -Suppress the behavior of treating `#` at the start of a pattern as a -comment. - -### nonegate - -Suppress the behavior of treating a leading `!` character as negation. - -### flipNegate - -Returns from negate expressions the same as if they were not negated. -(Ie, true on a hit, false on a miss.) - - -## Comparisons to other fnmatch/glob implementations - -While strict compliance with the existing standards is a worthwhile -goal, some discrepancies exist between minimatch and other -implementations, and are intentional. - -If the pattern starts with a `!` character, then it is negated. Set the -`nonegate` flag to suppress this behavior, and treat leading `!` -characters normally. This is perhaps relevant if you wish to start the -pattern with a negative extglob pattern like `!(a|B)`. Multiple `!` -characters at the start of a pattern will negate the pattern multiple -times. - -If a pattern starts with `#`, then it is treated as a comment, and -will not match anything. Use `\#` to match a literal `#` at the -start of a line, or set the `nocomment` flag to suppress this behavior. - -The double-star character `**` is supported by default, unless the -`noglobstar` flag is set. This is supported in the manner of bsdglob -and bash 4.1, where `**` only has special significance if it is the only -thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but -`a/**b` will not. - -If an escaped pattern has no matches, and the `nonull` flag is set, -then minimatch.match returns the pattern as-provided, rather than -interpreting the character escapes. For example, -`minimatch.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than -`"*a?"`. This is akin to setting the `nullglob` option in bash, except -that it does not resolve escaped pattern characters. - -If brace expansion is not disabled, then it is performed before any -other interpretation of the glob pattern. Thus, a pattern like -`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded -**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are -checked for validity. Since those two are valid, matching proceeds. diff --git a/node_modules/grunt/node_modules/minimatch/minimatch.js b/node_modules/grunt/node_modules/minimatch/minimatch.js deleted file mode 100644 index c633f89fabc3..000000000000 --- a/node_modules/grunt/node_modules/minimatch/minimatch.js +++ /dev/null @@ -1,1055 +0,0 @@ -;(function (require, exports, module, platform) { - -if (module) module.exports = minimatch -else exports.minimatch = minimatch - -if (!require) { - require = function (id) { - switch (id) { - case "sigmund": return function sigmund (obj) { - return JSON.stringify(obj) - } - case "path": return { basename: function (f) { - f = f.split(/[\/\\]/) - var e = f.pop() - if (!e) e = f.pop() - return e - }} - case "lru-cache": return function LRUCache () { - // not quite an LRU, but still space-limited. - var cache = {} - var cnt = 0 - this.set = function (k, v) { - cnt ++ - if (cnt >= 100) cache = {} - cache[k] = v - } - this.get = function (k) { return cache[k] } - } - } - } -} - -minimatch.Minimatch = Minimatch - -var LRU = require("lru-cache") - , cache = minimatch.cache = new LRU({max: 100}) - , GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} - , sigmund = require("sigmund") - -var path = require("path") - // any single thing other than / - // don't need to escape / when using new RegExp() - , qmark = "[^/]" - - // * => any number of characters - , star = qmark + "*?" - - // ** when dots are allowed. Anything goes, except .. and . - // not (^ or / followed by one or two dots followed by $ or /), - // followed by anything, any number of times. - , twoStarDot = "(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?" - - // not a ^ or / followed by a dot, - // followed by anything, any number of times. - , twoStarNoDot = "(?:(?!(?:\\\/|^)\\.).)*?" - - // characters that need to be escaped in RegExp. - , reSpecials = charSet("().*{}+?[]^$\\!") - -// "abc" -> { a:true, b:true, c:true } -function charSet (s) { - return s.split("").reduce(function (set, c) { - set[c] = true - return set - }, {}) -} - -// normalizes slashes. -var slashSplit = /\/+/ - -minimatch.filter = filter -function filter (pattern, options) { - options = options || {} - return function (p, i, list) { - return minimatch(p, pattern, options) - } -} - -function ext (a, b) { - a = a || {} - b = b || {} - var t = {} - Object.keys(b).forEach(function (k) { - t[k] = b[k] - }) - Object.keys(a).forEach(function (k) { - t[k] = a[k] - }) - return t -} - -minimatch.defaults = function (def) { - if (!def || !Object.keys(def).length) return minimatch - - var orig = minimatch - - var m = function minimatch (p, pattern, options) { - return orig.minimatch(p, pattern, ext(def, options)) - } - - m.Minimatch = function Minimatch (pattern, options) { - return new orig.Minimatch(pattern, ext(def, options)) - } - - return m -} - -Minimatch.defaults = function (def) { - if (!def || !Object.keys(def).length) return Minimatch - return minimatch.defaults(def).Minimatch -} - - -function minimatch (p, pattern, options) { - if (typeof pattern !== "string") { - throw new TypeError("glob pattern string required") - } - - if (!options) options = {} - - // shortcut: comments match nothing. - if (!options.nocomment && pattern.charAt(0) === "#") { - return false - } - - // "" only matches "" - if (pattern.trim() === "") return p === "" - - return new Minimatch(pattern, options).match(p) -} - -function Minimatch (pattern, options) { - if (!(this instanceof Minimatch)) { - return new Minimatch(pattern, options, cache) - } - - if (typeof pattern !== "string") { - throw new TypeError("glob pattern string required") - } - - if (!options) options = {} - pattern = pattern.trim() - - // windows: need to use /, not \ - // On other platforms, \ is a valid (albeit bad) filename char. - if (platform === "win32") { - pattern = pattern.split("\\").join("/") - } - - // lru storage. - // these things aren't particularly big, but walking down the string - // and turning it into a regexp can get pretty costly. - var cacheKey = pattern + "\n" + sigmund(options) - var cached = minimatch.cache.get(cacheKey) - if (cached) return cached - minimatch.cache.set(cacheKey, this) - - this.options = options - this.set = [] - this.pattern = pattern - this.regexp = null - this.negate = false - this.comment = false - this.empty = false - - // make the set of regexps etc. - this.make() -} - -Minimatch.prototype.debug = function() {} - -Minimatch.prototype.make = make -function make () { - // don't do it more than once. - if (this._made) return - - var pattern = this.pattern - var options = this.options - - // empty patterns and comments match nothing. - if (!options.nocomment && pattern.charAt(0) === "#") { - this.comment = true - return - } - if (!pattern) { - this.empty = true - return - } - - // step 1: figure out negation, etc. - this.parseNegate() - - // step 2: expand braces - var set = this.globSet = this.braceExpand() - - if (options.debug) this.debug = console.error - - this.debug(this.pattern, set) - - // step 3: now we have a set, so turn each one into a series of path-portion - // matching patterns. - // These will be regexps, except in the case of "**", which is - // set to the GLOBSTAR object for globstar behavior, - // and will not contain any / characters - set = this.globParts = set.map(function (s) { - return s.split(slashSplit) - }) - - this.debug(this.pattern, set) - - // glob --> regexps - set = set.map(function (s, si, set) { - return s.map(this.parse, this) - }, this) - - this.debug(this.pattern, set) - - // filter out everything that didn't compile properly. - set = set.filter(function (s) { - return -1 === s.indexOf(false) - }) - - this.debug(this.pattern, set) - - this.set = set -} - -Minimatch.prototype.parseNegate = parseNegate -function parseNegate () { - var pattern = this.pattern - , negate = false - , options = this.options - , negateOffset = 0 - - if (options.nonegate) return - - for ( var i = 0, l = pattern.length - ; i < l && pattern.charAt(i) === "!" - ; i ++) { - negate = !negate - negateOffset ++ - } - - if (negateOffset) this.pattern = pattern.substr(negateOffset) - this.negate = negate -} - -// Brace expansion: -// a{b,c}d -> abd acd -// a{b,}c -> abc ac -// a{0..3}d -> a0d a1d a2d a3d -// a{b,c{d,e}f}g -> abg acdfg acefg -// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg -// -// Invalid sets are not expanded. -// a{2..}b -> a{2..}b -// a{b}c -> a{b}c -minimatch.braceExpand = function (pattern, options) { - return new Minimatch(pattern, options).braceExpand() -} - -Minimatch.prototype.braceExpand = braceExpand -function braceExpand (pattern, options) { - options = options || this.options - pattern = typeof pattern === "undefined" - ? this.pattern : pattern - - if (typeof pattern === "undefined") { - throw new Error("undefined pattern") - } - - if (options.nobrace || - !pattern.match(/\{.*\}/)) { - // shortcut. no need to expand. - return [pattern] - } - - var escaping = false - - // examples and comments refer to this crazy pattern: - // a{b,c{d,e},{f,g}h}x{y,z} - // expected: - // abxy - // abxz - // acdxy - // acdxz - // acexy - // acexz - // afhxy - // afhxz - // aghxy - // aghxz - - // everything before the first \{ is just a prefix. - // So, we pluck that off, and work with the rest, - // and then prepend it to everything we find. - if (pattern.charAt(0) !== "{") { - this.debug(pattern) - var prefix = null - for (var i = 0, l = pattern.length; i < l; i ++) { - var c = pattern.charAt(i) - this.debug(i, c) - if (c === "\\") { - escaping = !escaping - } else if (c === "{" && !escaping) { - prefix = pattern.substr(0, i) - break - } - } - - // actually no sets, all { were escaped. - if (prefix === null) { - this.debug("no sets") - return [pattern] - } - - var tail = braceExpand.call(this, pattern.substr(i), options) - return tail.map(function (t) { - return prefix + t - }) - } - - // now we have something like: - // {b,c{d,e},{f,g}h}x{y,z} - // walk through the set, expanding each part, until - // the set ends. then, we'll expand the suffix. - // If the set only has a single member, then'll put the {} back - - // first, handle numeric sets, since they're easier - var numset = pattern.match(/^\{(-?[0-9]+)\.\.(-?[0-9]+)\}/) - if (numset) { - this.debug("numset", numset[1], numset[2]) - var suf = braceExpand.call(this, pattern.substr(numset[0].length), options) - , start = +numset[1] - , end = +numset[2] - , inc = start > end ? -1 : 1 - , set = [] - for (var i = start; i != (end + inc); i += inc) { - // append all the suffixes - for (var ii = 0, ll = suf.length; ii < ll; ii ++) { - set.push(i + suf[ii]) - } - } - return set - } - - // ok, walk through the set - // We hope, somewhat optimistically, that there - // will be a } at the end. - // If the closing brace isn't found, then the pattern is - // interpreted as braceExpand("\\" + pattern) so that - // the leading \{ will be interpreted literally. - var i = 1 // skip the \{ - , depth = 1 - , set = [] - , member = "" - , sawEnd = false - , escaping = false - - function addMember () { - set.push(member) - member = "" - } - - this.debug("Entering for") - FOR: for (i = 1, l = pattern.length; i < l; i ++) { - var c = pattern.charAt(i) - this.debug("", i, c) - - if (escaping) { - escaping = false - member += "\\" + c - } else { - switch (c) { - case "\\": - escaping = true - continue - - case "{": - depth ++ - member += "{" - continue - - case "}": - depth -- - // if this closes the actual set, then we're done - if (depth === 0) { - addMember() - // pluck off the close-brace - i ++ - break FOR - } else { - member += c - continue - } - - case ",": - if (depth === 1) { - addMember() - } else { - member += c - } - continue - - default: - member += c - continue - } // switch - } // else - } // for - - // now we've either finished the set, and the suffix is - // pattern.substr(i), or we have *not* closed the set, - // and need to escape the leading brace - if (depth !== 0) { - this.debug("didn't close", pattern) - return braceExpand.call(this, "\\" + pattern, options) - } - - // x{y,z} -> ["xy", "xz"] - this.debug("set", set) - this.debug("suffix", pattern.substr(i)) - var suf = braceExpand.call(this, pattern.substr(i), options) - // ["b", "c{d,e}","{f,g}h"] -> - // [["b"], ["cd", "ce"], ["fh", "gh"]] - var addBraces = set.length === 1 - this.debug("set pre-expanded", set) - set = set.map(function (p) { - return braceExpand.call(this, p, options) - }, this) - this.debug("set expanded", set) - - - // [["b"], ["cd", "ce"], ["fh", "gh"]] -> - // ["b", "cd", "ce", "fh", "gh"] - set = set.reduce(function (l, r) { - return l.concat(r) - }) - - if (addBraces) { - set = set.map(function (s) { - return "{" + s + "}" - }) - } - - // now attach the suffixes. - var ret = [] - for (var i = 0, l = set.length; i < l; i ++) { - for (var ii = 0, ll = suf.length; ii < ll; ii ++) { - ret.push(set[i] + suf[ii]) - } - } - return ret -} - -// parse a component of the expanded set. -// At this point, no pattern may contain "/" in it -// so we're going to return a 2d array, where each entry is the full -// pattern, split on '/', and then turned into a regular expression. -// A regexp is made at the end which joins each array with an -// escaped /, and another full one which joins each regexp with |. -// -// Following the lead of Bash 4.1, note that "**" only has special meaning -// when it is the *only* thing in a path portion. Otherwise, any series -// of * is equivalent to a single *. Globstar behavior is enabled by -// default, and can be disabled by setting options.noglobstar. -Minimatch.prototype.parse = parse -var SUBPARSE = {} -function parse (pattern, isSub) { - var options = this.options - - // shortcuts - if (!options.noglobstar && pattern === "**") return GLOBSTAR - if (pattern === "") return "" - - var re = "" - , hasMagic = !!options.nocase - , escaping = false - // ? => one single character - , patternListStack = [] - , plType - , stateChar - , inClass = false - , reClassStart = -1 - , classStart = -1 - // . and .. never match anything that doesn't start with ., - // even when options.dot is set. - , patternStart = pattern.charAt(0) === "." ? "" // anything - // not (start or / followed by . or .. followed by / or end) - : options.dot ? "(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))" - : "(?!\\.)" - , self = this - - function clearStateChar () { - if (stateChar) { - // we had some state-tracking character - // that wasn't consumed by this pass. - switch (stateChar) { - case "*": - re += star - hasMagic = true - break - case "?": - re += qmark - hasMagic = true - break - default: - re += "\\"+stateChar - break - } - self.debug('clearStateChar %j %j', stateChar, re) - stateChar = false - } - } - - for ( var i = 0, len = pattern.length, c - ; (i < len) && (c = pattern.charAt(i)) - ; i ++ ) { - - this.debug("%s\t%s %s %j", pattern, i, re, c) - - // skip over any that are escaped. - if (escaping && reSpecials[c]) { - re += "\\" + c - escaping = false - continue - } - - SWITCH: switch (c) { - case "/": - // completely not allowed, even escaped. - // Should already be path-split by now. - return false - - case "\\": - clearStateChar() - escaping = true - continue - - // the various stateChar values - // for the "extglob" stuff. - case "?": - case "*": - case "+": - case "@": - case "!": - this.debug("%s\t%s %s %j <-- stateChar", pattern, i, re, c) - - // all of those are literals inside a class, except that - // the glob [!a] means [^a] in regexp - if (inClass) { - this.debug(' in class') - if (c === "!" && i === classStart + 1) c = "^" - re += c - continue - } - - // if we already have a stateChar, then it means - // that there was something like ** or +? in there. - // Handle the stateChar, then proceed with this one. - self.debug('call clearStateChar %j', stateChar) - clearStateChar() - stateChar = c - // if extglob is disabled, then +(asdf|foo) isn't a thing. - // just clear the statechar *now*, rather than even diving into - // the patternList stuff. - if (options.noext) clearStateChar() - continue - - case "(": - if (inClass) { - re += "(" - continue - } - - if (!stateChar) { - re += "\\(" - continue - } - - plType = stateChar - patternListStack.push({ type: plType - , start: i - 1 - , reStart: re.length }) - // negation is (?:(?!js)[^/]*) - re += stateChar === "!" ? "(?:(?!" : "(?:" - this.debug('plType %j %j', stateChar, re) - stateChar = false - continue - - case ")": - if (inClass || !patternListStack.length) { - re += "\\)" - continue - } - - clearStateChar() - hasMagic = true - re += ")" - plType = patternListStack.pop().type - // negation is (?:(?!js)[^/]*) - // The others are (?:) - switch (plType) { - case "!": - re += "[^/]*?)" - break - case "?": - case "+": - case "*": re += plType - case "@": break // the default anyway - } - continue - - case "|": - if (inClass || !patternListStack.length || escaping) { - re += "\\|" - escaping = false - continue - } - - clearStateChar() - re += "|" - continue - - // these are mostly the same in regexp and glob - case "[": - // swallow any state-tracking char before the [ - clearStateChar() - - if (inClass) { - re += "\\" + c - continue - } - - inClass = true - classStart = i - reClassStart = re.length - re += c - continue - - case "]": - // a right bracket shall lose its special - // meaning and represent itself in - // a bracket expression if it occurs - // first in the list. -- POSIX.2 2.8.3.2 - if (i === classStart + 1 || !inClass) { - re += "\\" + c - escaping = false - continue - } - - // finish up the class. - hasMagic = true - inClass = false - re += c - continue - - default: - // swallow any state char that wasn't consumed - clearStateChar() - - if (escaping) { - // no need - escaping = false - } else if (reSpecials[c] - && !(c === "^" && inClass)) { - re += "\\" - } - - re += c - - } // switch - } // for - - - // handle the case where we left a class open. - // "[abc" is valid, equivalent to "\[abc" - if (inClass) { - // split where the last [ was, and escape it - // this is a huge pita. We now have to re-walk - // the contents of the would-be class to re-translate - // any characters that were passed through as-is - var cs = pattern.substr(classStart + 1) - , sp = this.parse(cs, SUBPARSE) - re = re.substr(0, reClassStart) + "\\[" + sp[0] - hasMagic = hasMagic || sp[1] - } - - // handle the case where we had a +( thing at the *end* - // of the pattern. - // each pattern list stack adds 3 chars, and we need to go through - // and escape any | chars that were passed through as-is for the regexp. - // Go through and escape them, taking care not to double-escape any - // | chars that were already escaped. - var pl - while (pl = patternListStack.pop()) { - var tail = re.slice(pl.reStart + 3) - // maybe some even number of \, then maybe 1 \, followed by a | - tail = tail.replace(/((?:\\{2})*)(\\?)\|/g, function (_, $1, $2) { - if (!$2) { - // the | isn't already escaped, so escape it. - $2 = "\\" - } - - // need to escape all those slashes *again*, without escaping the - // one that we need for escaping the | character. As it works out, - // escaping an even number of slashes can be done by simply repeating - // it exactly after itself. That's why this trick works. - // - // I am sorry that you have to see this. - return $1 + $1 + $2 + "|" - }) - - this.debug("tail=%j\n %s", tail, tail) - var t = pl.type === "*" ? star - : pl.type === "?" ? qmark - : "\\" + pl.type - - hasMagic = true - re = re.slice(0, pl.reStart) - + t + "\\(" - + tail - } - - // handle trailing things that only matter at the very end. - clearStateChar() - if (escaping) { - // trailing \\ - re += "\\\\" - } - - // only need to apply the nodot start if the re starts with - // something that could conceivably capture a dot - var addPatternStart = false - switch (re.charAt(0)) { - case ".": - case "[": - case "(": addPatternStart = true - } - - // if the re is not "" at this point, then we need to make sure - // it doesn't match against an empty path part. - // Otherwise a/* will match a/, which it should not. - if (re !== "" && hasMagic) re = "(?=.)" + re - - if (addPatternStart) re = patternStart + re - - // parsing just a piece of a larger pattern. - if (isSub === SUBPARSE) { - return [ re, hasMagic ] - } - - // skip the regexp for non-magical patterns - // unescape anything in it, though, so that it'll be - // an exact match against a file etc. - if (!hasMagic) { - return globUnescape(pattern) - } - - var flags = options.nocase ? "i" : "" - , regExp = new RegExp("^" + re + "$", flags) - - regExp._glob = pattern - regExp._src = re - - return regExp -} - -minimatch.makeRe = function (pattern, options) { - return new Minimatch(pattern, options || {}).makeRe() -} - -Minimatch.prototype.makeRe = makeRe -function makeRe () { - if (this.regexp || this.regexp === false) return this.regexp - - // at this point, this.set is a 2d array of partial - // pattern strings, or "**". - // - // It's better to use .match(). This function shouldn't - // be used, really, but it's pretty convenient sometimes, - // when you just want to work with a regex. - var set = this.set - - if (!set.length) return this.regexp = false - var options = this.options - - var twoStar = options.noglobstar ? star - : options.dot ? twoStarDot - : twoStarNoDot - , flags = options.nocase ? "i" : "" - - var re = set.map(function (pattern) { - return pattern.map(function (p) { - return (p === GLOBSTAR) ? twoStar - : (typeof p === "string") ? regExpEscape(p) - : p._src - }).join("\\\/") - }).join("|") - - // must match entire pattern - // ending in a * or ** will make it less strict. - re = "^(?:" + re + ")$" - - // can match anything, as long as it's not this. - if (this.negate) re = "^(?!" + re + ").*$" - - try { - return this.regexp = new RegExp(re, flags) - } catch (ex) { - return this.regexp = false - } -} - -minimatch.match = function (list, pattern, options) { - var mm = new Minimatch(pattern, options) - list = list.filter(function (f) { - return mm.match(f) - }) - if (options.nonull && !list.length) { - list.push(pattern) - } - return list -} - -Minimatch.prototype.match = match -function match (f, partial) { - this.debug("match", f, this.pattern) - // short-circuit in the case of busted things. - // comments, etc. - if (this.comment) return false - if (this.empty) return f === "" - - if (f === "/" && partial) return true - - var options = this.options - - // windows: need to use /, not \ - // On other platforms, \ is a valid (albeit bad) filename char. - if (platform === "win32") { - f = f.split("\\").join("/") - } - - // treat the test path as a set of pathparts. - f = f.split(slashSplit) - this.debug(this.pattern, "split", f) - - // just ONE of the pattern sets in this.set needs to match - // in order for it to be valid. If negating, then just one - // match means that we have failed. - // Either way, return on the first hit. - - var set = this.set - this.debug(this.pattern, "set", set) - - var splitFile = path.basename(f.join("/")).split("/") - - for (var i = 0, l = set.length; i < l; i ++) { - var pattern = set[i], file = f - if (options.matchBase && pattern.length === 1) { - file = splitFile - } - var hit = this.matchOne(file, pattern, partial) - if (hit) { - if (options.flipNegate) return true - return !this.negate - } - } - - // didn't get any hits. this is success if it's a negative - // pattern, failure otherwise. - if (options.flipNegate) return false - return this.negate -} - -// set partial to true to test if, for example, -// "/a/b" matches the start of "/*/b/*/d" -// Partial means, if you run out of file before you run -// out of pattern, then that's fine, as long as all -// the parts match. -Minimatch.prototype.matchOne = function (file, pattern, partial) { - var options = this.options - - this.debug("matchOne", - { "this": this - , file: file - , pattern: pattern }) - - this.debug("matchOne", file.length, pattern.length) - - for ( var fi = 0 - , pi = 0 - , fl = file.length - , pl = pattern.length - ; (fi < fl) && (pi < pl) - ; fi ++, pi ++ ) { - - this.debug("matchOne loop") - var p = pattern[pi] - , f = file[fi] - - this.debug(pattern, p, f) - - // should be impossible. - // some invalid regexp stuff in the set. - if (p === false) return false - - if (p === GLOBSTAR) { - this.debug('GLOBSTAR', [pattern, p, f]) - - // "**" - // a/**/b/**/c would match the following: - // a/b/x/y/z/c - // a/x/y/z/b/c - // a/b/x/b/x/c - // a/b/c - // To do this, take the rest of the pattern after - // the **, and see if it would match the file remainder. - // If so, return success. - // If not, the ** "swallows" a segment, and try again. - // This is recursively awful. - // - // a/**/b/**/c matching a/b/x/y/z/c - // - a matches a - // - doublestar - // - matchOne(b/x/y/z/c, b/**/c) - // - b matches b - // - doublestar - // - matchOne(x/y/z/c, c) -> no - // - matchOne(y/z/c, c) -> no - // - matchOne(z/c, c) -> no - // - matchOne(c, c) yes, hit - var fr = fi - , pr = pi + 1 - if (pr === pl) { - this.debug('** at the end') - // a ** at the end will just swallow the rest. - // We have found a match. - // however, it will not swallow /.x, unless - // options.dot is set. - // . and .. are *never* matched by **, for explosively - // exponential reasons. - for ( ; fi < fl; fi ++) { - if (file[fi] === "." || file[fi] === ".." || - (!options.dot && file[fi].charAt(0) === ".")) return false - } - return true - } - - // ok, let's see if we can swallow whatever we can. - WHILE: while (fr < fl) { - var swallowee = file[fr] - - this.debug('\nglobstar while', - file, fr, pattern, pr, swallowee) - - // XXX remove this slice. Just pass the start index. - if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { - this.debug('globstar found match!', fr, fl, swallowee) - // found a match. - return true - } else { - // can't swallow "." or ".." ever. - // can only swallow ".foo" when explicitly asked. - if (swallowee === "." || swallowee === ".." || - (!options.dot && swallowee.charAt(0) === ".")) { - this.debug("dot detected!", file, fr, pattern, pr) - break WHILE - } - - // ** swallows a segment, and continue. - this.debug('globstar swallow a segment, and continue') - fr ++ - } - } - // no match was found. - // However, in partial mode, we can't say this is necessarily over. - // If there's more *pattern* left, then - if (partial) { - // ran out of file - this.debug("\n>>> no match, partial?", file, fr, pattern, pr) - if (fr === fl) return true - } - return false - } - - // something other than ** - // non-magic patterns just have to match exactly - // patterns with magic have been turned into regexps. - var hit - if (typeof p === "string") { - if (options.nocase) { - hit = f.toLowerCase() === p.toLowerCase() - } else { - hit = f === p - } - this.debug("string match", p, f, hit) - } else { - hit = f.match(p) - this.debug("pattern match", p, f, hit) - } - - if (!hit) return false - } - - // Note: ending in / means that we'll get a final "" - // at the end of the pattern. This can only match a - // corresponding "" at the end of the file. - // If the file ends in /, then it can only match a - // a pattern that ends in /, unless the pattern just - // doesn't have any more for it. But, a/b/ should *not* - // match "a/b/*", even though "" matches against the - // [^/]*? pattern, except in partial mode, where it might - // simply not be reached yet. - // However, a/b/ should still satisfy a/* - - // now either we fell off the end of the pattern, or we're done. - if (fi === fl && pi === pl) { - // ran out of pattern and filename at the same time. - // an exact hit! - return true - } else if (fi === fl) { - // ran out of file, but still had pattern left. - // this is ok if we're doing the match as part of - // a glob fs traversal. - return partial - } else if (pi === pl) { - // ran out of pattern, still have file left. - // this is only acceptable if we're on the very last - // empty segment of a file with a trailing slash. - // a/* should match a/b/ - var emptyFileEnd = (fi === fl - 1) && (file[fi] === "") - return emptyFileEnd - } - - // should be unreachable. - throw new Error("wtf?") -} - - -// replace stuff like \* with * -function globUnescape (s) { - return s.replace(/\\(.)/g, "$1") -} - - -function regExpEscape (s) { - return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&") -} - -})( typeof require === "function" ? require : null, - this, - typeof module === "object" ? module : null, - typeof process === "object" ? process.platform : "win32" - ) diff --git a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/.npmignore b/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/.npmignore deleted file mode 100644 index 07e6e472cc75..000000000000 --- a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/.npmignore +++ /dev/null @@ -1 +0,0 @@ -/node_modules diff --git a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS b/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS deleted file mode 100644 index 4a0bc5033a06..000000000000 --- a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS +++ /dev/null @@ -1,14 +0,0 @@ -# Authors, sorted by whether or not they are me -Isaac Z. Schlueter -Brian Cottingham -Carlos Brito Lage -Jesse Dailey -Kevin O'Hara -Marco Rogers -Mark Cavage -Marko Mikulicic -Nathan Rajlich -Satheesh Natesan -Trent Mick -ashleybrener -n4kz diff --git a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/LICENSE b/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/LICENSE deleted file mode 100644 index 05a4010949ca..000000000000 --- a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright 2009, 2010, 2011 Isaac Z. Schlueter. -All rights reserved. - -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. diff --git a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/README.md b/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/README.md deleted file mode 100644 index 03ee0f985023..000000000000 --- a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/README.md +++ /dev/null @@ -1,97 +0,0 @@ -# lru cache - -A cache object that deletes the least-recently-used items. - -## Usage: - -```javascript -var LRU = require("lru-cache") - , options = { max: 500 - , length: function (n) { return n * 2 } - , dispose: function (key, n) { n.close() } - , maxAge: 1000 * 60 * 60 } - , cache = LRU(options) - , otherCache = LRU(50) // sets just the max size - -cache.set("key", "value") -cache.get("key") // "value" - -cache.reset() // empty the cache -``` - -If you put more stuff in it, then items will fall out. - -If you try to put an oversized thing in it, then it'll fall out right -away. - -## Options - -* `max` The maximum size of the cache, checked by applying the length - function to all values in the cache. Not setting this is kind of - silly, since that's the whole purpose of this lib, but it defaults - to `Infinity`. -* `maxAge` Maximum age in ms. Items are not pro-actively pruned out - as they age, but if you try to get an item that is too old, it'll - drop it and return undefined instead of giving it to you. -* `length` Function that is used to calculate the length of stored - items. If you're storing strings or buffers, then you probably want - to do something like `function(n){return n.length}`. The default is - `function(n){return 1}`, which is fine if you want to store `n` - like-sized things. -* `dispose` Function that is called on items when they are dropped - from the cache. This can be handy if you want to close file - descriptors or do other cleanup tasks when items are no longer - accessible. Called with `key, value`. It's called *before* - actually removing the item from the internal cache, so if you want - to immediately put it back in, you'll have to do that in a - `nextTick` or `setTimeout` callback or it won't do anything. -* `stale` By default, if you set a `maxAge`, it'll only actually pull - stale items out of the cache when you `get(key)`. (That is, it's - not pre-emptively doing a `setTimeout` or anything.) If you set - `stale:true`, it'll return the stale value before deleting it. If - you don't set this, then it'll return `undefined` when you try to - get a stale entry, as if it had already been deleted. - -## API - -* `set(key, value)` -* `get(key) => value` - - Both of these will update the "recently used"-ness of the key. - They do what you think. - -* `peek(key)` - - Returns the key value (or `undefined` if not found) without - updating the "recently used"-ness of the key. - - (If you find yourself using this a lot, you *might* be using the - wrong sort of data structure, but there are some use cases where - it's handy.) - -* `del(key)` - - Deletes a key out of the cache. - -* `reset()` - - Clear the cache entirely, throwing away all values. - -* `has(key)` - - Check if a key is in the cache, without updating the recent-ness - or deleting it for being stale. - -* `forEach(function(value,key,cache), [thisp])` - - Just like `Array.prototype.forEach`. Iterates over all the keys - in the cache, in order of recent-ness. (Ie, more recently used - items are iterated over first.) - -* `keys()` - - Return an array of the keys in the cache. - -* `values()` - - Return an array of the values in the cache. diff --git a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js b/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js deleted file mode 100644 index d1d1381720cd..000000000000 --- a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js +++ /dev/null @@ -1,252 +0,0 @@ -;(function () { // closure for web browsers - -if (typeof module === 'object' && module.exports) { - module.exports = LRUCache -} else { - // just set the global for non-node platforms. - this.LRUCache = LRUCache -} - -function hOP (obj, key) { - return Object.prototype.hasOwnProperty.call(obj, key) -} - -function naiveLength () { return 1 } - -function LRUCache (options) { - if (!(this instanceof LRUCache)) - return new LRUCache(options) - - if (typeof options === 'number') - options = { max: options } - - if (!options) - options = {} - - this._max = options.max - // Kind of weird to have a default max of Infinity, but oh well. - if (!this._max || !(typeof this._max === "number") || this._max <= 0 ) - this._max = Infinity - - this._lengthCalculator = options.length || naiveLength - if (typeof this._lengthCalculator !== "function") - this._lengthCalculator = naiveLength - - this._allowStale = options.stale || false - this._maxAge = options.maxAge || null - this._dispose = options.dispose - this.reset() -} - -// resize the cache when the max changes. -Object.defineProperty(LRUCache.prototype, "max", - { set : function (mL) { - if (!mL || !(typeof mL === "number") || mL <= 0 ) mL = Infinity - this._max = mL - if (this._length > this._max) trim(this) - } - , get : function () { return this._max } - , enumerable : true - }) - -// resize the cache when the lengthCalculator changes. -Object.defineProperty(LRUCache.prototype, "lengthCalculator", - { set : function (lC) { - if (typeof lC !== "function") { - this._lengthCalculator = naiveLength - this._length = this._itemCount - for (var key in this._cache) { - this._cache[key].length = 1 - } - } else { - this._lengthCalculator = lC - this._length = 0 - for (var key in this._cache) { - this._cache[key].length = this._lengthCalculator(this._cache[key].value) - this._length += this._cache[key].length - } - } - - if (this._length > this._max) trim(this) - } - , get : function () { return this._lengthCalculator } - , enumerable : true - }) - -Object.defineProperty(LRUCache.prototype, "length", - { get : function () { return this._length } - , enumerable : true - }) - - -Object.defineProperty(LRUCache.prototype, "itemCount", - { get : function () { return this._itemCount } - , enumerable : true - }) - -LRUCache.prototype.forEach = function (fn, thisp) { - thisp = thisp || this - var i = 0; - for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) { - i++ - var hit = this._lruList[k] - if (this._maxAge && (Date.now() - hit.now > this._maxAge)) { - del(this, hit) - if (!this._allowStale) hit = undefined - } - if (hit) { - fn.call(thisp, hit.value, hit.key, this) - } - } -} - -LRUCache.prototype.keys = function () { - var keys = new Array(this._itemCount) - var i = 0 - for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) { - var hit = this._lruList[k] - keys[i++] = hit.key - } - return keys -} - -LRUCache.prototype.values = function () { - var values = new Array(this._itemCount) - var i = 0 - for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) { - var hit = this._lruList[k] - values[i++] = hit.value - } - return values -} - -LRUCache.prototype.reset = function () { - if (this._dispose && this._cache) { - for (var k in this._cache) { - this._dispose(k, this._cache[k].value) - } - } - - this._cache = Object.create(null) // hash of items by key - this._lruList = Object.create(null) // list of items in order of use recency - this._mru = 0 // most recently used - this._lru = 0 // least recently used - this._length = 0 // number of items in the list - this._itemCount = 0 -} - -// Provided for debugging/dev purposes only. No promises whatsoever that -// this API stays stable. -LRUCache.prototype.dump = function () { - return this._cache -} - -LRUCache.prototype.dumpLru = function () { - return this._lruList -} - -LRUCache.prototype.set = function (key, value) { - if (hOP(this._cache, key)) { - // dispose of the old one before overwriting - if (this._dispose) this._dispose(key, this._cache[key].value) - if (this._maxAge) this._cache[key].now = Date.now() - this._cache[key].value = value - this.get(key) - return true - } - - var len = this._lengthCalculator(value) - var age = this._maxAge ? Date.now() : 0 - var hit = new Entry(key, value, this._mru++, len, age) - - // oversized objects fall out of cache automatically. - if (hit.length > this._max) { - if (this._dispose) this._dispose(key, value) - return false - } - - this._length += hit.length - this._lruList[hit.lu] = this._cache[key] = hit - this._itemCount ++ - - if (this._length > this._max) trim(this) - return true -} - -LRUCache.prototype.has = function (key) { - if (!hOP(this._cache, key)) return false - var hit = this._cache[key] - if (this._maxAge && (Date.now() - hit.now > this._maxAge)) { - return false - } - return true -} - -LRUCache.prototype.get = function (key) { - return get(this, key, true) -} - -LRUCache.prototype.peek = function (key) { - return get(this, key, false) -} - -LRUCache.prototype.pop = function () { - var hit = this._lruList[this._lru] - del(this, hit) - return hit || null -} - -LRUCache.prototype.del = function (key) { - del(this, this._cache[key]) -} - -function get (self, key, doUse) { - var hit = self._cache[key] - if (hit) { - if (self._maxAge && (Date.now() - hit.now > self._maxAge)) { - del(self, hit) - if (!self._allowStale) hit = undefined - } else { - if (doUse) use(self, hit) - } - if (hit) hit = hit.value - } - return hit -} - -function use (self, hit) { - shiftLU(self, hit) - hit.lu = self._mru ++ - self._lruList[hit.lu] = hit -} - -function trim (self) { - while (self._lru < self._mru && self._length > self._max) - del(self, self._lruList[self._lru]) -} - -function shiftLU (self, hit) { - delete self._lruList[ hit.lu ] - while (self._lru < self._mru && !self._lruList[self._lru]) self._lru ++ -} - -function del (self, hit) { - if (hit) { - if (self._dispose) self._dispose(hit.key, hit.value) - self._length -= hit.length - self._itemCount -- - delete self._cache[ hit.key ] - shiftLU(self, hit) - } -} - -// classy, since V8 prefers predictable objects. -function Entry (key, value, lu, length, now) { - this.key = key - this.value = value - this.lu = lu - this.length = length - this.now = now -} - -})() diff --git a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/package.json b/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/package.json deleted file mode 100644 index 4472725df94f..000000000000 --- a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "lru-cache", - "description": "A cache object that deletes the least-recently-used items.", - "version": "2.5.0", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me" - }, - "scripts": { - "test": "tap test --gc" - }, - "main": "lib/lru-cache.js", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/node-lru-cache.git" - }, - "devDependencies": { - "tap": "", - "weak": "" - }, - "license": { - "type": "MIT", - "url": "http://github.com/isaacs/node-lru-cache/raw/master/LICENSE" - }, - "readme": "# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require(\"lru-cache\")\n , options = { max: 500\n , length: function (n) { return n * 2 }\n , dispose: function (key, n) { n.close() }\n , maxAge: 1000 * 60 * 60 }\n , cache = LRU(options)\n , otherCache = LRU(50) // sets just the max size\n\ncache.set(\"key\", \"value\")\ncache.get(\"key\") // \"value\"\n\ncache.reset() // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n function to all values in the cache. Not setting this is kind of\n silly, since that's the whole purpose of this lib, but it defaults\n to `Infinity`.\n* `maxAge` Maximum age in ms. Items are not pro-actively pruned out\n as they age, but if you try to get an item that is too old, it'll\n drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n items. If you're storing strings or buffers, then you probably want\n to do something like `function(n){return n.length}`. The default is\n `function(n){return 1}`, which is fine if you want to store `n`\n like-sized things.\n* `dispose` Function that is called on items when they are dropped\n from the cache. This can be handy if you want to close file\n descriptors or do other cleanup tasks when items are no longer\n accessible. Called with `key, value`. It's called *before*\n actually removing the item from the internal cache, so if you want\n to immediately put it back in, you'll have to do that in a\n `nextTick` or `setTimeout` callback or it won't do anything.\n* `stale` By default, if you set a `maxAge`, it'll only actually pull\n stale items out of the cache when you `get(key)`. (That is, it's\n not pre-emptively doing a `setTimeout` or anything.) If you set\n `stale:true`, it'll return the stale value before deleting it. If\n you don't set this, then it'll return `undefined` when you try to\n get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n Both of these will update the \"recently used\"-ness of the key.\n They do what you think.\n\n* `peek(key)`\n\n Returns the key value (or `undefined` if not found) without\n updating the \"recently used\"-ness of the key.\n\n (If you find yourself using this a lot, you *might* be using the\n wrong sort of data structure, but there are some use cases where\n it's handy.)\n\n* `del(key)`\n\n Deletes a key out of the cache.\n\n* `reset()`\n\n Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n Check if a key is in the cache, without updating the recent-ness\n or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n Just like `Array.prototype.forEach`. Iterates over all the keys\n in the cache, in order of recent-ness. (Ie, more recently used\n items are iterated over first.)\n\n* `keys()`\n\n Return an array of the keys in the cache.\n\n* `values()`\n\n Return an array of the values in the cache.\n", - "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/isaacs/node-lru-cache/issues" - }, - "homepage": "https://github.com/isaacs/node-lru-cache", - "_id": "lru-cache@2.5.0", - "_from": "lru-cache@2" -} diff --git a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/basic.js b/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/basic.js deleted file mode 100644 index f72697c4611a..000000000000 --- a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/basic.js +++ /dev/null @@ -1,369 +0,0 @@ -var test = require("tap").test - , LRU = require("../") - -test("basic", function (t) { - var cache = new LRU({max: 10}) - cache.set("key", "value") - t.equal(cache.get("key"), "value") - t.equal(cache.get("nada"), undefined) - t.equal(cache.length, 1) - t.equal(cache.max, 10) - t.end() -}) - -test("least recently set", function (t) { - var cache = new LRU(2) - cache.set("a", "A") - cache.set("b", "B") - cache.set("c", "C") - t.equal(cache.get("c"), "C") - t.equal(cache.get("b"), "B") - t.equal(cache.get("a"), undefined) - t.end() -}) - -test("lru recently gotten", function (t) { - var cache = new LRU(2) - cache.set("a", "A") - cache.set("b", "B") - cache.get("a") - cache.set("c", "C") - t.equal(cache.get("c"), "C") - t.equal(cache.get("b"), undefined) - t.equal(cache.get("a"), "A") - t.end() -}) - -test("del", function (t) { - var cache = new LRU(2) - cache.set("a", "A") - cache.del("a") - t.equal(cache.get("a"), undefined) - t.end() -}) - -test("max", function (t) { - var cache = new LRU(3) - - // test changing the max, verify that the LRU items get dropped. - cache.max = 100 - for (var i = 0; i < 100; i ++) cache.set(i, i) - t.equal(cache.length, 100) - for (var i = 0; i < 100; i ++) { - t.equal(cache.get(i), i) - } - cache.max = 3 - t.equal(cache.length, 3) - for (var i = 0; i < 97; i ++) { - t.equal(cache.get(i), undefined) - } - for (var i = 98; i < 100; i ++) { - t.equal(cache.get(i), i) - } - - // now remove the max restriction, and try again. - cache.max = "hello" - for (var i = 0; i < 100; i ++) cache.set(i, i) - t.equal(cache.length, 100) - for (var i = 0; i < 100; i ++) { - t.equal(cache.get(i), i) - } - // should trigger an immediate resize - cache.max = 3 - t.equal(cache.length, 3) - for (var i = 0; i < 97; i ++) { - t.equal(cache.get(i), undefined) - } - for (var i = 98; i < 100; i ++) { - t.equal(cache.get(i), i) - } - t.end() -}) - -test("reset", function (t) { - var cache = new LRU(10) - cache.set("a", "A") - cache.set("b", "B") - cache.reset() - t.equal(cache.length, 0) - t.equal(cache.max, 10) - t.equal(cache.get("a"), undefined) - t.equal(cache.get("b"), undefined) - t.end() -}) - - -// Note: `.dump()` is a debugging tool only. No guarantees are made -// about the format/layout of the response. -test("dump", function (t) { - var cache = new LRU(10) - var d = cache.dump(); - t.equal(Object.keys(d).length, 0, "nothing in dump for empty cache") - cache.set("a", "A") - var d = cache.dump() // { a: { key: "a", value: "A", lu: 0 } } - t.ok(d.a) - t.equal(d.a.key, "a") - t.equal(d.a.value, "A") - t.equal(d.a.lu, 0) - - cache.set("b", "B") - cache.get("b") - d = cache.dump() - t.ok(d.b) - t.equal(d.b.key, "b") - t.equal(d.b.value, "B") - t.equal(d.b.lu, 2) - - t.end() -}) - - -test("basic with weighed length", function (t) { - var cache = new LRU({ - max: 100, - length: function (item) { return item.size } - }) - cache.set("key", {val: "value", size: 50}) - t.equal(cache.get("key").val, "value") - t.equal(cache.get("nada"), undefined) - t.equal(cache.lengthCalculator(cache.get("key")), 50) - t.equal(cache.length, 50) - t.equal(cache.max, 100) - t.end() -}) - - -test("weighed length item too large", function (t) { - var cache = new LRU({ - max: 10, - length: function (item) { return item.size } - }) - t.equal(cache.max, 10) - - // should fall out immediately - cache.set("key", {val: "value", size: 50}) - - t.equal(cache.length, 0) - t.equal(cache.get("key"), undefined) - t.end() -}) - -test("least recently set with weighed length", function (t) { - var cache = new LRU({ - max:8, - length: function (item) { return item.length } - }) - cache.set("a", "A") - cache.set("b", "BB") - cache.set("c", "CCC") - cache.set("d", "DDDD") - t.equal(cache.get("d"), "DDDD") - t.equal(cache.get("c"), "CCC") - t.equal(cache.get("b"), undefined) - t.equal(cache.get("a"), undefined) - t.end() -}) - -test("lru recently gotten with weighed length", function (t) { - var cache = new LRU({ - max: 8, - length: function (item) { return item.length } - }) - cache.set("a", "A") - cache.set("b", "BB") - cache.set("c", "CCC") - cache.get("a") - cache.get("b") - cache.set("d", "DDDD") - t.equal(cache.get("c"), undefined) - t.equal(cache.get("d"), "DDDD") - t.equal(cache.get("b"), "BB") - t.equal(cache.get("a"), "A") - t.end() -}) - -test("set returns proper booleans", function(t) { - var cache = new LRU({ - max: 5, - length: function (item) { return item.length } - }) - - t.equal(cache.set("a", "A"), true) - - // should return false for max exceeded - t.equal(cache.set("b", "donuts"), false) - - t.equal(cache.set("b", "B"), true) - t.equal(cache.set("c", "CCCC"), true) - t.end() -}) - -test("drop the old items", function(t) { - var cache = new LRU({ - max: 5, - maxAge: 50 - }) - - cache.set("a", "A") - - setTimeout(function () { - cache.set("b", "b") - t.equal(cache.get("a"), "A") - }, 25) - - setTimeout(function () { - cache.set("c", "C") - // timed out - t.notOk(cache.get("a")) - }, 60) - - setTimeout(function () { - t.notOk(cache.get("b")) - t.equal(cache.get("c"), "C") - }, 90) - - setTimeout(function () { - t.notOk(cache.get("c")) - t.end() - }, 155) -}) - -test("disposal function", function(t) { - var disposed = false - var cache = new LRU({ - max: 1, - dispose: function (k, n) { - disposed = n - } - }) - - cache.set(1, 1) - cache.set(2, 2) - t.equal(disposed, 1) - cache.set(3, 3) - t.equal(disposed, 2) - cache.reset() - t.equal(disposed, 3) - t.end() -}) - -test("disposal function on too big of item", function(t) { - var disposed = false - var cache = new LRU({ - max: 1, - length: function (k) { - return k.length - }, - dispose: function (k, n) { - disposed = n - } - }) - var obj = [ 1, 2 ] - - t.equal(disposed, false) - cache.set("obj", obj) - t.equal(disposed, obj) - t.end() -}) - -test("has()", function(t) { - var cache = new LRU({ - max: 1, - maxAge: 10 - }) - - cache.set('foo', 'bar') - t.equal(cache.has('foo'), true) - cache.set('blu', 'baz') - t.equal(cache.has('foo'), false) - t.equal(cache.has('blu'), true) - setTimeout(function() { - t.equal(cache.has('blu'), false) - t.end() - }, 15) -}) - -test("stale", function(t) { - var cache = new LRU({ - maxAge: 10, - stale: true - }) - - cache.set('foo', 'bar') - t.equal(cache.get('foo'), 'bar') - t.equal(cache.has('foo'), true) - setTimeout(function() { - t.equal(cache.has('foo'), false) - t.equal(cache.get('foo'), 'bar') - t.equal(cache.get('foo'), undefined) - t.end() - }, 15) -}) - -test("lru update via set", function(t) { - var cache = LRU({ max: 2 }); - - cache.set('foo', 1); - cache.set('bar', 2); - cache.del('bar'); - cache.set('baz', 3); - cache.set('qux', 4); - - t.equal(cache.get('foo'), undefined) - t.equal(cache.get('bar'), undefined) - t.equal(cache.get('baz'), 3) - t.equal(cache.get('qux'), 4) - t.end() -}) - -test("least recently set w/ peek", function (t) { - var cache = new LRU(2) - cache.set("a", "A") - cache.set("b", "B") - t.equal(cache.peek("a"), "A") - cache.set("c", "C") - t.equal(cache.get("c"), "C") - t.equal(cache.get("b"), "B") - t.equal(cache.get("a"), undefined) - t.end() -}) - -test("pop the least used item", function (t) { - var cache = new LRU(3) - , last - - cache.set("a", "A") - cache.set("b", "B") - cache.set("c", "C") - - t.equal(cache.length, 3) - t.equal(cache.max, 3) - - // Ensure we pop a, c, b - cache.get("b", "B") - - last = cache.pop() - t.equal(last.key, "a") - t.equal(last.value, "A") - t.equal(cache.length, 2) - t.equal(cache.max, 3) - - last = cache.pop() - t.equal(last.key, "c") - t.equal(last.value, "C") - t.equal(cache.length, 1) - t.equal(cache.max, 3) - - last = cache.pop() - t.equal(last.key, "b") - t.equal(last.value, "B") - t.equal(cache.length, 0) - t.equal(cache.max, 3) - - last = cache.pop() - t.equal(last, null) - t.equal(cache.length, 0) - t.equal(cache.max, 3) - - t.end() -}) diff --git a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/foreach.js b/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/foreach.js deleted file mode 100644 index eefb80d9d156..000000000000 --- a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/foreach.js +++ /dev/null @@ -1,52 +0,0 @@ -var test = require('tap').test -var LRU = require('../') - -test('forEach', function (t) { - var l = new LRU(5) - for (var i = 0; i < 10; i ++) { - l.set(i.toString(), i.toString(2)) - } - - var i = 9 - l.forEach(function (val, key, cache) { - t.equal(cache, l) - t.equal(key, i.toString()) - t.equal(val, i.toString(2)) - i -= 1 - }) - - // get in order of most recently used - l.get(6) - l.get(8) - - var order = [ 8, 6, 9, 7, 5 ] - var i = 0 - - l.forEach(function (val, key, cache) { - var j = order[i ++] - t.equal(cache, l) - t.equal(key, j.toString()) - t.equal(val, j.toString(2)) - }) - - t.end() -}) - -test('keys() and values()', function (t) { - var l = new LRU(5) - for (var i = 0; i < 10; i ++) { - l.set(i.toString(), i.toString(2)) - } - - t.similar(l.keys(), ['9', '8', '7', '6', '5']) - t.similar(l.values(), ['1001', '1000', '111', '110', '101']) - - // get in order of most recently used - l.get(6) - l.get(8) - - t.similar(l.keys(), ['8', '6', '9', '7', '5']) - t.similar(l.values(), ['1000', '110', '1001', '111', '101']) - - t.end() -}) diff --git a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js b/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js deleted file mode 100644 index 7af45b0221c1..000000000000 --- a/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env node --expose_gc - -var weak = require('weak'); -var test = require('tap').test -var LRU = require('../') -var l = new LRU({ max: 10 }) -var refs = 0 -function X() { - refs ++ - weak(this, deref) -} - -function deref() { - refs -- -} - -test('no leaks', function (t) { - // fill up the cache - for (var i = 0; i < 100; i++) { - l.set(i, new X); - // throw some gets in there, too. - if (i % 2 === 0) - l.get(i / 2) - } - - gc() - - var start = process.memoryUsage() - - // capture the memory - var startRefs = refs - - // do it again, but more - for (var i = 0; i < 10000; i++) { - l.set(i, new X); - // throw some gets in there, too. - if (i % 2 === 0) - l.get(i / 2) - } - - gc() - - var end = process.memoryUsage() - t.equal(refs, startRefs, 'no leaky refs') - - console.error('start: %j\n' + - 'end: %j', start, end); - t.pass(); - t.end(); -}) diff --git a/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/LICENSE b/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/LICENSE deleted file mode 100644 index 0c44ae716db8..000000000000 --- a/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) Isaac Z. Schlueter ("Author") -All rights reserved. - -The BSD License - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/README.md b/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/README.md deleted file mode 100644 index 7e365129e41b..000000000000 --- a/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# sigmund - -Quick and dirty signatures for Objects. - -This is like a much faster `deepEquals` comparison, which returns a -string key suitable for caches and the like. - -## Usage - -```javascript -function doSomething (someObj) { - var key = sigmund(someObj, maxDepth) // max depth defaults to 10 - var cached = cache.get(key) - if (cached) return cached) - - var result = expensiveCalculation(someObj) - cache.set(key, result) - return result -} -``` - -The resulting key will be as unique and reproducible as calling -`JSON.stringify` or `util.inspect` on the object, but is much faster. -In order to achieve this speed, some differences are glossed over. -For example, the object `{0:'foo'}` will be treated identically to the -array `['foo']`. - -Also, just as there is no way to summon the soul from the scribblings -of a cocain-addled psychoanalyst, there is no way to revive the object -from the signature string that sigmund gives you. In fact, it's -barely even readable. - -As with `sys.inspect` and `JSON.stringify`, larger objects will -produce larger signature strings. - -Because sigmund is a bit less strict than the more thorough -alternatives, the strings will be shorter, and also there is a -slightly higher chance for collisions. For example, these objects -have the same signature: - - var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]} - var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']} - -Like a good Freudian, sigmund is most effective when you already have -some understanding of what you're looking for. It can help you help -yourself, but you must be willing to do some work as well. - -Cycles are handled, and cyclical objects are silently omitted (though -the key is included in the signature output.) - -The second argument is the maximum depth, which defaults to 10, -because that is the maximum object traversal depth covered by most -insurance carriers. diff --git a/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/bench.js b/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/bench.js deleted file mode 100644 index 5acfd6d90de3..000000000000 --- a/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/bench.js +++ /dev/null @@ -1,283 +0,0 @@ -// different ways to id objects -// use a req/res pair, since it's crazy deep and cyclical - -// sparseFE10 and sigmund are usually pretty close, which is to be expected, -// since they are essentially the same algorithm, except that sigmund handles -// regular expression objects properly. - - -var http = require('http') -var util = require('util') -var sigmund = require('./sigmund.js') -var sreq, sres, creq, cres, test - -http.createServer(function (q, s) { - sreq = q - sres = s - sres.end('ok') - this.close(function () { setTimeout(function () { - start() - }, 200) }) -}).listen(1337, function () { - creq = http.get({ port: 1337 }) - creq.on('response', function (s) { cres = s }) -}) - -function start () { - test = [sreq, sres, creq, cres] - // test = sreq - // sreq.sres = sres - // sreq.creq = creq - // sreq.cres = cres - - for (var i in exports.compare) { - console.log(i) - var hash = exports.compare[i]() - console.log(hash) - console.log(hash.length) - console.log('') - } - - require('bench').runMain() -} - -function customWs (obj, md, d) { - d = d || 0 - var to = typeof obj - if (to === 'undefined' || to === 'function' || to === null) return '' - if (d > md || !obj || to !== 'object') return ('' + obj).replace(/[\n ]+/g, '') - - if (Array.isArray(obj)) { - return obj.map(function (i, _, __) { - return customWs(i, md, d + 1) - }).reduce(function (a, b) { return a + b }, '') - } - - var keys = Object.keys(obj) - return keys.map(function (k, _, __) { - return k + ':' + customWs(obj[k], md, d + 1) - }).reduce(function (a, b) { return a + b }, '') -} - -function custom (obj, md, d) { - d = d || 0 - var to = typeof obj - if (to === 'undefined' || to === 'function' || to === null) return '' - if (d > md || !obj || to !== 'object') return '' + obj - - if (Array.isArray(obj)) { - return obj.map(function (i, _, __) { - return custom(i, md, d + 1) - }).reduce(function (a, b) { return a + b }, '') - } - - var keys = Object.keys(obj) - return keys.map(function (k, _, __) { - return k + ':' + custom(obj[k], md, d + 1) - }).reduce(function (a, b) { return a + b }, '') -} - -function sparseFE2 (obj, maxDepth) { - var seen = [] - var soFar = '' - function ch (v, depth) { - if (depth > maxDepth) return - if (typeof v === 'function' || typeof v === 'undefined') return - if (typeof v !== 'object' || !v) { - soFar += v - return - } - if (seen.indexOf(v) !== -1 || depth === maxDepth) return - seen.push(v) - soFar += '{' - Object.keys(v).forEach(function (k, _, __) { - // pseudo-private values. skip those. - if (k.charAt(0) === '_') return - var to = typeof v[k] - if (to === 'function' || to === 'undefined') return - soFar += k + ':' - ch(v[k], depth + 1) - }) - soFar += '}' - } - ch(obj, 0) - return soFar -} - -function sparseFE (obj, maxDepth) { - var seen = [] - var soFar = '' - function ch (v, depth) { - if (depth > maxDepth) return - if (typeof v === 'function' || typeof v === 'undefined') return - if (typeof v !== 'object' || !v) { - soFar += v - return - } - if (seen.indexOf(v) !== -1 || depth === maxDepth) return - seen.push(v) - soFar += '{' - Object.keys(v).forEach(function (k, _, __) { - // pseudo-private values. skip those. - if (k.charAt(0) === '_') return - var to = typeof v[k] - if (to === 'function' || to === 'undefined') return - soFar += k - ch(v[k], depth + 1) - }) - } - ch(obj, 0) - return soFar -} - -function sparse (obj, maxDepth) { - var seen = [] - var soFar = '' - function ch (v, depth) { - if (depth > maxDepth) return - if (typeof v === 'function' || typeof v === 'undefined') return - if (typeof v !== 'object' || !v) { - soFar += v - return - } - if (seen.indexOf(v) !== -1 || depth === maxDepth) return - seen.push(v) - soFar += '{' - for (var k in v) { - // pseudo-private values. skip those. - if (k.charAt(0) === '_') continue - var to = typeof v[k] - if (to === 'function' || to === 'undefined') continue - soFar += k - ch(v[k], depth + 1) - } - } - ch(obj, 0) - return soFar -} - -function noCommas (obj, maxDepth) { - var seen = [] - var soFar = '' - function ch (v, depth) { - if (depth > maxDepth) return - if (typeof v === 'function' || typeof v === 'undefined') return - if (typeof v !== 'object' || !v) { - soFar += v - return - } - if (seen.indexOf(v) !== -1 || depth === maxDepth) return - seen.push(v) - soFar += '{' - for (var k in v) { - // pseudo-private values. skip those. - if (k.charAt(0) === '_') continue - var to = typeof v[k] - if (to === 'function' || to === 'undefined') continue - soFar += k + ':' - ch(v[k], depth + 1) - } - soFar += '}' - } - ch(obj, 0) - return soFar -} - - -function flatten (obj, maxDepth) { - var seen = [] - var soFar = '' - function ch (v, depth) { - if (depth > maxDepth) return - if (typeof v === 'function' || typeof v === 'undefined') return - if (typeof v !== 'object' || !v) { - soFar += v - return - } - if (seen.indexOf(v) !== -1 || depth === maxDepth) return - seen.push(v) - soFar += '{' - for (var k in v) { - // pseudo-private values. skip those. - if (k.charAt(0) === '_') continue - var to = typeof v[k] - if (to === 'function' || to === 'undefined') continue - soFar += k + ':' - ch(v[k], depth + 1) - soFar += ',' - } - soFar += '}' - } - ch(obj, 0) - return soFar -} - -exports.compare = -{ - // 'custom 2': function () { - // return custom(test, 2, 0) - // }, - // 'customWs 2': function () { - // return customWs(test, 2, 0) - // }, - 'JSON.stringify (guarded)': function () { - var seen = [] - return JSON.stringify(test, function (k, v) { - if (typeof v !== 'object' || !v) return v - if (seen.indexOf(v) !== -1) return undefined - seen.push(v) - return v - }) - }, - - 'flatten 10': function () { - return flatten(test, 10) - }, - - // 'flattenFE 10': function () { - // return flattenFE(test, 10) - // }, - - 'noCommas 10': function () { - return noCommas(test, 10) - }, - - 'sparse 10': function () { - return sparse(test, 10) - }, - - 'sparseFE 10': function () { - return sparseFE(test, 10) - }, - - 'sparseFE2 10': function () { - return sparseFE2(test, 10) - }, - - sigmund: function() { - return sigmund(test, 10) - }, - - - // 'util.inspect 1': function () { - // return util.inspect(test, false, 1, false) - // }, - // 'util.inspect undefined': function () { - // util.inspect(test) - // }, - // 'util.inspect 2': function () { - // util.inspect(test, false, 2, false) - // }, - // 'util.inspect 3': function () { - // util.inspect(test, false, 3, false) - // }, - // 'util.inspect 4': function () { - // util.inspect(test, false, 4, false) - // }, - // 'util.inspect Infinity': function () { - // util.inspect(test, false, Infinity, false) - // } -} - -/** results -**/ diff --git a/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/package.json b/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/package.json deleted file mode 100644 index cb7e2bd4b751..000000000000 --- a/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "sigmund", - "version": "1.0.0", - "description": "Quick and dirty signatures for Objects.", - "main": "sigmund.js", - "directories": { - "test": "test" - }, - "dependencies": {}, - "devDependencies": { - "tap": "~0.3.0" - }, - "scripts": { - "test": "tap test/*.js", - "bench": "node bench.js" - }, - "repository": { - "type": "git", - "url": "git://github.com/isaacs/sigmund" - }, - "keywords": [ - "object", - "signature", - "key", - "data", - "psychoanalysis" - ], - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "license": "BSD", - "readme": "# sigmund\n\nQuick and dirty signatures for Objects.\n\nThis is like a much faster `deepEquals` comparison, which returns a\nstring key suitable for caches and the like.\n\n## Usage\n\n```javascript\nfunction doSomething (someObj) {\n var key = sigmund(someObj, maxDepth) // max depth defaults to 10\n var cached = cache.get(key)\n if (cached) return cached)\n\n var result = expensiveCalculation(someObj)\n cache.set(key, result)\n return result\n}\n```\n\nThe resulting key will be as unique and reproducible as calling\n`JSON.stringify` or `util.inspect` on the object, but is much faster.\nIn order to achieve this speed, some differences are glossed over.\nFor example, the object `{0:'foo'}` will be treated identically to the\narray `['foo']`.\n\nAlso, just as there is no way to summon the soul from the scribblings\nof a cocain-addled psychoanalyst, there is no way to revive the object\nfrom the signature string that sigmund gives you. In fact, it's\nbarely even readable.\n\nAs with `sys.inspect` and `JSON.stringify`, larger objects will\nproduce larger signature strings.\n\nBecause sigmund is a bit less strict than the more thorough\nalternatives, the strings will be shorter, and also there is a\nslightly higher chance for collisions. For example, these objects\nhave the same signature:\n\n var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]}\n var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']}\n\nLike a good Freudian, sigmund is most effective when you already have\nsome understanding of what you're looking for. It can help you help\nyourself, but you must be willing to do some work as well.\n\nCycles are handled, and cyclical objects are silently omitted (though\nthe key is included in the signature output.)\n\nThe second argument is the maximum depth, which defaults to 10,\nbecause that is the maximum object traversal depth covered by most\ninsurance carriers.\n", - "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/isaacs/sigmund/issues" - }, - "homepage": "https://github.com/isaacs/sigmund", - "_id": "sigmund@1.0.0", - "_from": "sigmund@~1.0.0" -} diff --git a/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/sigmund.js b/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/sigmund.js deleted file mode 100644 index 82c7ab8ce995..000000000000 --- a/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/sigmund.js +++ /dev/null @@ -1,39 +0,0 @@ -module.exports = sigmund -function sigmund (subject, maxSessions) { - maxSessions = maxSessions || 10; - var notes = []; - var analysis = ''; - var RE = RegExp; - - function psychoAnalyze (subject, session) { - if (session > maxSessions) return; - - if (typeof subject === 'function' || - typeof subject === 'undefined') { - return; - } - - if (typeof subject !== 'object' || !subject || - (subject instanceof RE)) { - analysis += subject; - return; - } - - if (notes.indexOf(subject) !== -1 || session === maxSessions) return; - - notes.push(subject); - analysis += '{'; - Object.keys(subject).forEach(function (issue, _, __) { - // pseudo-private values. skip those. - if (issue.charAt(0) === '_') return; - var to = typeof subject[issue]; - if (to === 'function' || to === 'undefined') return; - analysis += issue; - psychoAnalyze(subject[issue], session + 1); - }); - } - psychoAnalyze(subject, 0); - return analysis; -} - -// vim: set softtabstop=4 shiftwidth=4: diff --git a/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/test/basic.js b/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/test/basic.js deleted file mode 100644 index 50c53a13e98d..000000000000 --- a/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/test/basic.js +++ /dev/null @@ -1,24 +0,0 @@ -var test = require('tap').test -var sigmund = require('../sigmund.js') - - -// occasionally there are duplicates -// that's an acceptable edge-case. JSON.stringify and util.inspect -// have some collision potential as well, though less, and collision -// detection is expensive. -var hash = '{abc/def/g{0h1i2{jkl' -var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]} -var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']} - -var obj3 = JSON.parse(JSON.stringify(obj1)) -obj3.c = /def/ -obj3.g[2].cycle = obj3 -var cycleHash = '{abc/def/g{0h1i2{jklcycle' - -test('basic', function (t) { - t.equal(sigmund(obj1), hash) - t.equal(sigmund(obj2), hash) - t.equal(sigmund(obj3), cycleHash) - t.end() -}) - diff --git a/node_modules/grunt/node_modules/minimatch/package.json b/node_modules/grunt/node_modules/minimatch/package.json deleted file mode 100644 index de0704b6bd58..000000000000 --- a/node_modules/grunt/node_modules/minimatch/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me" - }, - "name": "minimatch", - "description": "a glob matcher in javascript", - "version": "0.2.14", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/minimatch.git" - }, - "main": "minimatch.js", - "scripts": { - "test": "tap test/*.js" - }, - "engines": { - "node": "*" - }, - "dependencies": { - "lru-cache": "2", - "sigmund": "~1.0.0" - }, - "devDependencies": { - "tap": "" - }, - "license": { - "type": "MIT", - "url": "http://github.com/isaacs/minimatch/raw/master/LICENSE" - }, - "readme": "# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require(\"minimatch\")\n\nminimatch(\"bar.foo\", \"*.foo\") // true!\nminimatch(\"bar.foo\", \"*.bar\") // false!\nminimatch(\"bar.foo\", \"*.+(bar|foo)\", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require(\"minimatch\").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn't have any \"magic\" in it\n (that is, it's something like `\"foo\"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n* `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `\"\"`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items. So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, \"*.js\", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter(\"*.js\", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, \"*.js\", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable \"extglob\" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself. When set, an empty list is returned if there are\nno matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes. For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n", - "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/isaacs/minimatch/issues" - }, - "homepage": "https://github.com/isaacs/minimatch", - "_id": "minimatch@0.2.14", - "_from": "minimatch@~0.2.12" -} diff --git a/node_modules/grunt/node_modules/minimatch/test/basic.js b/node_modules/grunt/node_modules/minimatch/test/basic.js deleted file mode 100644 index ae7ac73c775e..000000000000 --- a/node_modules/grunt/node_modules/minimatch/test/basic.js +++ /dev/null @@ -1,399 +0,0 @@ -// http://www.bashcookbook.com/bashinfo/source/bash-1.14.7/tests/glob-test -// -// TODO: Some of these tests do very bad things with backslashes, and will -// most likely fail badly on windows. They should probably be skipped. - -var tap = require("tap") - , globalBefore = Object.keys(global) - , mm = require("../") - , files = [ "a", "b", "c", "d", "abc" - , "abd", "abe", "bb", "bcd" - , "ca", "cb", "dd", "de" - , "bdir/", "bdir/cfile"] - , next = files.concat([ "a-b", "aXb" - , ".x", ".y" ]) - - -var patterns = - [ "http://www.bashcookbook.com/bashinfo/source/bash-1.14.7/tests/glob-test" - , ["a*", ["a", "abc", "abd", "abe"]] - , ["X*", ["X*"], {nonull: true}] - - // allow null glob expansion - , ["X*", []] - - // isaacs: Slightly different than bash/sh/ksh - // \\* is not un-escaped to literal "*" in a failed match, - // but it does make it get treated as a literal star - , ["\\*", ["\\*"], {nonull: true}] - , ["\\**", ["\\**"], {nonull: true}] - , ["\\*\\*", ["\\*\\*"], {nonull: true}] - - , ["b*/", ["bdir/"]] - , ["c*", ["c", "ca", "cb"]] - , ["**", files] - - , ["\\.\\./*/", ["\\.\\./*/"], {nonull: true}] - , ["s/\\..*//", ["s/\\..*//"], {nonull: true}] - - , "legendary larry crashes bashes" - , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/" - , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/"], {nonull: true}] - , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/" - , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/"], {nonull: true}] - - , "character classes" - , ["[a-c]b*", ["abc", "abd", "abe", "bb", "cb"]] - , ["[a-y]*[^c]", ["abd", "abe", "bb", "bcd", - "bdir/", "ca", "cb", "dd", "de"]] - , ["a*[^c]", ["abd", "abe"]] - , function () { files.push("a-b", "aXb") } - , ["a[X-]b", ["a-b", "aXb"]] - , function () { files.push(".x", ".y") } - , ["[^a-c]*", ["d", "dd", "de"]] - , function () { files.push("a*b/", "a*b/ooo") } - , ["a\\*b/*", ["a*b/ooo"]] - , ["a\\*?/*", ["a*b/ooo"]] - , ["*\\\\!*", [], {null: true}, ["echo !7"]] - , ["*\\!*", ["echo !7"], null, ["echo !7"]] - , ["*.\\*", ["r.*"], null, ["r.*"]] - , ["a[b]c", ["abc"]] - , ["a[\\b]c", ["abc"]] - , ["a?c", ["abc"]] - , ["a\\*c", [], {null: true}, ["abc"]] - , ["", [""], { null: true }, [""]] - - , "http://www.opensource.apple.com/source/bash/bash-23/" + - "bash/tests/glob-test" - , function () { files.push("man/", "man/man1/", "man/man1/bash.1") } - , ["*/man*/bash.*", ["man/man1/bash.1"]] - , ["man/man1/bash.1", ["man/man1/bash.1"]] - , ["a***c", ["abc"], null, ["abc"]] - , ["a*****?c", ["abc"], null, ["abc"]] - , ["?*****??", ["abc"], null, ["abc"]] - , ["*****??", ["abc"], null, ["abc"]] - , ["?*****?c", ["abc"], null, ["abc"]] - , ["?***?****c", ["abc"], null, ["abc"]] - , ["?***?****?", ["abc"], null, ["abc"]] - , ["?***?****", ["abc"], null, ["abc"]] - , ["*******c", ["abc"], null, ["abc"]] - , ["*******?", ["abc"], null, ["abc"]] - , ["a*cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]] - , ["a**?**cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]] - , ["a**?**cd**?**??k***", ["abcdecdhjk"], null, ["abcdecdhjk"]] - , ["a**?**cd**?**??***k", ["abcdecdhjk"], null, ["abcdecdhjk"]] - , ["a**?**cd**?**??***k**", ["abcdecdhjk"], null, ["abcdecdhjk"]] - , ["a****c**?**??*****", ["abcdecdhjk"], null, ["abcdecdhjk"]] - , ["[-abc]", ["-"], null, ["-"]] - , ["[abc-]", ["-"], null, ["-"]] - , ["\\", ["\\"], null, ["\\"]] - , ["[\\\\]", ["\\"], null, ["\\"]] - , ["[[]", ["["], null, ["["]] - , ["[", ["["], null, ["["]] - , ["[*", ["[abc"], null, ["[abc"]] - , "a right bracket shall lose its special meaning and\n" + - "represent itself in a bracket expression if it occurs\n" + - "first in the list. -- POSIX.2 2.8.3.2" - , ["[]]", ["]"], null, ["]"]] - , ["[]-]", ["]"], null, ["]"]] - , ["[a-\z]", ["p"], null, ["p"]] - , ["??**********?****?", [], { null: true }, ["abc"]] - , ["??**********?****c", [], { null: true }, ["abc"]] - , ["?************c****?****", [], { null: true }, ["abc"]] - , ["*c*?**", [], { null: true }, ["abc"]] - , ["a*****c*?**", [], { null: true }, ["abc"]] - , ["a********???*******", [], { null: true }, ["abc"]] - , ["[]", [], { null: true }, ["a"]] - , ["[abc", [], { null: true }, ["["]] - - , "nocase tests" - , ["XYZ", ["xYz"], { nocase: true, null: true } - , ["xYz", "ABC", "IjK"]] - , ["ab*", ["ABC"], { nocase: true, null: true } - , ["xYz", "ABC", "IjK"]] - , ["[ia]?[ck]", ["ABC", "IjK"], { nocase: true, null: true } - , ["xYz", "ABC", "IjK"]] - - // [ pattern, [matches], MM opts, files, TAP opts] - , "onestar/twostar" - , ["{/*,*}", [], {null: true}, ["/asdf/asdf/asdf"]] - , ["{/?,*}", ["/a", "bb"], {null: true} - , ["/a", "/b/b", "/a/b/c", "bb"]] - - , "dots should not match unless requested" - , ["**", ["a/b"], {}, ["a/b", "a/.d", ".a/.d"]] - - // .. and . can only match patterns starting with ., - // even when options.dot is set. - , function () { - files = ["a/./b", "a/../b", "a/c/b", "a/.d/b"] - } - , ["a/*/b", ["a/c/b", "a/.d/b"], {dot: true}] - , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: true}] - , ["a/*/b", ["a/c/b"], {dot:false}] - , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: false}] - - - // this also tests that changing the options needs - // to change the cache key, even if the pattern is - // the same! - , ["**", ["a/b","a/.d",".a/.d"], { dot: true } - , [ ".a/.d", "a/.d", "a/b"]] - - , "paren sets cannot contain slashes" - , ["*(a/b)", ["*(a/b)"], {nonull: true}, ["a/b"]] - - // brace sets trump all else. - // - // invalid glob pattern. fails on bash4 and bsdglob. - // however, in this implementation, it's easier just - // to do the intuitive thing, and let brace-expansion - // actually come before parsing any extglob patterns, - // like the documentation seems to say. - // - // XXX: if anyone complains about this, either fix it - // or tell them to grow up and stop complaining. - // - // bash/bsdglob says this: - // , ["*(a|{b),c)}", ["*(a|{b),c)}"], {}, ["a", "ab", "ac", "ad"]] - // but we do this instead: - , ["*(a|{b),c)}", ["a", "ab", "ac"], {}, ["a", "ab", "ac", "ad"]] - - // test partial parsing in the presence of comment/negation chars - , ["[!a*", ["[!ab"], {}, ["[!ab", "[ab"]] - , ["[#a*", ["[#ab"], {}, ["[#ab", "[ab"]] - - // like: {a,b|c\\,d\\\|e} except it's unclosed, so it has to be escaped. - , ["+(a|*\\|c\\\\|d\\\\\\|e\\\\\\\\|f\\\\\\\\\\|g" - , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g"] - , {} - , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g", "a", "b\\c"]] - - - // crazy nested {,,} and *(||) tests. - , function () { - files = [ "a", "b", "c", "d" - , "ab", "ac", "ad" - , "bc", "cb" - , "bc,d", "c,db", "c,d" - , "d)", "(b|c", "*(b|c" - , "b|c", "b|cc", "cb|c" - , "x(a|b|c)", "x(a|c)" - , "(a|b|c)", "(a|c)"] - } - , ["*(a|{b,c})", ["a", "b", "c", "ab", "ac"]] - , ["{a,*(b|c,d)}", ["a","(b|c", "*(b|c", "d)"]] - // a - // *(b|c) - // *(b|d) - , ["{a,*(b|{c,d})}", ["a","b", "bc", "cb", "c", "d"]] - , ["*(a|{b|c,c})", ["a", "b", "c", "ab", "ac", "bc", "cb"]] - - - // test various flag settings. - , [ "*(a|{b|c,c})", ["x(a|b|c)", "x(a|c)", "(a|b|c)", "(a|c)"] - , { noext: true } ] - , ["a?b", ["x/y/acb", "acb/"], {matchBase: true} - , ["x/y/acb", "acb/", "acb/d/e", "x/y/acb/d"] ] - , ["#*", ["#a", "#b"], {nocomment: true}, ["#a", "#b", "c#d"]] - - - // begin channelling Boole and deMorgan... - , "negation tests" - , function () { - files = ["d", "e", "!ab", "!abc", "a!b", "\\!a"] - } - - // anything that is NOT a* matches. - , ["!a*", ["\\!a", "d", "e", "!ab", "!abc"]] - - // anything that IS !a* matches. - , ["!a*", ["!ab", "!abc"], {nonegate: true}] - - // anything that IS a* matches - , ["!!a*", ["a!b"]] - - // anything that is NOT !a* matches - , ["!\\!a*", ["a!b", "d", "e", "\\!a"]] - - // negation nestled within a pattern - , function () { - files = [ "foo.js" - , "foo.bar" - // can't match this one without negative lookbehind. - , "foo.js.js" - , "blar.js" - , "foo." - , "boo.js.boo" ] - } - , ["*.!(js)", ["foo.bar", "foo.", "boo.js.boo"] ] - - // https://github.com/isaacs/minimatch/issues/5 - , function () { - files = [ 'a/b/.x/c' - , 'a/b/.x/c/d' - , 'a/b/.x/c/d/e' - , 'a/b/.x' - , 'a/b/.x/' - , 'a/.x/b' - , '.x' - , '.x/' - , '.x/a' - , '.x/a/b' - , 'a/.x/b/.x/c' - , '.x/.x' ] - } - , ["**/.x/**", [ '.x/' - , '.x/a' - , '.x/a/b' - , 'a/.x/b' - , 'a/b/.x/' - , 'a/b/.x/c' - , 'a/b/.x/c/d' - , 'a/b/.x/c/d/e' ] ] - - ] - -var regexps = - [ '/^(?:(?=.)a[^/]*?)$/', - '/^(?:(?=.)X[^/]*?)$/', - '/^(?:(?=.)X[^/]*?)$/', - '/^(?:\\*)$/', - '/^(?:(?=.)\\*[^/]*?)$/', - '/^(?:\\*\\*)$/', - '/^(?:(?=.)b[^/]*?\\/)$/', - '/^(?:(?=.)c[^/]*?)$/', - '/^(?:(?:(?!(?:\\/|^)\\.).)*?)$/', - '/^(?:\\.\\.\\/(?!\\.)(?=.)[^/]*?\\/)$/', - '/^(?:s\\/(?=.)\\.\\.[^/]*?\\/)$/', - '/^(?:\\/\\^root:\\/\\{s\\/(?=.)\\^[^:][^/]*?:[^:][^/]*?:\\([^:]\\)[^/]*?\\.[^/]*?\\$\\/1\\/)$/', - '/^(?:\\/\\^root:\\/\\{s\\/(?=.)\\^[^:][^/]*?:[^:][^/]*?:\\([^:]\\)[^/]*?\\.[^/]*?\\$\\/\u0001\\/)$/', - '/^(?:(?!\\.)(?=.)[a-c]b[^/]*?)$/', - '/^(?:(?!\\.)(?=.)[a-y][^/]*?[^c])$/', - '/^(?:(?=.)a[^/]*?[^c])$/', - '/^(?:(?=.)a[X-]b)$/', - '/^(?:(?!\\.)(?=.)[^a-c][^/]*?)$/', - '/^(?:a\\*b\\/(?!\\.)(?=.)[^/]*?)$/', - '/^(?:(?=.)a\\*[^/]\\/(?!\\.)(?=.)[^/]*?)$/', - '/^(?:(?!\\.)(?=.)[^/]*?\\\\\\![^/]*?)$/', - '/^(?:(?!\\.)(?=.)[^/]*?\\![^/]*?)$/', - '/^(?:(?!\\.)(?=.)[^/]*?\\.\\*)$/', - '/^(?:(?=.)a[b]c)$/', - '/^(?:(?=.)a[b]c)$/', - '/^(?:(?=.)a[^/]c)$/', - '/^(?:a\\*c)$/', - 'false', - '/^(?:(?!\\.)(?=.)[^/]*?\\/(?=.)man[^/]*?\\/(?=.)bash\\.[^/]*?)$/', - '/^(?:man\\/man1\\/bash\\.1)$/', - '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?c)$/', - '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]c)$/', - '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/])$/', - '/^(?:(?!\\.)(?=.)[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/])$/', - '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]c)$/', - '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?c)$/', - '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/])$/', - '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?)$/', - '/^(?:(?!\\.)(?=.)[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?c)$/', - '/^(?:(?!\\.)(?=.)[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/])$/', - '/^(?:(?=.)a[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/]k)$/', - '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/]k)$/', - '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/]k[^/]*?[^/]*?[^/]*?)$/', - '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/][^/]*?[^/]*?[^/]*?k)$/', - '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/][^/]*?[^/]*?[^/]*?k[^/]*?[^/]*?)$/', - '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?c[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?)$/', - '/^(?:(?!\\.)(?=.)[-abc])$/', - '/^(?:(?!\\.)(?=.)[abc-])$/', - '/^(?:\\\\)$/', - '/^(?:(?!\\.)(?=.)[\\\\])$/', - '/^(?:(?!\\.)(?=.)[\\[])$/', - '/^(?:\\[)$/', - '/^(?:(?=.)\\[(?!\\.)(?=.)[^/]*?)$/', - '/^(?:(?!\\.)(?=.)[\\]])$/', - '/^(?:(?!\\.)(?=.)[\\]-])$/', - '/^(?:(?!\\.)(?=.)[a-z])$/', - '/^(?:(?!\\.)(?=.)[^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/])$/', - '/^(?:(?!\\.)(?=.)[^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?c)$/', - '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?c[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?)$/', - '/^(?:(?!\\.)(?=.)[^/]*?c[^/]*?[^/][^/]*?[^/]*?)$/', - '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?c[^/]*?[^/][^/]*?[^/]*?)$/', - '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?)$/', - '/^(?:\\[\\])$/', - '/^(?:\\[abc)$/', - '/^(?:(?=.)XYZ)$/i', - '/^(?:(?=.)ab[^/]*?)$/i', - '/^(?:(?!\\.)(?=.)[ia][^/][ck])$/i', - '/^(?:\\/(?!\\.)(?=.)[^/]*?|(?!\\.)(?=.)[^/]*?)$/', - '/^(?:\\/(?!\\.)(?=.)[^/]|(?!\\.)(?=.)[^/]*?)$/', - '/^(?:(?:(?!(?:\\/|^)\\.).)*?)$/', - '/^(?:a\\/(?!(?:^|\\/)\\.{1,2}(?:$|\\/))(?=.)[^/]*?\\/b)$/', - '/^(?:a\\/(?=.)\\.[^/]*?\\/b)$/', - '/^(?:a\\/(?!\\.)(?=.)[^/]*?\\/b)$/', - '/^(?:a\\/(?=.)\\.[^/]*?\\/b)$/', - '/^(?:(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?)$/', - '/^(?:(?!\\.)(?=.)[^/]*?\\(a\\/b\\))$/', - '/^(?:(?!\\.)(?=.)(?:a|b)*|(?!\\.)(?=.)(?:a|c)*)$/', - '/^(?:(?=.)\\[(?=.)\\!a[^/]*?)$/', - '/^(?:(?=.)\\[(?=.)#a[^/]*?)$/', - '/^(?:(?=.)\\+\\(a\\|[^/]*?\\|c\\\\\\\\\\|d\\\\\\\\\\|e\\\\\\\\\\\\\\\\\\|f\\\\\\\\\\\\\\\\\\|g)$/', - '/^(?:(?!\\.)(?=.)(?:a|b)*|(?!\\.)(?=.)(?:a|c)*)$/', - '/^(?:a|(?!\\.)(?=.)[^/]*?\\(b\\|c|d\\))$/', - '/^(?:a|(?!\\.)(?=.)(?:b|c)*|(?!\\.)(?=.)(?:b|d)*)$/', - '/^(?:(?!\\.)(?=.)(?:a|b|c)*|(?!\\.)(?=.)(?:a|c)*)$/', - '/^(?:(?!\\.)(?=.)[^/]*?\\(a\\|b\\|c\\)|(?!\\.)(?=.)[^/]*?\\(a\\|c\\))$/', - '/^(?:(?=.)a[^/]b)$/', - '/^(?:(?=.)#[^/]*?)$/', - '/^(?!^(?:(?=.)a[^/]*?)$).*$/', - '/^(?:(?=.)\\!a[^/]*?)$/', - '/^(?:(?=.)a[^/]*?)$/', - '/^(?!^(?:(?=.)\\!a[^/]*?)$).*$/', - '/^(?:(?!\\.)(?=.)[^/]*?\\.(?:(?!js)[^/]*?))$/', - '/^(?:(?:(?!(?:\\/|^)\\.).)*?\\/\\.x\\/(?:(?!(?:\\/|^)\\.).)*?)$/' ] -var re = 0; - -tap.test("basic tests", function (t) { - var start = Date.now() - - // [ pattern, [matches], MM opts, files, TAP opts] - patterns.forEach(function (c) { - if (typeof c === "function") return c() - if (typeof c === "string") return t.comment(c) - - var pattern = c[0] - , expect = c[1].sort(alpha) - , options = c[2] || {} - , f = c[3] || files - , tapOpts = c[4] || {} - - // options.debug = true - var m = new mm.Minimatch(pattern, options) - var r = m.makeRe() - var expectRe = regexps[re++] - tapOpts.re = String(r) || JSON.stringify(r) - tapOpts.files = JSON.stringify(f) - tapOpts.pattern = pattern - tapOpts.set = m.set - tapOpts.negated = m.negate - - var actual = mm.match(f, pattern, options) - actual.sort(alpha) - - t.equivalent( actual, expect - , JSON.stringify(pattern) + " " + JSON.stringify(expect) - , tapOpts ) - - t.equal(tapOpts.re, expectRe, tapOpts) - }) - - t.comment("time=" + (Date.now() - start) + "ms") - t.end() -}) - -tap.test("global leak test", function (t) { - var globalAfter = Object.keys(global) - t.equivalent(globalAfter, globalBefore, "no new globals, please") - t.end() -}) - -function alpha (a, b) { - return a > b ? 1 : -1 -} diff --git a/node_modules/grunt/node_modules/minimatch/test/brace-expand.js b/node_modules/grunt/node_modules/minimatch/test/brace-expand.js deleted file mode 100644 index 7ee278a274d3..000000000000 --- a/node_modules/grunt/node_modules/minimatch/test/brace-expand.js +++ /dev/null @@ -1,33 +0,0 @@ -var tap = require("tap") - , minimatch = require("../") - -tap.test("brace expansion", function (t) { - // [ pattern, [expanded] ] - ; [ [ "a{b,c{d,e},{f,g}h}x{y,z}" - , [ "abxy" - , "abxz" - , "acdxy" - , "acdxz" - , "acexy" - , "acexz" - , "afhxy" - , "afhxz" - , "aghxy" - , "aghxz" ] ] - , [ "a{1..5}b" - , [ "a1b" - , "a2b" - , "a3b" - , "a4b" - , "a5b" ] ] - , [ "a{b}c", ["a{b}c"] ] - ].forEach(function (tc) { - var p = tc[0] - , expect = tc[1] - t.equivalent(minimatch.braceExpand(p), expect, p) - }) - console.error("ending") - t.end() -}) - - diff --git a/node_modules/grunt/node_modules/minimatch/test/caching.js b/node_modules/grunt/node_modules/minimatch/test/caching.js deleted file mode 100644 index 0fec4b0fad0b..000000000000 --- a/node_modules/grunt/node_modules/minimatch/test/caching.js +++ /dev/null @@ -1,14 +0,0 @@ -var Minimatch = require("../minimatch.js").Minimatch -var tap = require("tap") -tap.test("cache test", function (t) { - var mm1 = new Minimatch("a?b") - var mm2 = new Minimatch("a?b") - t.equal(mm1, mm2, "should get the same object") - // the lru should drop it after 100 entries - for (var i = 0; i < 100; i ++) { - new Minimatch("a"+i) - } - mm2 = new Minimatch("a?b") - t.notEqual(mm1, mm2, "cache should have dropped") - t.end() -}) diff --git a/node_modules/grunt/node_modules/minimatch/test/defaults.js b/node_modules/grunt/node_modules/minimatch/test/defaults.js deleted file mode 100644 index 25f1f601cd48..000000000000 --- a/node_modules/grunt/node_modules/minimatch/test/defaults.js +++ /dev/null @@ -1,274 +0,0 @@ -// http://www.bashcookbook.com/bashinfo/source/bash-1.14.7/tests/glob-test -// -// TODO: Some of these tests do very bad things with backslashes, and will -// most likely fail badly on windows. They should probably be skipped. - -var tap = require("tap") - , globalBefore = Object.keys(global) - , mm = require("../") - , files = [ "a", "b", "c", "d", "abc" - , "abd", "abe", "bb", "bcd" - , "ca", "cb", "dd", "de" - , "bdir/", "bdir/cfile"] - , next = files.concat([ "a-b", "aXb" - , ".x", ".y" ]) - -tap.test("basic tests", function (t) { - var start = Date.now() - - // [ pattern, [matches], MM opts, files, TAP opts] - ; [ "http://www.bashcookbook.com/bashinfo" + - "/source/bash-1.14.7/tests/glob-test" - , ["a*", ["a", "abc", "abd", "abe"]] - , ["X*", ["X*"], {nonull: true}] - - // allow null glob expansion - , ["X*", []] - - // isaacs: Slightly different than bash/sh/ksh - // \\* is not un-escaped to literal "*" in a failed match, - // but it does make it get treated as a literal star - , ["\\*", ["\\*"], {nonull: true}] - , ["\\**", ["\\**"], {nonull: true}] - , ["\\*\\*", ["\\*\\*"], {nonull: true}] - - , ["b*/", ["bdir/"]] - , ["c*", ["c", "ca", "cb"]] - , ["**", files] - - , ["\\.\\./*/", ["\\.\\./*/"], {nonull: true}] - , ["s/\\..*//", ["s/\\..*//"], {nonull: true}] - - , "legendary larry crashes bashes" - , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/" - , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/"], {nonull: true}] - , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/" - , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/"], {nonull: true}] - - , "character classes" - , ["[a-c]b*", ["abc", "abd", "abe", "bb", "cb"]] - , ["[a-y]*[^c]", ["abd", "abe", "bb", "bcd", - "bdir/", "ca", "cb", "dd", "de"]] - , ["a*[^c]", ["abd", "abe"]] - , function () { files.push("a-b", "aXb") } - , ["a[X-]b", ["a-b", "aXb"]] - , function () { files.push(".x", ".y") } - , ["[^a-c]*", ["d", "dd", "de"]] - , function () { files.push("a*b/", "a*b/ooo") } - , ["a\\*b/*", ["a*b/ooo"]] - , ["a\\*?/*", ["a*b/ooo"]] - , ["*\\\\!*", [], {null: true}, ["echo !7"]] - , ["*\\!*", ["echo !7"], null, ["echo !7"]] - , ["*.\\*", ["r.*"], null, ["r.*"]] - , ["a[b]c", ["abc"]] - , ["a[\\b]c", ["abc"]] - , ["a?c", ["abc"]] - , ["a\\*c", [], {null: true}, ["abc"]] - , ["", [""], { null: true }, [""]] - - , "http://www.opensource.apple.com/source/bash/bash-23/" + - "bash/tests/glob-test" - , function () { files.push("man/", "man/man1/", "man/man1/bash.1") } - , ["*/man*/bash.*", ["man/man1/bash.1"]] - , ["man/man1/bash.1", ["man/man1/bash.1"]] - , ["a***c", ["abc"], null, ["abc"]] - , ["a*****?c", ["abc"], null, ["abc"]] - , ["?*****??", ["abc"], null, ["abc"]] - , ["*****??", ["abc"], null, ["abc"]] - , ["?*****?c", ["abc"], null, ["abc"]] - , ["?***?****c", ["abc"], null, ["abc"]] - , ["?***?****?", ["abc"], null, ["abc"]] - , ["?***?****", ["abc"], null, ["abc"]] - , ["*******c", ["abc"], null, ["abc"]] - , ["*******?", ["abc"], null, ["abc"]] - , ["a*cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]] - , ["a**?**cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]] - , ["a**?**cd**?**??k***", ["abcdecdhjk"], null, ["abcdecdhjk"]] - , ["a**?**cd**?**??***k", ["abcdecdhjk"], null, ["abcdecdhjk"]] - , ["a**?**cd**?**??***k**", ["abcdecdhjk"], null, ["abcdecdhjk"]] - , ["a****c**?**??*****", ["abcdecdhjk"], null, ["abcdecdhjk"]] - , ["[-abc]", ["-"], null, ["-"]] - , ["[abc-]", ["-"], null, ["-"]] - , ["\\", ["\\"], null, ["\\"]] - , ["[\\\\]", ["\\"], null, ["\\"]] - , ["[[]", ["["], null, ["["]] - , ["[", ["["], null, ["["]] - , ["[*", ["[abc"], null, ["[abc"]] - , "a right bracket shall lose its special meaning and\n" + - "represent itself in a bracket expression if it occurs\n" + - "first in the list. -- POSIX.2 2.8.3.2" - , ["[]]", ["]"], null, ["]"]] - , ["[]-]", ["]"], null, ["]"]] - , ["[a-\z]", ["p"], null, ["p"]] - , ["??**********?****?", [], { null: true }, ["abc"]] - , ["??**********?****c", [], { null: true }, ["abc"]] - , ["?************c****?****", [], { null: true }, ["abc"]] - , ["*c*?**", [], { null: true }, ["abc"]] - , ["a*****c*?**", [], { null: true }, ["abc"]] - , ["a********???*******", [], { null: true }, ["abc"]] - , ["[]", [], { null: true }, ["a"]] - , ["[abc", [], { null: true }, ["["]] - - , "nocase tests" - , ["XYZ", ["xYz"], { nocase: true, null: true } - , ["xYz", "ABC", "IjK"]] - , ["ab*", ["ABC"], { nocase: true, null: true } - , ["xYz", "ABC", "IjK"]] - , ["[ia]?[ck]", ["ABC", "IjK"], { nocase: true, null: true } - , ["xYz", "ABC", "IjK"]] - - // [ pattern, [matches], MM opts, files, TAP opts] - , "onestar/twostar" - , ["{/*,*}", [], {null: true}, ["/asdf/asdf/asdf"]] - , ["{/?,*}", ["/a", "bb"], {null: true} - , ["/a", "/b/b", "/a/b/c", "bb"]] - - , "dots should not match unless requested" - , ["**", ["a/b"], {}, ["a/b", "a/.d", ".a/.d"]] - - // .. and . can only match patterns starting with ., - // even when options.dot is set. - , function () { - files = ["a/./b", "a/../b", "a/c/b", "a/.d/b"] - } - , ["a/*/b", ["a/c/b", "a/.d/b"], {dot: true}] - , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: true}] - , ["a/*/b", ["a/c/b"], {dot:false}] - , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: false}] - - - // this also tests that changing the options needs - // to change the cache key, even if the pattern is - // the same! - , ["**", ["a/b","a/.d",".a/.d"], { dot: true } - , [ ".a/.d", "a/.d", "a/b"]] - - , "paren sets cannot contain slashes" - , ["*(a/b)", ["*(a/b)"], {nonull: true}, ["a/b"]] - - // brace sets trump all else. - // - // invalid glob pattern. fails on bash4 and bsdglob. - // however, in this implementation, it's easier just - // to do the intuitive thing, and let brace-expansion - // actually come before parsing any extglob patterns, - // like the documentation seems to say. - // - // XXX: if anyone complains about this, either fix it - // or tell them to grow up and stop complaining. - // - // bash/bsdglob says this: - // , ["*(a|{b),c)}", ["*(a|{b),c)}"], {}, ["a", "ab", "ac", "ad"]] - // but we do this instead: - , ["*(a|{b),c)}", ["a", "ab", "ac"], {}, ["a", "ab", "ac", "ad"]] - - // test partial parsing in the presence of comment/negation chars - , ["[!a*", ["[!ab"], {}, ["[!ab", "[ab"]] - , ["[#a*", ["[#ab"], {}, ["[#ab", "[ab"]] - - // like: {a,b|c\\,d\\\|e} except it's unclosed, so it has to be escaped. - , ["+(a|*\\|c\\\\|d\\\\\\|e\\\\\\\\|f\\\\\\\\\\|g" - , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g"] - , {} - , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g", "a", "b\\c"]] - - - // crazy nested {,,} and *(||) tests. - , function () { - files = [ "a", "b", "c", "d" - , "ab", "ac", "ad" - , "bc", "cb" - , "bc,d", "c,db", "c,d" - , "d)", "(b|c", "*(b|c" - , "b|c", "b|cc", "cb|c" - , "x(a|b|c)", "x(a|c)" - , "(a|b|c)", "(a|c)"] - } - , ["*(a|{b,c})", ["a", "b", "c", "ab", "ac"]] - , ["{a,*(b|c,d)}", ["a","(b|c", "*(b|c", "d)"]] - // a - // *(b|c) - // *(b|d) - , ["{a,*(b|{c,d})}", ["a","b", "bc", "cb", "c", "d"]] - , ["*(a|{b|c,c})", ["a", "b", "c", "ab", "ac", "bc", "cb"]] - - - // test various flag settings. - , [ "*(a|{b|c,c})", ["x(a|b|c)", "x(a|c)", "(a|b|c)", "(a|c)"] - , { noext: true } ] - , ["a?b", ["x/y/acb", "acb/"], {matchBase: true} - , ["x/y/acb", "acb/", "acb/d/e", "x/y/acb/d"] ] - , ["#*", ["#a", "#b"], {nocomment: true}, ["#a", "#b", "c#d"]] - - - // begin channelling Boole and deMorgan... - , "negation tests" - , function () { - files = ["d", "e", "!ab", "!abc", "a!b", "\\!a"] - } - - // anything that is NOT a* matches. - , ["!a*", ["\\!a", "d", "e", "!ab", "!abc"]] - - // anything that IS !a* matches. - , ["!a*", ["!ab", "!abc"], {nonegate: true}] - - // anything that IS a* matches - , ["!!a*", ["a!b"]] - - // anything that is NOT !a* matches - , ["!\\!a*", ["a!b", "d", "e", "\\!a"]] - - // negation nestled within a pattern - , function () { - files = [ "foo.js" - , "foo.bar" - // can't match this one without negative lookbehind. - , "foo.js.js" - , "blar.js" - , "foo." - , "boo.js.boo" ] - } - , ["*.!(js)", ["foo.bar", "foo.", "boo.js.boo"] ] - - ].forEach(function (c) { - if (typeof c === "function") return c() - if (typeof c === "string") return t.comment(c) - - var pattern = c[0] - , expect = c[1].sort(alpha) - , options = c[2] || {} - , f = c[3] || files - , tapOpts = c[4] || {} - - // options.debug = true - var Class = mm.defaults(options).Minimatch - var m = new Class(pattern, {}) - var r = m.makeRe() - tapOpts.re = String(r) || JSON.stringify(r) - tapOpts.files = JSON.stringify(f) - tapOpts.pattern = pattern - tapOpts.set = m.set - tapOpts.negated = m.negate - - var actual = mm.match(f, pattern, options) - actual.sort(alpha) - - t.equivalent( actual, expect - , JSON.stringify(pattern) + " " + JSON.stringify(expect) - , tapOpts ) - }) - - t.comment("time=" + (Date.now() - start) + "ms") - t.end() -}) - -tap.test("global leak test", function (t) { - var globalAfter = Object.keys(global) - t.equivalent(globalAfter, globalBefore, "no new globals, please") - t.end() -}) - -function alpha (a, b) { - return a > b ? 1 : -1 -} diff --git a/node_modules/grunt/node_modules/minimatch/test/extglob-ending-with-state-char.js b/node_modules/grunt/node_modules/minimatch/test/extglob-ending-with-state-char.js deleted file mode 100644 index 6676e2629a7e..000000000000 --- a/node_modules/grunt/node_modules/minimatch/test/extglob-ending-with-state-char.js +++ /dev/null @@ -1,8 +0,0 @@ -var test = require('tap').test -var minimatch = require('../') - -test('extglob ending with statechar', function(t) { - t.notOk(minimatch('ax', 'a?(b*)')) - t.ok(minimatch('ax', '?(a*|b)')) - t.end() -}) diff --git a/node_modules/grunt/node_modules/nopt/.npmignore b/node_modules/grunt/node_modules/nopt/.npmignore deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/node_modules/grunt/node_modules/nopt/LICENSE b/node_modules/grunt/node_modules/nopt/LICENSE deleted file mode 100644 index 05a4010949ca..000000000000 --- a/node_modules/grunt/node_modules/nopt/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright 2009, 2010, 2011 Isaac Z. Schlueter. -All rights reserved. - -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. diff --git a/node_modules/grunt/node_modules/nopt/README.md b/node_modules/grunt/node_modules/nopt/README.md deleted file mode 100644 index 6e5e95c03321..000000000000 --- a/node_modules/grunt/node_modules/nopt/README.md +++ /dev/null @@ -1,276 +0,0 @@ -If you want to write an option parser, and have it be good, there are -two ways to do it. The Right Way, and the Wrong Way. - -The Wrong Way is to sit down and write an option parser. We've all done -that. - -The Right Way is to write some complex configurable program with so many -options that you go half-insane just trying to manage them all, and put -it off with duct-tape solutions until you see exactly to the core of the -problem, and finally snap and write an awesome option parser. - -If you want to write an option parser, don't write an option parser. -Write a package manager, or a source control system, or a service -restarter, or an operating system. You probably won't end up with a -good one of those, but if you don't give up, and you are relentless and -diligent enough in your procrastination, you may just end up with a very -nice option parser. - -## USAGE - - // my-program.js - var nopt = require("nopt") - , Stream = require("stream").Stream - , path = require("path") - , knownOpts = { "foo" : [String, null] - , "bar" : [Stream, Number] - , "baz" : path - , "bloo" : [ "big", "medium", "small" ] - , "flag" : Boolean - , "pick" : Boolean - , "many" : [String, Array] - } - , shortHands = { "foofoo" : ["--foo", "Mr. Foo"] - , "b7" : ["--bar", "7"] - , "m" : ["--bloo", "medium"] - , "p" : ["--pick"] - , "f" : ["--flag"] - } - // everything is optional. - // knownOpts and shorthands default to {} - // arg list defaults to process.argv - // slice defaults to 2 - , parsed = nopt(knownOpts, shortHands, process.argv, 2) - console.log(parsed) - -This would give you support for any of the following: - -```bash -$ node my-program.js --foo "blerp" --no-flag -{ "foo" : "blerp", "flag" : false } - -$ node my-program.js ---bar 7 --foo "Mr. Hand" --flag -{ bar: 7, foo: "Mr. Hand", flag: true } - -$ node my-program.js --foo "blerp" -f -----p -{ foo: "blerp", flag: true, pick: true } - -$ node my-program.js -fp --foofoo -{ foo: "Mr. Foo", flag: true, pick: true } - -$ node my-program.js --foofoo -- -fp # -- stops the flag parsing. -{ foo: "Mr. Foo", argv: { remain: ["-fp"] } } - -$ node my-program.js --blatzk 1000 -fp # unknown opts are ok. -{ blatzk: 1000, flag: true, pick: true } - -$ node my-program.js --blatzk true -fp # but they need a value -{ blatzk: true, flag: true, pick: true } - -$ node my-program.js --no-blatzk -fp # unless they start with "no-" -{ blatzk: false, flag: true, pick: true } - -$ node my-program.js --baz b/a/z # known paths are resolved. -{ baz: "/Users/isaacs/b/a/z" } - -# if Array is one of the types, then it can take many -# values, and will always be an array. The other types provided -# specify what types are allowed in the list. - -$ node my-program.js --many 1 --many null --many foo -{ many: ["1", "null", "foo"] } - -$ node my-program.js --many foo -{ many: ["foo"] } -``` - -Read the tests at the bottom of `lib/nopt.js` for more examples of -what this puppy can do. - -## Types - -The following types are supported, and defined on `nopt.typeDefs` - -* String: A normal string. No parsing is done. -* path: A file system path. Gets resolved against cwd if not absolute. -* url: A url. If it doesn't parse, it isn't accepted. -* Number: Must be numeric. -* Date: Must parse as a date. If it does, and `Date` is one of the options, - then it will return a Date object, not a string. -* Boolean: Must be either `true` or `false`. If an option is a boolean, - then it does not need a value, and its presence will imply `true` as - the value. To negate boolean flags, do `--no-whatever` or `--whatever - false` -* NaN: Means that the option is strictly not allowed. Any value will - fail. -* Stream: An object matching the "Stream" class in node. Valuable - for use when validating programmatically. (npm uses this to let you - supply any WriteStream on the `outfd` and `logfd` config options.) -* Array: If `Array` is specified as one of the types, then the value - will be parsed as a list of options. This means that multiple values - can be specified, and that the value will always be an array. - -If a type is an array of values not on this list, then those are -considered valid values. For instance, in the example above, the -`--bloo` option can only be one of `"big"`, `"medium"`, or `"small"`, -and any other value will be rejected. - -When parsing unknown fields, `"true"`, `"false"`, and `"null"` will be -interpreted as their JavaScript equivalents, and numeric values will be -interpreted as a number. - -You can also mix types and values, or multiple types, in a list. For -instance `{ blah: [Number, null] }` would allow a value to be set to -either a Number or null. When types are ordered, this implies a -preference, and the first type that can be used to properly interpret -the value will be used. - -To define a new type, add it to `nopt.typeDefs`. Each item in that -hash is an object with a `type` member and a `validate` method. The -`type` member is an object that matches what goes in the type list. The -`validate` method is a function that gets called with `validate(data, -key, val)`. Validate methods should assign `data[key]` to the valid -value of `val` if it can be handled properly, or return boolean -`false` if it cannot. - -You can also call `nopt.clean(data, types, typeDefs)` to clean up a -config object and remove its invalid properties. - -## Error Handling - -By default, nopt outputs a warning to standard error when invalid -options are found. You can change this behavior by assigning a method -to `nopt.invalidHandler`. This method will be called with -the offending `nopt.invalidHandler(key, val, types)`. - -If no `nopt.invalidHandler` is assigned, then it will console.error -its whining. If it is assigned to boolean `false` then the warning is -suppressed. - -## Abbreviations - -Yes, they are supported. If you define options like this: - -```javascript -{ "foolhardyelephants" : Boolean -, "pileofmonkeys" : Boolean } -``` - -Then this will work: - -```bash -node program.js --foolhar --pil -node program.js --no-f --pileofmon -# etc. -``` - -## Shorthands - -Shorthands are a hash of shorter option names to a snippet of args that -they expand to. - -If multiple one-character shorthands are all combined, and the -combination does not unambiguously match any other option or shorthand, -then they will be broken up into their constituent parts. For example: - -```json -{ "s" : ["--loglevel", "silent"] -, "g" : "--global" -, "f" : "--force" -, "p" : "--parseable" -, "l" : "--long" -} -``` - -```bash -npm ls -sgflp -# just like doing this: -npm ls --loglevel silent --global --force --long --parseable -``` - -## The Rest of the args - -The config object returned by nopt is given a special member called -`argv`, which is an object with the following fields: - -* `remain`: The remaining args after all the parsing has occurred. -* `original`: The args as they originally appeared. -* `cooked`: The args after flags and shorthands are expanded. - -## Slicing - -Node programs are called with more or less the exact argv as it appears -in C land, after the v8 and node-specific options have been plucked off. -As such, `argv[0]` is always `node` and `argv[1]` is always the -JavaScript program being run. - -That's usually not very useful to you. So they're sliced off by -default. If you want them, then you can pass in `0` as the last -argument, or any other number that you'd like to slice off the start of -the list. - -## Show usage - -An option parser is great, but it's even better if it generate the -showUSage message for you. - -Everything is done by calling `nopt.usage` - - var nopt = require('nopt'); - nopt.usage(knownOpts, shortHands, description1, description2, ...) - -You could pass as many description objects as you want. Take a look at the following example to understand how it could be used. - - - #!/usr/bin/env node - - var nopt = require("../lib/nopt") - , Stream = require("stream").Stream - , path = require("path") - , knownOpts = { "foo" : [String, null] - , "bar" : [Stream, Number] - , "baz" : path - , "bloo" : [ "big", "medium", "small" ] - , "flag" : Boolean - , "pick" : Boolean - } - , shortHands = { "foofoo" : ["--foo", "Mr. Foo"] - , "b7" : ["--bar", "7"] - , "m" : ["--bloo", "medium"] - , "p" : ["--pick"] - , "f" : ["--flag", "true"] - , "g" : ["--flag"] - , "s" : "--flag" - } - , description = { "foo" : "Something really foooooooo" - , "bar" : "A bar thing" - , "baz" : "More or less baz" - , "flag" : "Flag it as well" - , "pick" : "Or pick something" - } - , defaults = { "foo" : null - , "bar" : 42 - , "baz" : "/etc/passwd" - , "bloo" : "small" - , "pick" : false - } - // everything is optional. - // knownOpts and shorthands default to {} - // arg list defaults to process.argv - // slice defaults to 2 - , parsed = nopt(knownOpts, shortHands, process.argv, 2) - , usage = nopt.usage(knownOpts, shortHands, description, defaults) - - console.log('Usage: ') - console.log(usage) - -The output is: - - Usage: - --foo, -foofoo Something really foooooooo null - --bar, -b7 A bar thing 42 - --baz More or less baz /etc/passwd - --bloo, -m small - --flag, -f, -g, -s Flag it as well - --pick, -p Or pick something false - diff --git a/node_modules/grunt/node_modules/nopt/bin/nopt.js b/node_modules/grunt/node_modules/nopt/bin/nopt.js deleted file mode 100755 index df90c729af69..000000000000 --- a/node_modules/grunt/node_modules/nopt/bin/nopt.js +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env node -var nopt = require("../lib/nopt") - , types = { num: Number - , bool: Boolean - , help: Boolean - , list: Array - , "num-list": [Number, Array] - , "str-list": [String, Array] - , "bool-list": [Boolean, Array] - , str: String } - , shorthands = { s: [ "--str", "astring" ] - , b: [ "--bool" ] - , nb: [ "--no-bool" ] - , tft: [ "--bool-list", "--no-bool-list", "--bool-list", "true" ] - , "?": ["--help"] - , h: ["--help"] - , H: ["--help"] - , n: [ "--num", "125" ] } - , parsed = nopt( types - , shorthands - , process.argv - , 2 ) - -console.log("parsed", parsed) - -if (parsed.help) { - console.log("") - console.log("nopt cli tester") - console.log("") - console.log("types") - console.log(Object.keys(types).map(function M (t) { - var type = types[t] - if (Array.isArray(type)) { - return [t, type.map(function (type) { return type.name })] - } - return [t, type && type.name] - }).reduce(function (s, i) { - s[i[0]] = i[1] - return s - }, {})) - console.log("") - console.log("shorthands") - console.log(shorthands) -} diff --git a/node_modules/grunt/node_modules/nopt/examples/my-program.js b/node_modules/grunt/node_modules/nopt/examples/my-program.js deleted file mode 100755 index c12d5cc7d7e6..000000000000 --- a/node_modules/grunt/node_modules/nopt/examples/my-program.js +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env node - -//process.env.DEBUG_NOPT = 1 - -// my-program.js -var nopt = require("../lib/nopt") - , Stream = require("stream").Stream - , path = require("path") - , knownOpts = { "foo" : [String, null] - , "bar" : [Stream, Number] - , "baz" : path - , "bloo" : [ "big", "medium", "small" ] - , "flag" : Boolean - , "pick" : Boolean - } - , shortHands = { "foofoo" : ["--foo", "Mr. Foo"] - , "b7" : ["--bar", "7"] - , "m" : ["--bloo", "medium"] - , "p" : ["--pick"] - , "f" : ["--flag", "true"] - , "g" : ["--flag"] - , "s" : "--flag" - } - , description = { "foo" : "Something really foooooooo" - , "bar" : "A bar thing" - , "baz" : "More or less baz" - , "flag" : "Flag it as well" - , "pick" : "Or pick something" - } - , defaults = { "foo" : null - , "bar" : 42 - , "baz" : "/etc/passwd" - , "bloo" : "small" - , "pick" : false - } - // everything is optional. - // knownOpts and shorthands default to {} - // arg list defaults to process.argv - // slice defaults to 2 - , parsed = nopt(knownOpts, shortHands, process.argv, 2) - , usage = nopt.usage(knownOpts, shortHands, description, defaults) - -console.log("parsed =\n"+ require("util").inspect(parsed)) - -console.log('\nUsage: ') -console.log(usage) diff --git a/node_modules/grunt/node_modules/nopt/lib/nopt.js b/node_modules/grunt/node_modules/nopt/lib/nopt.js deleted file mode 100644 index b81dc4795398..000000000000 --- a/node_modules/grunt/node_modules/nopt/lib/nopt.js +++ /dev/null @@ -1,554 +0,0 @@ -// info about each config option. - -var debug = process.env.DEBUG_NOPT || process.env.NOPT_DEBUG - ? function () { console.error.apply(console, arguments) } - : function () {} - -var url = require("url") - , path = require("path") - , Stream = require("stream").Stream - , abbrev = require("abbrev") - , usage = require("./usage") - -module.exports = exports = nopt -exports.clean = clean -exports.usage = usage - -exports.typeDefs = - { String : { type: String, validate: validateString } - , Boolean : { type: Boolean, validate: validateBoolean } - , url : { type: url, validate: validateUrl } - , Number : { type: Number, validate: validateNumber } - , path : { type: path, validate: validatePath } - , Stream : { type: Stream, validate: validateStream } - , Date : { type: Date, validate: validateDate } - } - -function nopt (types, shorthands, args, slice) { - args = args || process.argv - types = types || {} - shorthands = shorthands || {} - if (typeof slice !== "number") slice = 2 - - debug(types, shorthands, args, slice) - - args = args.slice(slice) - var data = {} - , key - , remain = [] - , cooked = args - , original = args.slice(0) - - parse(args, data, remain, types, shorthands) - // now data is full - clean(data, types, exports.typeDefs) - data.argv = {remain:remain,cooked:cooked,original:original} - data.argv.toString = function () { - return this.original.map(JSON.stringify).join(" ") - } - return data -} - -function clean (data, types, typeDefs) { - typeDefs = typeDefs || exports.typeDefs - var remove = {} - , typeDefault = [false, true, null, String, Number] - - Object.keys(data).forEach(function (k) { - if (k === "argv") return - var val = data[k] - , isArray = Array.isArray(val) - , type = types[k] - if (!isArray) val = [val] - if (!type) type = typeDefault - if (type === Array) type = typeDefault.concat(Array) - if (!Array.isArray(type)) type = [type] - - debug("val=%j", val) - debug("types=", type) - val = val.map(function (val) { - // if it's an unknown value, then parse false/true/null/numbers/dates - if (typeof val === "string") { - debug("string %j", val) - val = val.trim() - if ((val === "null" && ~type.indexOf(null)) - || (val === "true" && - (~type.indexOf(true) || ~type.indexOf(Boolean))) - || (val === "false" && - (~type.indexOf(false) || ~type.indexOf(Boolean)))) { - val = JSON.parse(val) - debug("jsonable %j", val) - } else if (~type.indexOf(Number) && !isNaN(val)) { - debug("convert to number", val) - val = +val - } else if (~type.indexOf(Date) && !isNaN(Date.parse(val))) { - debug("convert to date", val) - val = new Date(val) - } - } - - if (!types.hasOwnProperty(k)) { - return val - } - - // allow `--no-blah` to set 'blah' to null if null is allowed - if (val === false && ~type.indexOf(null) && - !(~type.indexOf(false) || ~type.indexOf(Boolean))) { - val = null - } - - var d = {} - d[k] = val - debug("prevalidated val", d, val, types[k]) - if (!validate(d, k, val, types[k], typeDefs)) { - if (exports.invalidHandler) { - exports.invalidHandler(k, val, types[k], data) - } else if (exports.invalidHandler !== false) { - debug("invalid: "+k+"="+val, types[k]) - } - return remove - } - debug("validated val", d, val, types[k]) - return d[k] - }).filter(function (val) { return val !== remove }) - - if (!val.length) delete data[k] - else if (isArray) { - debug(isArray, data[k], val) - data[k] = val - } else data[k] = val[0] - - debug("k=%s val=%j", k, val, data[k]) - }) -} - -function validateString (data, k, val) { - data[k] = String(val) -} - -function validatePath (data, k, val) { - data[k] = path.resolve(String(val)) - return true -} - -function validateNumber (data, k, val) { - debug("validate Number %j %j %j", k, val, isNaN(val)) - if (isNaN(val)) return false - data[k] = +val -} - -function validateDate (data, k, val) { - debug("validate Date %j %j %j", k, val, Date.parse(val)) - var s = Date.parse(val) - if (isNaN(s)) return false - data[k] = new Date(val) -} - -function validateBoolean (data, k, val) { - if (val instanceof Boolean) val = val.valueOf() - else if (typeof val === "string") { - if (!isNaN(val)) val = !!(+val) - else if (val === "null" || val === "false") val = false - else val = true - } else val = !!val - data[k] = val -} - -function validateUrl (data, k, val) { - val = url.parse(String(val)) - if (!val.host) return false - data[k] = val.href -} - -function validateStream (data, k, val) { - if (!(val instanceof Stream)) return false - data[k] = val -} - -function validate (data, k, val, type, typeDefs) { - // arrays are lists of types. - if (Array.isArray(type)) { - for (var i = 0, l = type.length; i < l; i ++) { - if (type[i] === Array) continue - if (validate(data, k, val, type[i], typeDefs)) return true - } - delete data[k] - return false - } - - // an array of anything? - if (type === Array) return true - - // NaN is poisonous. Means that something is not allowed. - if (type !== type) { - debug("Poison NaN", k, val, type) - delete data[k] - return false - } - - // explicit list of values - if (val === type) { - debug("Explicitly allowed %j", val) - // if (isArray) (data[k] = data[k] || []).push(val) - // else data[k] = val - data[k] = val - return true - } - - // now go through the list of typeDefs, validate against each one. - var ok = false - , types = Object.keys(typeDefs) - for (var i = 0, l = types.length; i < l; i ++) { - debug("test type %j %j %j", k, val, types[i]) - var t = typeDefs[types[i]] - if (t && type === t.type) { - var d = {} - ok = false !== t.validate(d, k, val) - val = d[k] - if (ok) { - // if (isArray) (data[k] = data[k] || []).push(val) - // else data[k] = val - data[k] = val - break - } - } - } - debug("OK? %j (%j %j %j)", ok, k, val, types[i]) - - if (!ok) delete data[k] - return ok -} - -function parse (args, data, remain, types, shorthands) { - debug("parse", args, data, remain) - - var key = null - , abbrevs = abbrev(Object.keys(types)) - , shortAbbr = abbrev(Object.keys(shorthands)) - - for (var i = 0; i < args.length; i ++) { - var arg = args[i] - debug("arg", arg) - - if (arg.match(/^-{2,}$/)) { - // done with keys. - // the rest are args. - remain.push.apply(remain, args.slice(i + 1)) - args[i] = "--" - break - } - if (arg.charAt(0) === "-") { - if (arg.indexOf("=") !== -1) { - var v = arg.split("=") - arg = v.shift() - v = v.join("=") - args.splice.apply(args, [i, 1].concat([arg, v])) - } - // see if it's a shorthand - // if so, splice and back up to re-parse it. - var shRes = resolveShort(arg, shorthands, shortAbbr, abbrevs) - debug("arg=%j shRes=%j", arg, shRes) - if (shRes) { - debug(arg, shRes) - args.splice.apply(args, [i, 1].concat(shRes)) - if (arg !== shRes[0]) { - i -- - continue - } - } - arg = arg.replace(/^-+/, "") - var no = false - while (arg.toLowerCase().indexOf("no-") === 0) { - no = !no - arg = arg.substr(3) - } - - if (abbrevs[arg]) arg = abbrevs[arg] - - var isArray = types[arg] === Array || - Array.isArray(types[arg]) && types[arg].indexOf(Array) !== -1 - - var val - , la = args[i + 1] - - var isBool = no || - types[arg] === Boolean || - Array.isArray(types[arg]) && types[arg].indexOf(Boolean) !== -1 || - (la === "false" && - (types[arg] === null || - Array.isArray(types[arg]) && ~types[arg].indexOf(null))) - - if (isBool) { - // just set and move along - val = !no - // however, also support --bool true or --bool false - if (la === "true" || la === "false") { - val = JSON.parse(la) - la = null - if (no) val = !val - i ++ - } - - // also support "foo":[Boolean, "bar"] and "--foo bar" - if (Array.isArray(types[arg]) && la) { - if (~types[arg].indexOf(la)) { - // an explicit type - val = la - i ++ - } else if ( la === "null" && ~types[arg].indexOf(null) ) { - // null allowed - val = null - i ++ - } else if ( !la.match(/^-{2,}[^-]/) && - !isNaN(la) && - ~types[arg].indexOf(Number) ) { - // number - val = +la - i ++ - } else if ( !la.match(/^-[^-]/) && ~types[arg].indexOf(String) ) { - // string - val = la - i ++ - } - } - - if (isArray) (data[arg] = data[arg] || []).push(val) - else data[arg] = val - - continue - } - - if (la && la.match(/^-{2,}$/)) { - la = undefined - i -- - } - - val = la === undefined ? true : la - if (isArray) (data[arg] = data[arg] || []).push(val) - else data[arg] = val - - i ++ - continue - } - remain.push(arg) - } -} - -function resolveShort (arg, shorthands, shortAbbr, abbrevs) { - // handle single-char shorthands glommed together, like - // npm ls -glp, but only if there is one dash, and only if - // all of the chars are single-char shorthands, and it's - // not a match to some other abbrev. - arg = arg.replace(/^-+/, '') - if (abbrevs[arg] && !shorthands[arg]) { - return null - } - if (shortAbbr[arg]) { - arg = shortAbbr[arg] - } else { - var singles = shorthands.___singles - if (!singles) { - singles = Object.keys(shorthands).filter(function (s) { - return s.length === 1 - }).reduce(function (l,r) { l[r] = true ; return l }, {}) - shorthands.___singles = singles - } - var chrs = arg.split("").filter(function (c) { - return singles[c] - }) - if (chrs.join("") === arg) return chrs.map(function (c) { - return shorthands[c] - }).reduce(function (l, r) { - return l.concat(r) - }, []) - } - - if (shorthands[arg] && !Array.isArray(shorthands[arg])) { - shorthands[arg] = shorthands[arg].split(/\s+/) - } - return shorthands[arg] -} - -if (module === require.main) { -var assert = require("assert") - , util = require("util") - - , shorthands = - { s : ["--loglevel", "silent"] - , d : ["--loglevel", "info"] - , dd : ["--loglevel", "verbose"] - , ddd : ["--loglevel", "silly"] - , noreg : ["--no-registry"] - , reg : ["--registry"] - , "no-reg" : ["--no-registry"] - , silent : ["--loglevel", "silent"] - , verbose : ["--loglevel", "verbose"] - , h : ["--usage"] - , H : ["--usage"] - , "?" : ["--usage"] - , help : ["--usage"] - , v : ["--version"] - , f : ["--force"] - , desc : ["--description"] - , "no-desc" : ["--no-description"] - , "local" : ["--no-global"] - , l : ["--long"] - , p : ["--parseable"] - , porcelain : ["--parseable"] - , g : ["--global"] - } - - , types = - { aoa: Array - , nullstream: [null, Stream] - , date: Date - , str: String - , browser : String - , cache : path - , color : ["always", Boolean] - , depth : Number - , description : Boolean - , dev : Boolean - , editor : path - , force : Boolean - , global : Boolean - , globalconfig : path - , group : [String, Number] - , gzipbin : String - , logfd : [Number, Stream] - , loglevel : ["silent","win","error","warn","info","verbose","silly"] - , long : Boolean - , "node-version" : [false, String] - , npaturl : url - , npat : Boolean - , "onload-script" : [false, String] - , outfd : [Number, Stream] - , parseable : Boolean - , pre: Boolean - , prefix: path - , proxy : url - , "rebuild-bundle" : Boolean - , registry : url - , searchopts : String - , searchexclude: [null, String] - , shell : path - , t: [Array, String] - , tag : String - , tar : String - , tmp : path - , "unsafe-perm" : Boolean - , usage : Boolean - , user : String - , username : String - , userconfig : path - , version : Boolean - , viewer: path - , _exit : Boolean - } - -; [["-v", {version:true}, []] - ,["---v", {version:true}, []] - ,["ls -s --no-reg connect -d", - {loglevel:"info",registry:null},["ls","connect"]] - ,["ls ---s foo",{loglevel:"silent"},["ls","foo"]] - ,["ls --registry blargle", {}, ["ls"]] - ,["--no-registry", {registry:null}, []] - ,["--no-color true", {color:false}, []] - ,["--no-color false", {color:true}, []] - ,["--no-color", {color:false}, []] - ,["--color false", {color:false}, []] - ,["--color --logfd 7", {logfd:7,color:true}, []] - ,["--color=true", {color:true}, []] - ,["--logfd=10", {logfd:10}, []] - ,["--tmp=/tmp -tar=gtar",{tmp:"/tmp",tar:"gtar"},[]] - ,["--tmp=tmp -tar=gtar", - {tmp:path.resolve(process.cwd(), "tmp"),tar:"gtar"},[]] - ,["--logfd x", {}, []] - ,["a -true -- -no-false", {true:true},["a","-no-false"]] - ,["a -no-false", {false:false},["a"]] - ,["a -no-no-true", {true:true}, ["a"]] - ,["a -no-no-no-false", {false:false}, ["a"]] - ,["---NO-no-No-no-no-no-nO-no-no"+ - "-No-no-no-no-no-no-no-no-no"+ - "-no-no-no-no-NO-NO-no-no-no-no-no-no"+ - "-no-body-can-do-the-boogaloo-like-I-do" - ,{"body-can-do-the-boogaloo-like-I-do":false}, []] - ,["we are -no-strangers-to-love "+ - "--you-know the-rules --and so-do-i "+ - "---im-thinking-of=a-full-commitment "+ - "--no-you-would-get-this-from-any-other-guy "+ - "--no-gonna-give-you-up "+ - "-no-gonna-let-you-down=true "+ - "--no-no-gonna-run-around false "+ - "--desert-you=false "+ - "--make-you-cry false "+ - "--no-tell-a-lie "+ - "--no-no-and-hurt-you false" - ,{"strangers-to-love":false - ,"you-know":"the-rules" - ,"and":"so-do-i" - ,"you-would-get-this-from-any-other-guy":false - ,"gonna-give-you-up":false - ,"gonna-let-you-down":false - ,"gonna-run-around":false - ,"desert-you":false - ,"make-you-cry":false - ,"tell-a-lie":false - ,"and-hurt-you":false - },["we", "are"]] - ,["-t one -t two -t three" - ,{t: ["one", "two", "three"]} - ,[]] - ,["-t one -t null -t three four five null" - ,{t: ["one", "null", "three"]} - ,["four", "five", "null"]] - ,["-t foo" - ,{t:["foo"]} - ,[]] - ,["--no-t" - ,{t:["false"]} - ,[]] - ,["-no-no-t" - ,{t:["true"]} - ,[]] - ,["-aoa one -aoa null -aoa 100" - ,{aoa:["one", null, 100]} - ,[]] - ,["-str 100" - ,{str:"100"} - ,[]] - ,["--color always" - ,{color:"always"} - ,[]] - ,["--no-nullstream" - ,{nullstream:null} - ,[]] - ,["--nullstream false" - ,{nullstream:null} - ,[]] - ,["--notadate 2011-01-25" - ,{notadate: "2011-01-25"} - ,[]] - ,["--date 2011-01-25" - ,{date: new Date("2011-01-25")} - ,[]] - ].forEach(function (test) { - var argv = test[0].split(/\s+/) - , opts = test[1] - , rem = test[2] - , actual = nopt(types, shorthands, argv, 0) - , parsed = actual.argv - delete actual.argv - console.log(util.inspect(actual, false, 2, true), parsed.remain) - for (var i in opts) { - var e = JSON.stringify(opts[i]) - , a = JSON.stringify(actual[i] === undefined ? null : actual[i]) - if (e && typeof e === "object") { - assert.deepEqual(e, a) - } else { - assert.equal(e, a) - } - } - assert.deepEqual(rem, parsed.remain) - }) -} diff --git a/node_modules/grunt/node_modules/nopt/lib/usage.js b/node_modules/grunt/node_modules/nopt/lib/usage.js deleted file mode 100644 index af4829702878..000000000000 --- a/node_modules/grunt/node_modules/nopt/lib/usage.js +++ /dev/null @@ -1,61 +0,0 @@ -module.exports = function showUsage(knownOpts, shortHands /*, description1, description2, ... */){ - var descriptions = Array.prototype.slice.call(arguments, 2, arguments.length), - knownOptsMaxLen = maxLength(Object.keys(knownOpts)), - shortHands2 = {}, - SPACE = 4; - - // create a shortHands object with the long name as key. - Object.keys(shortHands).forEach(function(key){ - var value = Array.isArray(shortHands[key]) ? shortHands[key][0] : shortHands[key]; - var option = value.replace('--', ''); - shortHands2[option] = shortHands2[option] || []; - shortHands2[option].push(key); - }); - - // we can have severals shorthands for one option - var shortHandsMaxLength = values(shortHands2).reduce(function(a, b){ - a = Array.isArray(a) ? a.join(', -').length : a; - b = Array.isArray(b) ? b.join(', -').length : b; - return ( a > b) ? a : b; - }); - - // start by writing all known options - var out = {}; - Object.keys(knownOpts).forEach(function(key){ - var shorts = shortHands2[key] ? ', -' + shortHands2[key].join(', -') : ''; - var cmd = rpad('', SPACE) + '--' + key + shorts; - out[key] = rpad(cmd, knownOptsMaxLen + shortHandsMaxLength + 5 + 2 * SPACE); - }); - - // then write all the descriptions - descriptions.forEach(function(description){ - var descriptionMaxLen = maxLength(values(description)); - Object.keys(knownOpts).forEach(function(key){ - var value = '' + (description[key] !== undefined ? description[key] : ''); - out[key] += rpad(value, descriptionMaxLen + SPACE); - }); - }); - - return values(out).join('\n'); -}; - -// string right padding helper -function rpad(str, length) { - while (str.length < length) - str = str + ' '; - return str; -} - -// Object.values -function values(o){ - return Object.keys(o).map(function(k){ return o[k]; }); -} - -// Return the max length of an array of string. -function maxLength(arr){ - return arr.map(function(str){ - return ('' + str).length; - }).reduce(function(a,b){ - return ( a > b ) ? a : b; - }); -} diff --git a/node_modules/grunt/node_modules/nopt/node_modules/abbrev/CONTRIBUTING.md b/node_modules/grunt/node_modules/nopt/node_modules/abbrev/CONTRIBUTING.md deleted file mode 100644 index 2f302612f816..000000000000 --- a/node_modules/grunt/node_modules/nopt/node_modules/abbrev/CONTRIBUTING.md +++ /dev/null @@ -1,3 +0,0 @@ - To get started, sign the - Contributor License Agreement. diff --git a/node_modules/grunt/node_modules/nopt/node_modules/abbrev/LICENSE b/node_modules/grunt/node_modules/nopt/node_modules/abbrev/LICENSE deleted file mode 100644 index 05a4010949ca..000000000000 --- a/node_modules/grunt/node_modules/nopt/node_modules/abbrev/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright 2009, 2010, 2011 Isaac Z. Schlueter. -All rights reserved. - -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. diff --git a/node_modules/grunt/node_modules/nopt/node_modules/abbrev/README.md b/node_modules/grunt/node_modules/nopt/node_modules/abbrev/README.md deleted file mode 100644 index 99746fe67c46..000000000000 --- a/node_modules/grunt/node_modules/nopt/node_modules/abbrev/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# abbrev-js - -Just like [ruby's Abbrev](http://apidock.com/ruby/Abbrev). - -Usage: - - var abbrev = require("abbrev"); - abbrev("foo", "fool", "folding", "flop"); - - // returns: - { fl: 'flop' - , flo: 'flop' - , flop: 'flop' - , fol: 'folding' - , fold: 'folding' - , foldi: 'folding' - , foldin: 'folding' - , folding: 'folding' - , foo: 'foo' - , fool: 'fool' - } - -This is handy for command-line scripts, or other cases where you want to be able to accept shorthands. diff --git a/node_modules/grunt/node_modules/nopt/node_modules/abbrev/abbrev.js b/node_modules/grunt/node_modules/nopt/node_modules/abbrev/abbrev.js deleted file mode 100644 index 69cfeac5218b..000000000000 --- a/node_modules/grunt/node_modules/nopt/node_modules/abbrev/abbrev.js +++ /dev/null @@ -1,62 +0,0 @@ - -module.exports = exports = abbrev.abbrev = abbrev - -abbrev.monkeyPatch = monkeyPatch - -function monkeyPatch () { - Object.defineProperty(Array.prototype, 'abbrev', { - value: function () { return abbrev(this) }, - enumerable: false, configurable: true, writable: true - }) - - Object.defineProperty(Object.prototype, 'abbrev', { - value: function () { return abbrev(Object.keys(this)) }, - enumerable: false, configurable: true, writable: true - }) -} - -function abbrev (list) { - if (arguments.length !== 1 || !Array.isArray(list)) { - list = Array.prototype.slice.call(arguments, 0) - } - for (var i = 0, l = list.length, args = [] ; i < l ; i ++) { - args[i] = typeof list[i] === "string" ? list[i] : String(list[i]) - } - - // sort them lexicographically, so that they're next to their nearest kin - args = args.sort(lexSort) - - // walk through each, seeing how much it has in common with the next and previous - var abbrevs = {} - , prev = "" - for (var i = 0, l = args.length ; i < l ; i ++) { - var current = args[i] - , next = args[i + 1] || "" - , nextMatches = true - , prevMatches = true - if (current === next) continue - for (var j = 0, cl = current.length ; j < cl ; j ++) { - var curChar = current.charAt(j) - nextMatches = nextMatches && curChar === next.charAt(j) - prevMatches = prevMatches && curChar === prev.charAt(j) - if (!nextMatches && !prevMatches) { - j ++ - break - } - } - prev = current - if (j === cl) { - abbrevs[current] = current - continue - } - for (var a = current.substr(0, j) ; j <= cl ; j ++) { - abbrevs[a] = current - a += current.charAt(j) - } - } - return abbrevs -} - -function lexSort (a, b) { - return a === b ? 0 : a > b ? 1 : -1 -} diff --git a/node_modules/grunt/node_modules/nopt/node_modules/abbrev/package.json b/node_modules/grunt/node_modules/nopt/node_modules/abbrev/package.json deleted file mode 100644 index 25fcc64f6623..000000000000 --- a/node_modules/grunt/node_modules/nopt/node_modules/abbrev/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "abbrev", - "version": "1.0.5", - "description": "Like ruby's abbrev module, but in js", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me" - }, - "main": "abbrev.js", - "scripts": { - "test": "node test.js" - }, - "repository": { - "type": "git", - "url": "http://github.com/isaacs/abbrev-js" - }, - "license": { - "type": "MIT", - "url": "https://github.com/isaacs/abbrev-js/raw/master/LICENSE" - }, - "readme": "# abbrev-js\n\nJust like [ruby's Abbrev](http://apidock.com/ruby/Abbrev).\n\nUsage:\n\n var abbrev = require(\"abbrev\");\n abbrev(\"foo\", \"fool\", \"folding\", \"flop\");\n \n // returns:\n { fl: 'flop'\n , flo: 'flop'\n , flop: 'flop'\n , fol: 'folding'\n , fold: 'folding'\n , foldi: 'folding'\n , foldin: 'folding'\n , folding: 'folding'\n , foo: 'foo'\n , fool: 'fool'\n }\n\nThis is handy for command-line scripts, or other cases where you want to be able to accept shorthands.\n", - "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/isaacs/abbrev-js/issues" - }, - "homepage": "https://github.com/isaacs/abbrev-js", - "_id": "abbrev@1.0.5", - "dist": { - "shasum": "2f7cba0baff5d830ba52d8dd13477b1c12cb551c" - }, - "_from": "abbrev@1", - "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz" -} diff --git a/node_modules/grunt/node_modules/nopt/node_modules/abbrev/test.js b/node_modules/grunt/node_modules/nopt/node_modules/abbrev/test.js deleted file mode 100644 index d5a7303ed69c..000000000000 --- a/node_modules/grunt/node_modules/nopt/node_modules/abbrev/test.js +++ /dev/null @@ -1,47 +0,0 @@ -var abbrev = require('./abbrev.js') -var assert = require("assert") -var util = require("util") - -console.log("TAP Version 13") -var count = 0 - -function test (list, expect) { - count++ - var actual = abbrev(list) - assert.deepEqual(actual, expect, - "abbrev("+util.inspect(list)+") === " + util.inspect(expect) + "\n"+ - "actual: "+util.inspect(actual)) - actual = abbrev.apply(exports, list) - assert.deepEqual(abbrev.apply(exports, list), expect, - "abbrev("+list.map(JSON.stringify).join(",")+") === " + util.inspect(expect) + "\n"+ - "actual: "+util.inspect(actual)) - console.log('ok - ' + list.join(' ')) -} - -test([ "ruby", "ruby", "rules", "rules", "rules" ], -{ rub: 'ruby' -, ruby: 'ruby' -, rul: 'rules' -, rule: 'rules' -, rules: 'rules' -}) -test(["fool", "foom", "pool", "pope"], -{ fool: 'fool' -, foom: 'foom' -, poo: 'pool' -, pool: 'pool' -, pop: 'pope' -, pope: 'pope' -}) -test(["a", "ab", "abc", "abcd", "abcde", "acde"], -{ a: 'a' -, ab: 'ab' -, abc: 'abc' -, abcd: 'abcd' -, abcde: 'abcde' -, ac: 'acde' -, acd: 'acde' -, acde: 'acde' -}) - -console.log("0..%d", count) diff --git a/node_modules/grunt/node_modules/nopt/package.json b/node_modules/grunt/node_modules/nopt/package.json deleted file mode 100644 index ca46053314e7..000000000000 --- a/node_modules/grunt/node_modules/nopt/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "nopt", - "version": "1.0.10", - "description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "main": "lib/nopt.js", - "scripts": { - "test": "node lib/nopt.js" - }, - "repository": { - "type": "git", - "url": "http://github.com/isaacs/nopt" - }, - "bin": { - "nopt": "./bin/nopt.js" - }, - "license": { - "type": "MIT", - "url": "https://github.com/isaacs/nopt/raw/master/LICENSE" - }, - "dependencies": { - "abbrev": "1" - }, - "readme": "If you want to write an option parser, and have it be good, there are\ntwo ways to do it. The Right Way, and the Wrong Way.\n\nThe Wrong Way is to sit down and write an option parser. We've all done\nthat.\n\nThe Right Way is to write some complex configurable program with so many\noptions that you go half-insane just trying to manage them all, and put\nit off with duct-tape solutions until you see exactly to the core of the\nproblem, and finally snap and write an awesome option parser.\n\nIf you want to write an option parser, don't write an option parser.\nWrite a package manager, or a source control system, or a service\nrestarter, or an operating system. You probably won't end up with a\ngood one of those, but if you don't give up, and you are relentless and\ndiligent enough in your procrastination, you may just end up with a very\nnice option parser.\n\n## USAGE\n\n // my-program.js\n var nopt = require(\"nopt\")\n , Stream = require(\"stream\").Stream\n , path = require(\"path\")\n , knownOpts = { \"foo\" : [String, null]\n , \"bar\" : [Stream, Number]\n , \"baz\" : path\n , \"bloo\" : [ \"big\", \"medium\", \"small\" ]\n , \"flag\" : Boolean\n , \"pick\" : Boolean\n , \"many\" : [String, Array]\n }\n , shortHands = { \"foofoo\" : [\"--foo\", \"Mr. Foo\"]\n , \"b7\" : [\"--bar\", \"7\"]\n , \"m\" : [\"--bloo\", \"medium\"]\n , \"p\" : [\"--pick\"]\n , \"f\" : [\"--flag\"]\n }\n // everything is optional.\n // knownOpts and shorthands default to {}\n // arg list defaults to process.argv\n // slice defaults to 2\n , parsed = nopt(knownOpts, shortHands, process.argv, 2)\n console.log(parsed)\n\nThis would give you support for any of the following:\n\n```bash\n$ node my-program.js --foo \"blerp\" --no-flag\n{ \"foo\" : \"blerp\", \"flag\" : false }\n\n$ node my-program.js ---bar 7 --foo \"Mr. Hand\" --flag\n{ bar: 7, foo: \"Mr. Hand\", flag: true }\n\n$ node my-program.js --foo \"blerp\" -f -----p\n{ foo: \"blerp\", flag: true, pick: true }\n\n$ node my-program.js -fp --foofoo\n{ foo: \"Mr. Foo\", flag: true, pick: true }\n\n$ node my-program.js --foofoo -- -fp # -- stops the flag parsing.\n{ foo: \"Mr. Foo\", argv: { remain: [\"-fp\"] } }\n\n$ node my-program.js --blatzk 1000 -fp # unknown opts are ok.\n{ blatzk: 1000, flag: true, pick: true }\n\n$ node my-program.js --blatzk true -fp # but they need a value\n{ blatzk: true, flag: true, pick: true }\n\n$ node my-program.js --no-blatzk -fp # unless they start with \"no-\"\n{ blatzk: false, flag: true, pick: true }\n\n$ node my-program.js --baz b/a/z # known paths are resolved.\n{ baz: \"/Users/isaacs/b/a/z\" }\n\n# if Array is one of the types, then it can take many\n# values, and will always be an array. The other types provided\n# specify what types are allowed in the list.\n\n$ node my-program.js --many 1 --many null --many foo\n{ many: [\"1\", \"null\", \"foo\"] }\n\n$ node my-program.js --many foo\n{ many: [\"foo\"] }\n```\n\nRead the tests at the bottom of `lib/nopt.js` for more examples of\nwhat this puppy can do.\n\n## Types\n\nThe following types are supported, and defined on `nopt.typeDefs`\n\n* String: A normal string. No parsing is done.\n* path: A file system path. Gets resolved against cwd if not absolute.\n* url: A url. If it doesn't parse, it isn't accepted.\n* Number: Must be numeric.\n* Date: Must parse as a date. If it does, and `Date` is one of the options,\n then it will return a Date object, not a string.\n* Boolean: Must be either `true` or `false`. If an option is a boolean,\n then it does not need a value, and its presence will imply `true` as\n the value. To negate boolean flags, do `--no-whatever` or `--whatever\n false`\n* NaN: Means that the option is strictly not allowed. Any value will\n fail.\n* Stream: An object matching the \"Stream\" class in node. Valuable\n for use when validating programmatically. (npm uses this to let you\n supply any WriteStream on the `outfd` and `logfd` config options.)\n* Array: If `Array` is specified as one of the types, then the value\n will be parsed as a list of options. This means that multiple values\n can be specified, and that the value will always be an array.\n\nIf a type is an array of values not on this list, then those are\nconsidered valid values. For instance, in the example above, the\n`--bloo` option can only be one of `\"big\"`, `\"medium\"`, or `\"small\"`,\nand any other value will be rejected.\n\nWhen parsing unknown fields, `\"true\"`, `\"false\"`, and `\"null\"` will be\ninterpreted as their JavaScript equivalents, and numeric values will be\ninterpreted as a number.\n\nYou can also mix types and values, or multiple types, in a list. For\ninstance `{ blah: [Number, null] }` would allow a value to be set to\neither a Number or null. When types are ordered, this implies a\npreference, and the first type that can be used to properly interpret\nthe value will be used.\n\nTo define a new type, add it to `nopt.typeDefs`. Each item in that\nhash is an object with a `type` member and a `validate` method. The\n`type` member is an object that matches what goes in the type list. The\n`validate` method is a function that gets called with `validate(data,\nkey, val)`. Validate methods should assign `data[key]` to the valid\nvalue of `val` if it can be handled properly, or return boolean\n`false` if it cannot.\n\nYou can also call `nopt.clean(data, types, typeDefs)` to clean up a\nconfig object and remove its invalid properties.\n\n## Error Handling\n\nBy default, nopt outputs a warning to standard error when invalid\noptions are found. You can change this behavior by assigning a method\nto `nopt.invalidHandler`. This method will be called with\nthe offending `nopt.invalidHandler(key, val, types)`.\n\nIf no `nopt.invalidHandler` is assigned, then it will console.error\nits whining. If it is assigned to boolean `false` then the warning is\nsuppressed.\n\n## Abbreviations\n\nYes, they are supported. If you define options like this:\n\n```javascript\n{ \"foolhardyelephants\" : Boolean\n, \"pileofmonkeys\" : Boolean }\n```\n\nThen this will work:\n\n```bash\nnode program.js --foolhar --pil\nnode program.js --no-f --pileofmon\n# etc.\n```\n\n## Shorthands\n\nShorthands are a hash of shorter option names to a snippet of args that\nthey expand to.\n\nIf multiple one-character shorthands are all combined, and the\ncombination does not unambiguously match any other option or shorthand,\nthen they will be broken up into their constituent parts. For example:\n\n```json\n{ \"s\" : [\"--loglevel\", \"silent\"]\n, \"g\" : \"--global\"\n, \"f\" : \"--force\"\n, \"p\" : \"--parseable\"\n, \"l\" : \"--long\"\n}\n```\n\n```bash\nnpm ls -sgflp\n# just like doing this:\nnpm ls --loglevel silent --global --force --long --parseable\n```\n\n## The Rest of the args\n\nThe config object returned by nopt is given a special member called\n`argv`, which is an object with the following fields:\n\n* `remain`: The remaining args after all the parsing has occurred.\n* `original`: The args as they originally appeared.\n* `cooked`: The args after flags and shorthands are expanded.\n\n## Slicing\n\nNode programs are called with more or less the exact argv as it appears\nin C land, after the v8 and node-specific options have been plucked off.\nAs such, `argv[0]` is always `node` and `argv[1]` is always the\nJavaScript program being run.\n\nThat's usually not very useful to you. So they're sliced off by\ndefault. If you want them, then you can pass in `0` as the last\nargument, or any other number that you'd like to slice off the start of\nthe list.\n\n## Show usage\n\nAn option parser is great, but it's even better if it generate the\nshowUSage message for you.\n\nEverything is done by calling `nopt.usage`\n\n var nopt = require('nopt');\n nopt.usage(knownOpts, shortHands, description1, description2, ...)\n\nYou could pass as many description objects as you want. Take a look at the following example to understand how it could be used.\n\n\n #!/usr/bin/env node\n\n var nopt = require(\"../lib/nopt\")\n , Stream = require(\"stream\").Stream\n , path = require(\"path\")\n , knownOpts = { \"foo\" : [String, null]\n , \"bar\" : [Stream, Number]\n , \"baz\" : path\n , \"bloo\" : [ \"big\", \"medium\", \"small\" ]\n , \"flag\" : Boolean\n , \"pick\" : Boolean\n }\n , shortHands = { \"foofoo\" : [\"--foo\", \"Mr. Foo\"]\n , \"b7\" : [\"--bar\", \"7\"]\n , \"m\" : [\"--bloo\", \"medium\"]\n , \"p\" : [\"--pick\"]\n , \"f\" : [\"--flag\", \"true\"]\n , \"g\" : [\"--flag\"]\n , \"s\" : \"--flag\"\n }\n , description = { \"foo\" : \"Something really foooooooo\"\n , \"bar\" : \"A bar thing\"\n , \"baz\" : \"More or less baz\"\n , \"flag\" : \"Flag it as well\"\n , \"pick\" : \"Or pick something\"\n }\n , defaults = { \"foo\" : null\n , \"bar\" : 42\n , \"baz\" : \"/etc/passwd\"\n , \"bloo\" : \"small\"\n , \"pick\" : false\n }\n // everything is optional.\n // knownOpts and shorthands default to {}\n // arg list defaults to process.argv\n // slice defaults to 2\n , parsed = nopt(knownOpts, shortHands, process.argv, 2)\n , usage = nopt.usage(knownOpts, shortHands, description, defaults)\n\n console.log('Usage: ')\n console.log(usage)\n\nThe output is:\n\n Usage:\n --foo, -foofoo Something really foooooooo null \n --bar, -b7 A bar thing 42 \n --baz More or less baz /etc/passwd \n --bloo, -m small \n --flag, -f, -g, -s Flag it as well \n --pick, -p Or pick something false \n\n", - "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/isaacs/nopt/issues" - }, - "homepage": "https://github.com/isaacs/nopt", - "_id": "nopt@1.0.10", - "_from": "nopt@~1.0.10" -} diff --git a/node_modules/grunt/node_modules/rimraf/AUTHORS b/node_modules/grunt/node_modules/rimraf/AUTHORS deleted file mode 100644 index 247b75437378..000000000000 --- a/node_modules/grunt/node_modules/rimraf/AUTHORS +++ /dev/null @@ -1,6 +0,0 @@ -# Authors sorted by whether or not they're me. -Isaac Z. Schlueter (http://blog.izs.me) -Wayne Larsen (http://github.com/wvl) -ritch -Marcel Laverdet -Yosef Dinerstein diff --git a/node_modules/grunt/node_modules/rimraf/LICENSE b/node_modules/grunt/node_modules/rimraf/LICENSE deleted file mode 100644 index 05a4010949ca..000000000000 --- a/node_modules/grunt/node_modules/rimraf/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright 2009, 2010, 2011 Isaac Z. Schlueter. -All rights reserved. - -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. diff --git a/node_modules/grunt/node_modules/rimraf/README.md b/node_modules/grunt/node_modules/rimraf/README.md deleted file mode 100644 index cd123b65248e..000000000000 --- a/node_modules/grunt/node_modules/rimraf/README.md +++ /dev/null @@ -1,30 +0,0 @@ -`rm -rf` for node. - -Install with `npm install rimraf`, or just drop rimraf.js somewhere. - -## API - -`rimraf(f, callback)` - -The callback will be called with an error if there is one. Certain -errors are handled for you: - -* Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of - `opts.maxBusyTries` times before giving up. -* `ENOENT` - If the file doesn't exist, rimraf will return - successfully, since your desired outcome is already the case. - -## rimraf.sync - -It can remove stuff synchronously, too. But that's not so good. Use -the async API. It's better. - -## CLI - -If installed with `npm install rimraf -g` it can be used as a global -command `rimraf ` which is useful for cross platform support. - -## mkdirp - -If you need to create a directory recursively, check out -[mkdirp](https://github.com/substack/node-mkdirp). diff --git a/node_modules/grunt/node_modules/rimraf/bin.js b/node_modules/grunt/node_modules/rimraf/bin.js deleted file mode 100755 index 29bfa8a63288..000000000000 --- a/node_modules/grunt/node_modules/rimraf/bin.js +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env node - -var rimraf = require('./') - -var help = false -var dashdash = false -var args = process.argv.slice(2).filter(function(arg) { - if (dashdash) - return !!arg - else if (arg === '--') - dashdash = true - else if (arg.match(/^(-+|\/)(h(elp)?|\?)$/)) - help = true - else - return !!arg -}); - -if (help || args.length === 0) { - // If they didn't ask for help, then this is not a "success" - var log = help ? console.log : console.error - log('Usage: rimraf ') - log('') - log(' Deletes all files and folders at "path" recursively.') - log('') - log('Options:') - log('') - log(' -h, --help Display this usage info') - process.exit(help ? 0 : 1) -} else { - args.forEach(function(arg) { - rimraf.sync(arg) - }) -} diff --git a/node_modules/grunt/node_modules/rimraf/package.json b/node_modules/grunt/node_modules/rimraf/package.json deleted file mode 100644 index c99995c9600b..000000000000 --- a/node_modules/grunt/node_modules/rimraf/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "rimraf", - "version": "2.2.6", - "main": "rimraf.js", - "description": "A deep deletion module for node (like `rm -rf`)", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "license": { - "type": "MIT", - "url": "https://github.com/isaacs/rimraf/raw/master/LICENSE" - }, - "repository": { - "type": "git", - "url": "git://github.com/isaacs/rimraf.git" - }, - "scripts": { - "test": "cd test && bash run.sh" - }, - "bin": { - "rimraf": "./bin.js" - }, - "contributors": [ - { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me" - }, - { - "name": "Wayne Larsen", - "email": "wayne@larsen.st", - "url": "http://github.com/wvl" - }, - { - "name": "ritch", - "email": "skawful@gmail.com" - }, - { - "name": "Marcel Laverdet" - }, - { - "name": "Yosef Dinerstein", - "email": "yosefd@microsoft.com" - } - ], - "readme": "`rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one. Certain\nerrors are handled for you:\n\n* Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of\n `opts.maxBusyTries` times before giving up.\n* `ENOENT` - If the file doesn't exist, rimraf will return\n successfully, since your desired outcome is already the case.\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too. But that's not so good. Use\nthe async API. It's better.\n\n## CLI\n\nIf installed with `npm install rimraf -g` it can be used as a global\ncommand `rimraf ` which is useful for cross platform support.\n\n## mkdirp\n\nIf you need to create a directory recursively, check out\n[mkdirp](https://github.com/substack/node-mkdirp).\n", - "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/isaacs/rimraf/issues" - }, - "homepage": "https://github.com/isaacs/rimraf", - "_id": "rimraf@2.2.6", - "_from": "rimraf@~2.2.6" -} diff --git a/node_modules/grunt/node_modules/rimraf/rimraf.js b/node_modules/grunt/node_modules/rimraf/rimraf.js deleted file mode 100644 index ce62051fc599..000000000000 --- a/node_modules/grunt/node_modules/rimraf/rimraf.js +++ /dev/null @@ -1,178 +0,0 @@ -module.exports = rimraf -rimraf.sync = rimrafSync - -var path = require("path") -var fs = require("fs") - -// for EMFILE handling -var timeout = 0 -exports.EMFILE_MAX = 1000 -exports.BUSYTRIES_MAX = 3 - -var isWindows = (process.platform === "win32") - -function rimraf (p, cb) { - if (!cb) throw new Error("No callback passed to rimraf()") - - var busyTries = 0 - rimraf_(p, function CB (er) { - if (er) { - if (isWindows && (er.code === "EBUSY" || er.code === "ENOTEMPTY") && - busyTries < exports.BUSYTRIES_MAX) { - busyTries ++ - var time = busyTries * 100 - // try again, with the same exact callback as this one. - return setTimeout(function () { - rimraf_(p, CB) - }, time) - } - - // this one won't happen if graceful-fs is used. - if (er.code === "EMFILE" && timeout < exports.EMFILE_MAX) { - return setTimeout(function () { - rimraf_(p, CB) - }, timeout ++) - } - - // already gone - if (er.code === "ENOENT") er = null - } - - timeout = 0 - cb(er) - }) -} - -// Two possible strategies. -// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR -// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR -// -// Both result in an extra syscall when you guess wrong. However, there -// are likely far more normal files in the world than directories. This -// is based on the assumption that a the average number of files per -// directory is >= 1. -// -// If anyone ever complains about this, then I guess the strategy could -// be made configurable somehow. But until then, YAGNI. -function rimraf_ (p, cb) { - fs.unlink(p, function (er) { - if (er) { - if (er.code === "ENOENT") - return cb(null) - if (er.code === "EPERM") - return (isWindows) ? fixWinEPERM(p, er, cb) : rmdir(p, er, cb) - if (er.code === "EISDIR") - return rmdir(p, er, cb) - } - return cb(er) - }) -} - -function fixWinEPERM (p, er, cb) { - fs.chmod(p, 666, function (er2) { - if (er2) - cb(er2.code === "ENOENT" ? null : er) - else - fs.stat(p, function(er3, stats) { - if (er3) - cb(er3.code === "ENOENT" ? null : er) - else if (stats.isDirectory()) - rmdir(p, er, cb) - else - fs.unlink(p, cb) - }) - }) -} - -function fixWinEPERMSync (p, er, cb) { - try { - fs.chmodSync(p, 666) - } catch (er2) { - if (er2.code !== "ENOENT") - throw er - } - - try { - var stats = fs.statSync(p) - } catch (er3) { - if (er3 !== "ENOENT") - throw er - } - - if (stats.isDirectory()) - rmdirSync(p, er) - else - fs.unlinkSync(p) -} - -function rmdir (p, originalEr, cb) { - // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS) - // if we guessed wrong, and it's not a directory, then - // raise the original error. - fs.rmdir(p, function (er) { - if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")) - rmkids(p, cb) - else if (er && er.code === "ENOTDIR") - cb(originalEr) - else - cb(er) - }) -} - -function rmkids(p, cb) { - fs.readdir(p, function (er, files) { - if (er) - return cb(er) - var n = files.length - if (n === 0) - return fs.rmdir(p, cb) - var errState - files.forEach(function (f) { - rimraf(path.join(p, f), function (er) { - if (errState) - return - if (er) - return cb(errState = er) - if (--n === 0) - fs.rmdir(p, cb) - }) - }) - }) -} - -// this looks simpler, and is strictly *faster*, but will -// tie up the JavaScript thread and fail on excessively -// deep directory trees. -function rimrafSync (p) { - try { - fs.unlinkSync(p) - } catch (er) { - if (er.code === "ENOENT") - return - if (er.code === "EPERM") - return isWindows ? fixWinEPERMSync(p, er) : rmdirSync(p, er) - if (er.code !== "EISDIR") - throw er - rmdirSync(p, er) - } -} - -function rmdirSync (p, originalEr) { - try { - fs.rmdirSync(p) - } catch (er) { - if (er.code === "ENOENT") - return - if (er.code === "ENOTDIR") - throw originalEr - if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM") - rmkidsSync(p) - } -} - -function rmkidsSync (p) { - fs.readdirSync(p).forEach(function (f) { - rimrafSync(path.join(p, f)) - }) - fs.rmdirSync(p) -} diff --git a/node_modules/grunt/node_modules/rimraf/test/run.sh b/node_modules/grunt/node_modules/rimraf/test/run.sh deleted file mode 100644 index 598f0163b231..000000000000 --- a/node_modules/grunt/node_modules/rimraf/test/run.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -set -e -for i in test-*.js; do - echo -n $i ... - bash setup.sh - node $i - ! [ -d target ] - echo "pass" -done -rm -rf target diff --git a/node_modules/grunt/node_modules/rimraf/test/setup.sh b/node_modules/grunt/node_modules/rimraf/test/setup.sh deleted file mode 100644 index 2602e631602d..000000000000 --- a/node_modules/grunt/node_modules/rimraf/test/setup.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -set -e - -files=10 -folders=2 -depth=4 -target="$PWD/target" - -rm -rf target - -fill () { - local depth=$1 - local files=$2 - local folders=$3 - local target=$4 - - if ! [ -d $target ]; then - mkdir -p $target - fi - - local f - - f=$files - while [ $f -gt 0 ]; do - touch "$target/f-$depth-$f" - let f-- - done - - let depth-- - - if [ $depth -le 0 ]; then - return 0 - fi - - f=$folders - while [ $f -gt 0 ]; do - mkdir "$target/folder-$depth-$f" - fill $depth $files $folders "$target/d-$depth-$f" - let f-- - done -} - -fill $depth $files $folders $target - -# sanity assert -[ -d $target ] diff --git a/node_modules/grunt/node_modules/rimraf/test/test-async.js b/node_modules/grunt/node_modules/rimraf/test/test-async.js deleted file mode 100644 index 9c2e0b7be0ef..000000000000 --- a/node_modules/grunt/node_modules/rimraf/test/test-async.js +++ /dev/null @@ -1,5 +0,0 @@ -var rimraf = require("../rimraf") - , path = require("path") -rimraf(path.join(__dirname, "target"), function (er) { - if (er) throw er -}) diff --git a/node_modules/grunt/node_modules/rimraf/test/test-sync.js b/node_modules/grunt/node_modules/rimraf/test/test-sync.js deleted file mode 100644 index eb71f10476e8..000000000000 --- a/node_modules/grunt/node_modules/rimraf/test/test-sync.js +++ /dev/null @@ -1,3 +0,0 @@ -var rimraf = require("../rimraf") - , path = require("path") -rimraf.sync(path.join(__dirname, "target")) diff --git a/node_modules/grunt/node_modules/underscore.string/.travis.yml b/node_modules/grunt/node_modules/underscore.string/.travis.yml deleted file mode 100644 index ab27b29b7188..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -language: ruby -rvm: - - 1.9.3 - -before_script: - - "export DISPLAY=:99.0" - - "sh -e /etc/init.d/xvfb start" - - sleep 2 \ No newline at end of file diff --git a/node_modules/grunt/node_modules/underscore.string/Gemfile b/node_modules/grunt/node_modules/underscore.string/Gemfile deleted file mode 100644 index f0248273969a..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source :rubygems - -gem 'serve' -gem 'uglifier' -gem 'rake' \ No newline at end of file diff --git a/node_modules/grunt/node_modules/underscore.string/Gemfile.lock b/node_modules/grunt/node_modules/underscore.string/Gemfile.lock deleted file mode 100644 index a6bb1e73a1e5..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/Gemfile.lock +++ /dev/null @@ -1,34 +0,0 @@ -GEM - remote: http://rubygems.org/ - specs: - activesupport (3.2.3) - i18n (~> 0.6) - multi_json (~> 1.0) - execjs (1.3.0) - multi_json (~> 1.0) - i18n (0.6.0) - multi_json (1.2.0) - rack (1.4.1) - rack-test (0.6.1) - rack (>= 1.0) - rake (0.9.2.2) - serve (1.5.1) - activesupport (~> 3.0) - i18n - rack (~> 1.2) - rack-test (~> 0.5) - tilt (~> 1.3) - tzinfo - tilt (1.3.3) - tzinfo (0.3.33) - uglifier (1.2.4) - execjs (>= 0.3.0) - multi_json (>= 1.0.2) - -PLATFORMS - ruby - -DEPENDENCIES - rake - serve - uglifier diff --git a/node_modules/grunt/node_modules/underscore.string/README.markdown b/node_modules/grunt/node_modules/underscore.string/README.markdown deleted file mode 100644 index d2244b578150..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/README.markdown +++ /dev/null @@ -1,668 +0,0 @@ -# Underscore.string [![Build Status](https://secure.travis-ci.org/epeli/underscore.string.png?branch=master)](http://travis-ci.org/epeli/underscore.string) # - - - -Javascript lacks complete string manipulation operations. -This an attempt to fill that gap. List of build-in methods can be found -for example from [Dive Into JavaScript][d]. - -[d]: http://www.diveintojavascript.com/core-javascript-reference/the-string-object - - -As name states this an extension for [Underscore.js][u], but it can be used -independently from **_s**-global variable. But with Underscore.js you can -use Object-Oriented style and chaining: - -[u]: http://documentcloud.github.com/underscore/ - -```javascript -_(" epeli ").chain().trim().capitalize().value() -=> "Epeli" -``` - -## Download ## - - * [Development version](https://raw.github.com/epeli/underscore.string/master/lib/underscore.string.js) *Uncompressed with Comments 18kb* - * [Production version](https://github.com/epeli/underscore.string/raw/master/dist/underscore.string.min.js) *Minified 7kb* - - -## Node.js installation ## - -**npm package** - - npm install underscore.string - -**Standalone usage**: - -```javascript -var _s = require('underscore.string'); -``` - -**Integrate with Underscore.js**: - -```javascript -var _ = require('underscore'); - -// Import Underscore.string to separate object, because there are conflict functions (include, reverse, contains) -_.str = require('underscore.string'); - -// Mix in non-conflict functions to Underscore namespace if you want -_.mixin(_.str.exports()); - -// All functions, include conflict, will be available through _.str object -_.str.include('Underscore.string', 'string'); // => true -``` - -## String Functions ## - -For availability of functions in this way you need to mix in Underscore.string functions: - -```javascript -_.mixin(_.string.exports()); -``` - -otherwise functions from examples will be available through _.string or _.str objects: - -```javascript -_.str.capitalize('epeli') -=> "Epeli" -``` - -**capitalize** _.capitalize(string) - -Converts first letter of the string to uppercase. - -```javascript -_.capitalize("foo Bar") -=> "Foo Bar" -``` - -**chop** _.chop(string, step) - -```javascript -_.chop('whitespace', 3) -=> ['whi','tes','pac','e'] -``` - -**clean** _.clean(str) - -Compress some whitespaces to one. - -```javascript -_.clean(" foo bar ") -=> 'foo bar' -``` - -**chars** _.chars(str) - -```javascript -_.chars('Hello') -=> ['H','e','l','l','o'] -``` - -**includes** _.includes(string, substring) - -Tests if string contains a substring. - -```javascript -_.includes("foobar", "ob") -=> true -``` - -**include** available only through _.str object, because Underscore has function with the same name. - -```javascript -_.str.include("foobar", "ob") -=> true -``` - -**includes** function was removed - -But you can create it in this way, for compatibility with previous versions: - -```javascript -_.includes = _.str.include -``` - -**count** _.count(string, substring) - -```javascript -_('Hello world').count('l') -=> 3 -``` - -**escapeHTML** _.escapeHTML(string) - -Converts HTML special characters to their entity equivalents. - -```javascript -_('
      Blah blah blah
      ').escapeHTML(); -=> '<div>Blah blah blah</div>' -``` - -**unescapeHTML** _.unescapeHTML(string) - -Converts entity characters to HTML equivalents. - -```javascript -_('<div>Blah blah blah</div>').unescapeHTML(); -=> '
      Blah blah blah
      ' -``` - -**insert** _.insert(string, index, substing) - -```javascript -_('Hello ').insert(6, 'world') -=> 'Hello world' -``` - -**isBlank** _.isBlank(string) - -```javascript -_('').isBlank(); // => true -_('\n').isBlank(); // => true -_(' ').isBlank(); // => true -_('a').isBlank(); // => false -``` - -**join** _.join(separator, *strings) - -Joins strings together with given separator - -```javascript -_.join(" ", "foo", "bar") -=> "foo bar" -``` - -**lines** _.lines(str) - -```javascript -_.lines("Hello\nWorld") -=> ["Hello", "World"] -``` - -**reverse** available only through _.str object, because Underscore has function with the same name. - -Return reversed string: - -```javascript -_.str.reverse("foobar") -=> 'raboof' -``` - -**splice** _.splice(string, index, howmany, substring) - -Like a array splice. - -```javascript -_('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli') -=> 'https://edtsech@bitbucket.org/epeli/underscore.strings' -``` - -**startsWith** _.startsWith(string, starts) - -This method checks whether string starts with starts. - -```javascript -_("image.gif").startsWith("image") -=> true -``` - -**endsWith** _.endsWith(string, ends) - -This method checks whether string ends with ends. - -```javascript -_("image.gif").endsWith("gif") -=> true -``` - -**succ** _.succ(str) - -Returns the successor to str. - -```javascript -_('a').succ() -=> 'b' - -_('A').succ() -=> 'B' -``` - -**supplant** - -Supplant function was removed, use Underscore.js [template function][p]. - -[p]: http://documentcloud.github.com/underscore/#template - -**strip** alias for *trim* - -**lstrip** alias for *ltrim* - -**rstrip** alias for *rtrim* - -**titleize** _.titleize(string) - -```javascript -_('my name is epeli').titleize() -=> 'My Name Is Epeli' -``` - -**camelize** _.camelize(string) - -Converts underscored or dasherized string to a camelized one - -```javascript -_('-moz-transform').camelize() -=> 'MozTransform' -``` - -**classify** _.classify(string) - -Converts string to camelized class name - -```javascript -_('some_class_name').classify() -=> 'SomeClassName' -``` - -**underscored** _.underscored(string) - -Converts a camelized or dasherized string into an underscored one - -```javascript -_('MozTransform').underscored() -=> 'moz_transform' -``` - -**dasherize** _.dasherize(string) - -Converts a underscored or camelized string into an dasherized one - -```javascript -_('MozTransform').dasherize() -=> '-moz-transform' -``` - -**humanize** _.humanize(string) - -Converts an underscored, camelized, or dasherized string into a humanized one. -Also removes beginning and ending whitespace, and removes the postfix '_id'. - -```javascript -_(' capitalize dash-CamelCase_underscore trim ').humanize() -=> 'Capitalize dash camel case underscore trim' -``` - -**trim** _.trim(string, [characters]) - -trims defined characters from begining and ending of the string. -Defaults to whitespace characters. - -```javascript -_.trim(" foobar ") -=> "foobar" - -_.trim("_-foobar-_", "_-") -=> "foobar" -``` - - -**ltrim** _.ltrim(string, [characters]) - -Left trim. Similar to trim, but only for left side. - - -**rtrim** _.rtrim(string, [characters]) - -Right trim. Similar to trim, but only for right side. - -**truncate** _.truncate(string, length, truncateString) - -```javascript -_('Hello world').truncate(5) -=> 'Hello...' - -_('Hello').truncate(10) -=> 'Hello' -``` - -**prune** _.prune(string, length, pruneString) - -Elegant version of truncate. -Makes sure the pruned string does not exceed the original length. -Avoid half-chopped words when truncating. - -```javascript -_('Hello, world').prune(5) -=> 'Hello...' - -_('Hello, world').prune(8) -=> 'Hello...' - -_('Hello, world').prune(5, ' (read a lot more)') -=> 'Hello, world' (as adding "(read a lot more)" would be longer than the original string) - -_('Hello, cruel world').prune(15) -=> 'Hello, cruel...' - -_('Hello').prune(10) -=> 'Hello' -``` - -**words** _.words(str, delimiter=" ") - -Split string by delimiter (String or RegExp), ' ' by default. - -```javascript -_.words("I love you") -=> ["I","love","you"] - -_.words("I_love_you", "_") -=> ["I","love","you"] - -_.words("I-love-you", /-/) -=> ["I","love","you"] -``` - -**sprintf** _.sprintf(string format, *arguments) - -C like string formatting. -Credits goes to [Alexandru Marasteanu][o]. -For more detailed documentation, see the [original page][o]. - -[o]: http://www.diveintojavascript.com/projects/sprintf-for-javascript - -```javascript -_.sprintf("%.1f", 1.17) -"1.2" -``` - -**pad** _.pad(str, length, [padStr, type]) - -pads the `str` with characters until the total string length is equal to the passed `length` parameter. By default, pads on the **left** with the space char (`" "`). `padStr` is truncated to a single character if necessary. - -```javascript -_.pad("1", 8) --> " 1"; - -_.pad("1", 8, '0') --> "00000001"; - -_.pad("1", 8, '0', 'right') --> "10000000"; - -_.pad("1", 8, '0', 'both') --> "00001000"; - -_.pad("1", 8, 'bleepblorp', 'both') --> "bbbb1bbb"; -``` - -**lpad** _.lpad(str, length, [padStr]) - -left-pad a string. Alias for `pad(str, length, padStr, 'left')` - -```javascript -_.lpad("1", 8, '0') --> "00000001"; -``` - -**rpad** _.rpad(str, length, [padStr]) - -right-pad a string. Alias for `pad(str, length, padStr, 'right')` - -```javascript -_.rpad("1", 8, '0') --> "10000000"; -``` - -**lrpad** _.lrpad(str, length, [padStr]) - -left/right-pad a string. Alias for `pad(str, length, padStr, 'both')` - -```javascript -_.lrpad("1", 8, '0') --> "00001000"; -``` - -**center** alias for **lrpad** - -**ljust** alias for *rpad* - -**rjust** alias for *lpad* - -**toNumber** _.toNumber(string, [decimals]) - -Parse string to number. Returns NaN if string can't be parsed to number. - -```javascript -_('2.556').toNumber() -=> 3 - -_('2.556').toNumber(1) -=> 2.6 -``` - -**strRight** _.strRight(string, pattern) - -Searches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found. - -```javascript -_('This_is_a_test_string').strRight('_') -=> "is_a_test_string"; -``` - -**strRightBack** _.strRightBack(string, pattern) - -Searches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found. - -```javascript -_('This_is_a_test_string').strRightBack('_') -=> "string"; -``` - -**strLeft** _.strLeft(string, pattern) - -Searches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found. - -```javascript -_('This_is_a_test_string').strLeft('_') -=> "This"; -``` - -**strLeftBack** _.strLeftBack(string, pattern) - -Searches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found. - -```javascript -_('This_is_a_test_string').strLeftBack('_') -=> "This_is_a_test"; -``` - -**stripTags** - -Removes all html tags from string. - -```javascript -_('a link').stripTags() -=> 'a link' - -_('a link').stripTags() -=> 'a linkalert("hello world!")' -``` - -**toSentence** _.toSentence(array, [delimiter, lastDelimiter]) - -Join an array into a human readable sentence. - -```javascript -_.toSentence(['jQuery', 'Mootools', 'Prototype']) -=> 'jQuery, Mootools and Prototype'; - -_.toSentence(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt ') -=> 'jQuery, Mootools unt Prototype'; -``` - -**repeat** _.repeat(string, count, [separator]) - -Repeats a string count times. - -```javascript -_.repeat("foo", 3) -=> 'foofoofoo'; - -_.repeat("foo", 3, "bar") -=> 'foobarfoobarfoo' -``` - -**slugify** _.slugify(string) - -Transform text into a URL slug. Replaces whitespaces, accentuated, and special characters with a dash. - -```javascript -_.slugify("Un éléphant à l'orée du bois") -=> 'un-elephant-a-loree-du-bois'; -``` - -***Caution: this function is charset dependent*** - -## Roadmap ## - -Any suggestions or bug reports are welcome. Just email me or more preferably open an issue. - -## Changelog ## - -### 2.0.0 ### - -* Added prune, humanize functions -* Added _.string (_.str) namespace for Underscore.string library -* Removed includes function - -#### Problems - -We lose two things for `include` and `reverse` methods from `_.string`: - -* Calls like `_('foobar').include('bar')` aren't available; -* Chaining isn't available too. - -But if you need this functionality you can create aliases for conflict functions which will be convenient for you: - -```javascript -_.mixin({ - includeString: _.str.include, - reverseString: _.str.reverse -}) - -// Now wrapper calls and chaining are available. -_('foobar').chain().reverseString().includeString('rab').value() -``` - -#### Standalone Usage - -If you are using Underscore.string without Underscore. You also have `_.string` namespace for it and `_.str` alias -But of course you can just reassign `_` variable with `_.string` - -```javascript -_ = _.string -``` -### 2.2.0 ### - -* Capitalize method behavior changed -* Various perfomance tweaks - -### 2.1.1### - -* Fixed words method bug -* Added classify method - -### 2.1.0 ### - -* AMD support -* Added toSentence method -* Added slugify method -* Lots of speed optimizations - -### 2.0.0 ### - -For upgrading to this version you need to mix in Underscore.string library to Underscore object: - -```javascript -_.mixin(_.string.exports()); -``` - -and all non-conflict Underscore.string functions will be available through Underscore object. -Also function `includes` has been removed, you should replace this function by `_.str.include` -or create alias `_.includes = _.str.include` and all your code will work fine. - -### 1.1.6 ### - -* Fixed reverse and truncate -* Added isBlank, stripTags, inlude(alias for includes) -* Added uglifier compression - -### 1.1.5 ### - -* Added strRight, strRightBack, strLeft, strLeftBack - -### 1.1.4 ### - -* Added pad, lpad, rpad, lrpad methods and aliases center, ljust, rjust -* Integration with Underscore 1.1.6 - -### 1.1.3 ### - -* Added methods: underscored, camelize, dasherize -* Support newer version of npm - -### 1.1.2 ### - -* Created functions: lines, chars, words functions - -### 1.0.2 ### - -* Created integration test suite with underscore.js 1.1.4 (now it's absolutely compatible) -* Removed 'reverse' function, because this function override underscore.js 'reverse' - -## Contribute ## - -* Fork & pull request. Don't forget about tests. -* If you planning add some feature please create issue before. - -Otherwise changes will be rejected. - -## Contributors list ## - -* Esa-Matti Suuronen (), -* Edward Tsech , -* Sasha Koss (), -* Vladimir Dronnikov , -* Pete Kruckenberg (), -* Paul Chavard (), -* Ed Finkler () -* Pavel Pravosud -* Anton Lindqvist () - -## Licence ## - -The MIT License - -Copyright (c) 2011 Esa-Matti Suuronen esa-matti@suuronen.org - -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. diff --git a/node_modules/grunt/node_modules/underscore.string/Rakefile b/node_modules/grunt/node_modules/underscore.string/Rakefile deleted file mode 100644 index baa164cd934f..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/Rakefile +++ /dev/null @@ -1,28 +0,0 @@ -# encoding: utf-8 -task default: :test - -desc 'Use UglifyJS to compress Underscore.string' -task :build do - require 'uglifier' - source = File.read('lib/underscore.string.js') - compressed = Uglifier.compile(source, copyright: false) - File.open('dist/underscore.string.min.js', 'w'){ |f| f.write compressed } - compression_rate = compressed.length.to_f/source.length - puts "compressed dist/underscore.string.min.js: #{compressed.length}/#{source.length} #{(compression_rate * 100).round}%" -end - -desc 'Run tests' -task :test do - pid = spawn('bundle exec serve', err: '/dev/null') - sleep 2 - - puts "Running underscore.string test suite." - result1 = system %{phantomjs ./test/run-qunit.js "http://localhost:4000/test/test.html"} - - puts "Running Underscore test suite." - result2 = system %{phantomjs ./test/run-qunit.js "http://localhost:4000/test/test_underscore/test.html"} - - Process.kill 'INT', pid - - exit(result1 && result2 ? 0 : 1) -end \ No newline at end of file diff --git a/node_modules/grunt/node_modules/underscore.string/dist/underscore.string.min.js b/node_modules/grunt/node_modules/underscore.string/dist/underscore.string.min.js deleted file mode 100644 index cd436e192d8e..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/dist/underscore.string.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(a){"use strict";var b=String.prototype.trim,c=String.prototype.trimRight,d=String.prototype.trimLeft,e=function(a){return a*1||0},f=function(a,b,c){a+="",b=~~b;for(var d=[];b>0;d[--b]=a);return d.join(c==null?"":c)},g=function(a){return Array.prototype.slice.call(a)},h=function(a){return a!=null?"["+m.escapeRegExp(""+a)+"]":"\\s"},i={lt:"<",gt:">",quot:'"',apos:"'",amp:"&"},j={};for(var k in i)j[i[k]]=k;var l=function(){function a(a){return Object.prototype.toString.call(a).slice(8,-1).toLowerCase()}var b=f,c=function(){return c.cache.hasOwnProperty(arguments[0])||(c.cache[arguments[0]]=c.parse(arguments[0])),c.format.call(null,c.cache[arguments[0]],arguments)};return c.format=function(c,d){var e=1,f=c.length,g="",h,i=[],j,k,m,n,o,p;for(j=0;j=0?"+"+h:h,o=m[4]?m[4]=="0"?"0":m[4].charAt(1):" ",p=m[6]-String(h).length,n=m[6]?b(o,p):"",i.push(m[5]?h+n:n+h)}}return i.join("")},c.cache={},c.parse=function(a){var b=a,c=[],d=[],e=0;while(b){if((c=/^[^\x25]+/.exec(b))!==null)d.push(c[0]);else if((c=/^\x25{2}/.exec(b))!==null)d.push("%");else{if((c=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(b))===null)throw new Error("[_.sprintf] huh?");if(c[2]){e|=1;var f=[],g=c[2],h=[];if((h=/^([a-z_][a-z_\d]*)/i.exec(g))===null)throw new Error("[_.sprintf] huh?");f.push(h[1]);while((g=g.substring(h[0].length))!=="")if((h=/^\.([a-z_][a-z_\d]*)/i.exec(g))!==null)f.push(h[1]);else{if((h=/^\[(\d+)\]/.exec(g))===null)throw new Error("[_.sprintf] huh?");f.push(h[1])}c[2]=f}else e|=2;if(e===3)throw new Error("[_.sprintf] mixing positional and named placeholders is not (yet) supported");d.push(c)}b=b.substring(c[0].length)}return d},c}(),m={VERSION:"2.1.1",isBlank:function(a){return/^\s*$/.test(a)},stripTags:function(a){return(""+a).replace(/<\/?[^>]+>/g,"")},capitalize:function(a){return a+="",a.charAt(0).toUpperCase()+a.substring(1)},chop:function(a,b){a+="",b=~~b||a.length;var c=[];for(var d=0;d"']/g,function(a){return"&"+j[a]+";"})},unescapeHTML:function(a){return(""+a).replace(/\&([^;]+);/g,function(a,b){var c;return b in i?i[b]:(c=b.match(/^#x([\da-fA-F]+)$/))?String.fromCharCode(parseInt(c[1],16)):(c=b.match(/^#(\d+)$/))?String.fromCharCode(~~c[1]):a})},escapeRegExp:function(a){return a.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},insert:function(a,b,c){var d=m.chars(a);return d.splice(~~b,0,""+c),d.join("")},include:function(a,b){return!!~(""+a).indexOf(b)},join:function(){var a=g(arguments);return a.join(a.shift())},lines:function(a){return(""+a).split("\n")},reverse:function(a){return m.chars(a).reverse().join("")},splice:function(a,b,c,d){var e=m.chars(a);return e.splice(~~b,~~c,d),e.join("")},startsWith:function(a,b){return a+="",b+="",a.length>=b.length&&a.substring(0,b.length)===b},endsWith:function(a,b){return a+="",b+="",a.length>=b.length&&a.substring(a.length-b.length)===b},succ:function(a){a+="";var b=m.chars(a);return b.splice(a.length-1,1,String.fromCharCode(a.charCodeAt(a.length-1)+1)),b.join("")},titleize:function(a){return(""+a).replace(/\b./g,function(a){return a.toUpperCase()})},camelize:function(a){return m.trim(a).replace(/[-_\s]+(.)?/g,function(a,b){return b&&b.toUpperCase()})},underscored:function(a){return m.trim(a).replace(/([a-z\d])([A-Z]+)/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()},dasherize:function(a){return m.trim(a).replace(/[_\s]+/g,"-").replace(/([A-Z])/g,"-$1").replace(/-+/g,"-").toLowerCase()},classify:function(a){return a+="",m.titleize(a.replace(/_/g," ")).replace(/\s/g,"")},humanize:function(a){return m.capitalize(this.underscored(a).replace(/_id$/,"").replace(/_/g," "))},trim:function(a,c){return a+="",!c&&b?b.call(a):(c=h(c),a.replace(new RegExp("^"+c+"+|"+c+"+$","g"),""))},ltrim:function(a,b){return a+="",!b&&d?d.call(a):(b=h(b),a.replace(new RegExp("^"+b+"+"),""))},rtrim:function(a,b){return a+="",!b&&c?c.call(a):(b=h(b),a.replace(new RegExp(b+"+$"),""))},truncate:function(a,b,c){return a+="",c=c||"...",b=~~b,a.length>b?a.slice(0,b)+c:a},prune:function(a,b,c){a+="",b=~~b,c=c!=null?""+c:"...";var d,e,f=a.replace(/\W/g,function(a){return a.toUpperCase()!==a.toLowerCase()?"A":" "});return e=f.charAt(b),d=f.slice(0,b),e&&e.match(/\S/)&&(d=d.replace(/\s\S+$/,"")),d=m.rtrim(d),(d+c).length>a.length?a:a.substring(0,d.length)+c},words:function(a,b){return m.trim(a,b).split(b||/\s+/)},pad:function(a,b,c,d){a+="";var e=0;b=~~b,c?c.length>1&&(c=c.charAt(0)):c=" ";switch(d){case"right":return e=b-a.length,a+f(c,e);case"both":return e=b-a.length,f(c,Math.ceil(e/2))+a+f(c,Math.floor(e/2));default:return e=b-a.length,f(c,e)+a}},lpad:function(a,b,c){return m.pad(a,b,c)},rpad:function(a,b,c){return m.pad(a,b,c,"right")},lrpad:function(a,b,c){return m.pad(a,b,c,"both")},sprintf:l,vsprintf:function(a,b){return b.unshift(a),l.apply(null,b)},toNumber:function(a,b){a+="";var c=e(e(a).toFixed(~~b));return c===0&&!a.match(/^0+$/)?Number.NaN:c},strRight:function(a,b){a+="",b=b!=null?""+b:b;var c=b?a.indexOf(b):-1;return~c?a.slice(c+b.length,a.length):a},strRightBack:function(a,b){a+="",b=b!=null?""+b:b;var c=b?a.lastIndexOf(b):-1;return~c?a.slice(c+b.length,a.length):a},strLeft:function(a,b){a+="",b=b!=null?""+b:b;var c=b?a.indexOf(b):-1;return~c?a.slice(0,c):a},strLeftBack:function(a,b){a+="",b=b!=null?""+b:b;var c=a.lastIndexOf(b);return~c?a.slice(0,c):a},toSentence:function(a,b,c){b||(b=", "),c||(c=" and ");var d=a.length,e="";for(var f=0;f -// Underscore.strings is freely distributable under the terms of the MIT license. -// Documentation: https://github.com/epeli/underscore.string -// Some code is borrowed from MooTools and Alexandru Marasteanu. - -// Version 2.2.0rc - -(function(root){ - 'use strict'; - - // Defining helper functions. - - var nativeTrim = String.prototype.trim; - var nativeTrimRight = String.prototype.trimRight; - var nativeTrimLeft = String.prototype.trimLeft; - - var parseNumber = function(source) { return source * 1 || 0; }; - - var strRepeat = function(str, qty, separator){ - // ~~var — is the fastest available way to convert anything to Integer in javascript. - // We'll use it extensively in this lib. - str += ''; qty = ~~qty; - for (var repeat = []; qty > 0; repeat[--qty] = str) {} - return repeat.join(separator == null ? '' : separator); - }; - - var slice = function(a){ - return Array.prototype.slice.call(a); - }; - - var defaultToWhiteSpace = function(characters){ - if (characters != null) { - return '[' + _s.escapeRegExp(''+characters) + ']'; - } - return '\\s'; - }; - - var escapeChars = { - lt: '<', - gt: '>', - quot: '"', - apos: "'", - amp: '&' - }; - - var reversedEscapeChars = {}; - for(var key in escapeChars){ reversedEscapeChars[escapeChars[key]] = key; } - - // sprintf() for JavaScript 0.7-beta1 - // http://www.diveintojavascript.com/projects/javascript-sprintf - // - // Copyright (c) Alexandru Marasteanu - // All rights reserved. - - var sprintf = (function() { - function get_type(variable) { - return Object.prototype.toString.call(variable).slice(8, -1).toLowerCase(); - } - - var str_repeat = strRepeat; - - var str_format = function() { - if (!str_format.cache.hasOwnProperty(arguments[0])) { - str_format.cache[arguments[0]] = str_format.parse(arguments[0]); - } - return str_format.format.call(null, str_format.cache[arguments[0]], arguments); - }; - - str_format.format = function(parse_tree, argv) { - var cursor = 1, tree_length = parse_tree.length, node_type = '', arg, output = [], i, k, match, pad, pad_character, pad_length; - for (i = 0; i < tree_length; i++) { - node_type = get_type(parse_tree[i]); - if (node_type === 'string') { - output.push(parse_tree[i]); - } - else if (node_type === 'array') { - match = parse_tree[i]; // convenience purposes only - if (match[2]) { // keyword argument - arg = argv[cursor]; - for (k = 0; k < match[2].length; k++) { - if (!arg.hasOwnProperty(match[2][k])) { - throw new Error(sprintf('[_.sprintf] property "%s" does not exist', match[2][k])); - } - arg = arg[match[2][k]]; - } - } else if (match[1]) { // positional argument (explicit) - arg = argv[match[1]]; - } - else { // positional argument (implicit) - arg = argv[cursor++]; - } - - if (/[^s]/.test(match[8]) && (get_type(arg) != 'number')) { - throw new Error(sprintf('[_.sprintf] expecting number but found %s', get_type(arg))); - } - switch (match[8]) { - case 'b': arg = arg.toString(2); break; - case 'c': arg = String.fromCharCode(arg); break; - case 'd': arg = parseInt(arg, 10); break; - case 'e': arg = match[7] ? arg.toExponential(match[7]) : arg.toExponential(); break; - case 'f': arg = match[7] ? parseFloat(arg).toFixed(match[7]) : parseFloat(arg); break; - case 'o': arg = arg.toString(8); break; - case 's': arg = ((arg = String(arg)) && match[7] ? arg.substring(0, match[7]) : arg); break; - case 'u': arg = Math.abs(arg); break; - case 'x': arg = arg.toString(16); break; - case 'X': arg = arg.toString(16).toUpperCase(); break; - } - arg = (/[def]/.test(match[8]) && match[3] && arg >= 0 ? '+'+ arg : arg); - pad_character = match[4] ? match[4] == '0' ? '0' : match[4].charAt(1) : ' '; - pad_length = match[6] - String(arg).length; - pad = match[6] ? str_repeat(pad_character, pad_length) : ''; - output.push(match[5] ? arg + pad : pad + arg); - } - } - return output.join(''); - }; - - str_format.cache = {}; - - str_format.parse = function(fmt) { - var _fmt = fmt, match = [], parse_tree = [], arg_names = 0; - while (_fmt) { - if ((match = /^[^\x25]+/.exec(_fmt)) !== null) { - parse_tree.push(match[0]); - } - else if ((match = /^\x25{2}/.exec(_fmt)) !== null) { - parse_tree.push('%'); - } - else if ((match = /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt)) !== null) { - if (match[2]) { - arg_names |= 1; - var field_list = [], replacement_field = match[2], field_match = []; - if ((field_match = /^([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { - field_list.push(field_match[1]); - while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { - if ((field_match = /^\.([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { - field_list.push(field_match[1]); - } - else if ((field_match = /^\[(\d+)\]/.exec(replacement_field)) !== null) { - field_list.push(field_match[1]); - } - else { - throw new Error('[_.sprintf] huh?'); - } - } - } - else { - throw new Error('[_.sprintf] huh?'); - } - match[2] = field_list; - } - else { - arg_names |= 2; - } - if (arg_names === 3) { - throw new Error('[_.sprintf] mixing positional and named placeholders is not (yet) supported'); - } - parse_tree.push(match); - } - else { - throw new Error('[_.sprintf] huh?'); - } - _fmt = _fmt.substring(match[0].length); - } - return parse_tree; - }; - - return str_format; - })(); - - - - // Defining underscore.string - - var _s = { - - VERSION: '2.2.0rc', - - isBlank: function(str){ - return (/^\s*$/).test(str); - }, - - stripTags: function(str){ - return (''+str).replace(/<\/?[^>]+>/g, ''); - }, - - capitalize : function(str) { - str += ''; - return str.charAt(0).toUpperCase() + str.substring(1); - }, - - chop: function(str, step){ - str = str+''; - step = ~~step || str.length; - var arr = []; - for (var i = 0; i < str.length; i += step) - arr.push(str.slice(i,i + step)); - return arr; - }, - - clean: function(str){ - return _s.strip(str).replace(/\s+/g, ' '); - }, - - count: function(str, substr){ - str += ''; substr += ''; - return str.split(substr).length - 1; - }, - - chars: function(str) { - return (''+str).split(''); - }, - - escapeHTML: function(str) { - return (''+str).replace(/[&<>"']/g, function(match){ return '&' + reversedEscapeChars[match] + ';'; }); - }, - - unescapeHTML: function(str) { - return (''+str).replace(/\&([^;]+);/g, function(entity, entityCode){ - var match; - - if (entityCode in escapeChars) { - return escapeChars[entityCode]; - } else if (match = entityCode.match(/^#x([\da-fA-F]+)$/)) { - return String.fromCharCode(parseInt(match[1], 16)); - } else if (match = entityCode.match(/^#(\d+)$/)) { - return String.fromCharCode(~~match[1]); - } else { - return entity; - } - }); - }, - - escapeRegExp: function(str){ - // From MooTools core 1.2.4 - return str.replace(/([-.*+?^${}()|[\]\/\\])/g, '\\$1'); - }, - - insert: function(str, i, substr){ - var arr = _s.chars(str); - arr.splice(~~i, 0, ''+substr); - return arr.join(''); - }, - - include: function(str, needle){ - return !!~(''+str).indexOf(needle); - }, - - join: function() { - var args = slice(arguments); - return args.join(args.shift()); - }, - - lines: function(str) { - return (''+str).split("\n"); - }, - - reverse: function(str){ - return _s.chars(str).reverse().join(''); - }, - - splice: function(str, i, howmany, substr){ - var arr = _s.chars(str); - arr.splice(~~i, ~~howmany, substr); - return arr.join(''); - }, - - startsWith: function(str, starts){ - str += ''; starts += ''; - return str.length >= starts.length && str.substring(0, starts.length) === starts; - }, - - endsWith: function(str, ends){ - str += ''; ends += ''; - return str.length >= ends.length && str.substring(str.length - ends.length) === ends; - }, - - succ: function(str){ - str += ''; - var arr = _s.chars(str); - arr.splice(str.length-1, 1, String.fromCharCode(str.charCodeAt(str.length-1) + 1)); - return arr.join(''); - }, - - titleize: function(str){ - return (''+str).replace(/\b./g, function(ch){ return ch.toUpperCase(); }); - }, - - camelize: function(str){ - return _s.trim(str).replace(/[-_\s]+(.)?/g, function(match, chr){ - return chr && chr.toUpperCase(); - }); - }, - - underscored: function(str){ - return _s.trim(str).replace(/([a-z\d])([A-Z]+)/g, '$1_$2').replace(/[-\s]+/g, '_').toLowerCase(); - }, - - dasherize: function(str){ - return _s.trim(str).replace(/[_\s]+/g, '-').replace(/([A-Z])/g, '-$1').replace(/-+/g, '-').toLowerCase(); - }, - - classify: function(str){ - str += ''; - return _s.titleize(str.replace(/_/g, ' ')).replace(/\s/g, '') - }, - - humanize: function(str){ - return _s.capitalize(this.underscored(str).replace(/_id$/,'').replace(/_/g, ' ')); - }, - - trim: function(str, characters){ - str += ''; - if (!characters && nativeTrim) { return nativeTrim.call(str); } - characters = defaultToWhiteSpace(characters); - return str.replace(new RegExp('\^' + characters + '+|' + characters + '+$', 'g'), ''); - }, - - ltrim: function(str, characters){ - str+=''; - if (!characters && nativeTrimLeft) { - return nativeTrimLeft.call(str); - } - characters = defaultToWhiteSpace(characters); - return str.replace(new RegExp('^' + characters + '+'), ''); - }, - - rtrim: function(str, characters){ - str+=''; - if (!characters && nativeTrimRight) { - return nativeTrimRight.call(str); - } - characters = defaultToWhiteSpace(characters); - return str.replace(new RegExp(characters + '+$'), ''); - }, - - truncate: function(str, length, truncateStr){ - str += ''; truncateStr = truncateStr || '...'; - length = ~~length; - return str.length > length ? str.slice(0, length) + truncateStr : str; - }, - - /** - * _s.prune: a more elegant version of truncate - * prune extra chars, never leaving a half-chopped word. - * @author github.com/sergiokas - */ - prune: function(str, length, pruneStr){ - str += ''; length = ~~length; - pruneStr = pruneStr != null ? ''+pruneStr : '...'; - - var pruned, borderChar, template = str.replace(/\W/g, function(ch){ - return (ch.toUpperCase() !== ch.toLowerCase()) ? 'A' : ' '; - }); - - borderChar = template.charAt(length); - - pruned = template.slice(0, length); - - // Check if we're in the middle of a word - if (borderChar && borderChar.match(/\S/)) - pruned = pruned.replace(/\s\S+$/, ''); - - pruned = _s.rtrim(pruned); - - return (pruned+pruneStr).length > str.length ? str : str.substring(0, pruned.length)+pruneStr; - }, - - words: function(str, delimiter) { - return _s.trim(str, delimiter).split(delimiter || /\s+/); - }, - - pad: function(str, length, padStr, type) { - str += ''; - - var padlen = 0; - - length = ~~length; - - if (!padStr) { - padStr = ' '; - } else if (padStr.length > 1) { - padStr = padStr.charAt(0); - } - - switch(type) { - case 'right': - padlen = (length - str.length); - return str + strRepeat(padStr, padlen); - case 'both': - padlen = (length - str.length); - return strRepeat(padStr, Math.ceil(padlen/2)) + - str + - strRepeat(padStr, Math.floor(padlen/2)); - default: // 'left' - padlen = (length - str.length); - return strRepeat(padStr, padlen) + str; - } - }, - - lpad: function(str, length, padStr) { - return _s.pad(str, length, padStr); - }, - - rpad: function(str, length, padStr) { - return _s.pad(str, length, padStr, 'right'); - }, - - lrpad: function(str, length, padStr) { - return _s.pad(str, length, padStr, 'both'); - }, - - sprintf: sprintf, - - vsprintf: function(fmt, argv){ - argv.unshift(fmt); - return sprintf.apply(null, argv); - }, - - toNumber: function(str, decimals) { - str += ''; - var num = parseNumber(parseNumber(str).toFixed(~~decimals)); - return num === 0 && !str.match(/^0+$/) ? Number.NaN : num; - }, - - strRight: function(str, sep){ - str += ''; sep = sep != null ? ''+sep : sep; - var pos = !sep ? -1 : str.indexOf(sep); - return ~pos ? str.slice(pos+sep.length, str.length) : str; - }, - - strRightBack: function(str, sep){ - str += ''; sep = sep != null ? ''+sep : sep; - var pos = !sep ? -1 : str.lastIndexOf(sep); - return ~pos ? str.slice(pos+sep.length, str.length) : str; - }, - - strLeft: function(str, sep){ - str += ''; sep = sep != null ? ''+sep : sep; - var pos = !sep ? -1 : str.indexOf(sep); - return ~pos ? str.slice(0, pos) : str; - }, - - strLeftBack: function(str, sep){ - str += ''; sep = sep != null ? ''+sep : sep; - var pos = str.lastIndexOf(sep); - return ~pos ? str.slice(0, pos) : str; - }, - - toSentence: function(array, separator, lastSeparator) { - separator || (separator = ', '); - lastSeparator || (lastSeparator = ' and '); - var length = array.length, str = ''; - - for (var i = 0; i < length; i++) { - str += array[i]; - if (i === (length - 2)) { str += lastSeparator; } - else if (i < (length - 1)) { str += separator; } - } - - return str; - }, - - slugify: function(str) { - var from = "ąàáäâãćęèéëêìíïîłńòóöôõùúüûñçżź", - to = "aaaaaaceeeeeiiiilnooooouuuunczz", - regex = new RegExp(defaultToWhiteSpace(from), 'g'); - - str = (''+str).toLowerCase(); - - str = str.replace(regex, function(ch){ - var index = from.indexOf(ch); - return to.charAt(index) || '-'; - }); - - return _s.trim(str.replace(/[^\w\s-]/g, '').replace(/[-\s]+/g, '-'), '-'); - }, - - exports: function() { - var result = {}; - - for (var prop in this) { - if (!this.hasOwnProperty(prop) || ~_s.words('include contains reverse').indexOf(prop)) continue; - result[prop] = this[prop]; - } - - return result; - }, - - repeat: strRepeat - }; - - // Aliases - - _s.strip = _s.trim; - _s.lstrip = _s.ltrim; - _s.rstrip = _s.rtrim; - _s.center = _s.lrpad; - _s.rjust = _s.lpad; - _s.ljust = _s.rpad; - _s.contains = _s.include; - - // CommonJS module is defined - if (typeof exports !== 'undefined') { - if (typeof module !== 'undefined' && module.exports) { - // Export module - module.exports = _s; - } - exports._s = _s; - - } else if (typeof define === 'function' && define.amd) { - // Register as a named module with AMD. - define('underscore.string', function() { - return _s; - }); - - } else { - // Integrate with Underscore.js if defined - // or create our own underscore object. - root._ = root._ || {}; - root._.string = root._.str = _s; - } - -}(this || window)); diff --git a/node_modules/grunt/node_modules/underscore.string/package.json b/node_modules/grunt/node_modules/underscore.string/package.json deleted file mode 100644 index 6711c0a88a96..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "underscore.string", - "version": "2.2.1", - "description": "String manipulation extensions for Underscore.js javascript library.", - "homepage": "http://epeli.github.com/underscore.string/", - "contributors": [ - { - "name": "Esa-Matti Suuronen", - "email": "esa-matti@suuronen.org", - "url": "http://esa-matti.suuronen.org/" - }, - { - "name": "Edward Tsech", - "email": "edtsech@gmail.com" - }, - { - "name": "Sasha Koss", - "email": "kossnocorp@gmail.com", - "url": "http://koss.nocorp.me/" - }, - { - "name": "Vladimir Dronnikov", - "email": "dronnikov@gmail.com" - }, - { - "name": "Pete Kruckenberg", - "email": "https://github.com/kruckenb", - "url": "" - }, - { - "name": "Paul Chavard", - "email": "paul@chavard.net", - "url": "" - }, - { - "name": "Ed Finkler", - "email": "coj@funkatron.com", - "url": "" - }, - { - "name": "Pavel Pravosud", - "email": "rwz@duckroll.ru" - } - ], - "keywords": [ - "underscore", - "string" - ], - "main": "./lib/underscore.string", - "directories": { - "lib": "./lib" - }, - "engines": { - "node": "*" - }, - "repository": { - "type": "git", - "url": "https://github.com/epeli/underscore.string.git" - }, - "bugs": { - "url": "https://github.com/epeli/underscore.string/issues" - }, - "licenses": [ - { - "type": "MIT" - } - ], - "readme": "# Underscore.string [![Build Status](https://secure.travis-ci.org/epeli/underscore.string.png?branch=master)](http://travis-ci.org/epeli/underscore.string) #\n\n\n\nJavascript lacks complete string manipulation operations.\nThis an attempt to fill that gap. List of build-in methods can be found\nfor example from [Dive Into JavaScript][d].\n\n[d]: http://www.diveintojavascript.com/core-javascript-reference/the-string-object\n\n\nAs name states this an extension for [Underscore.js][u], but it can be used\nindependently from **_s**-global variable. But with Underscore.js you can\nuse Object-Oriented style and chaining:\n\n[u]: http://documentcloud.github.com/underscore/\n\n```javascript\n_(\" epeli \").chain().trim().capitalize().value()\n=> \"Epeli\"\n```\n\n## Download ##\n\n * [Development version](https://raw.github.com/epeli/underscore.string/master/lib/underscore.string.js) *Uncompressed with Comments 18kb*\n * [Production version](https://github.com/epeli/underscore.string/raw/master/dist/underscore.string.min.js) *Minified 7kb*\n\n\n## Node.js installation ##\n\n**npm package**\n\n npm install underscore.string\n\n**Standalone usage**:\n\n```javascript\nvar _s = require('underscore.string');\n```\n\n**Integrate with Underscore.js**:\n\n```javascript\nvar _ = require('underscore');\n\n// Import Underscore.string to separate object, because there are conflict functions (include, reverse, contains)\n_.str = require('underscore.string');\n\n// Mix in non-conflict functions to Underscore namespace if you want\n_.mixin(_.str.exports());\n\n// All functions, include conflict, will be available through _.str object\n_.str.include('Underscore.string', 'string'); // => true\n```\n\n## String Functions ##\n\nFor availability of functions in this way you need to mix in Underscore.string functions:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\notherwise functions from examples will be available through _.string or _.str objects:\n\n```javascript\n_.str.capitalize('epeli')\n=> \"Epeli\"\n```\n\n**capitalize** _.capitalize(string)\n\nConverts first letter of the string to uppercase.\n\n```javascript\n_.capitalize(\"foo Bar\")\n=> \"Foo Bar\"\n```\n\n**chop** _.chop(string, step)\n\n```javascript\n_.chop('whitespace', 3)\n=> ['whi','tes','pac','e']\n```\n\n**clean** _.clean(str)\n\nCompress some whitespaces to one.\n\n```javascript\n_.clean(\" foo bar \")\n=> 'foo bar'\n```\n\n**chars** _.chars(str)\n\n```javascript\n_.chars('Hello')\n=> ['H','e','l','l','o']\n```\n\n**includes** _.includes(string, substring)\n\nTests if string contains a substring.\n\n```javascript\n_.includes(\"foobar\", \"ob\")\n=> true\n```\n\n**include** available only through _.str object, because Underscore has function with the same name.\n\n```javascript\n_.str.include(\"foobar\", \"ob\")\n=> true\n```\n\n**includes** function was removed\n\nBut you can create it in this way, for compatibility with previous versions:\n\n```javascript\n_.includes = _.str.include\n```\n\n**count** _.count(string, substring)\n\n```javascript\n_('Hello world').count('l')\n=> 3\n```\n\n**escapeHTML** _.escapeHTML(string)\n\nConverts HTML special characters to their entity equivalents.\n\n```javascript\n_('
      Blah blah blah
      ').escapeHTML();\n=> '<div>Blah blah blah</div>'\n```\n\n**unescapeHTML** _.unescapeHTML(string)\n\nConverts entity characters to HTML equivalents.\n\n```javascript\n_('<div>Blah blah blah</div>').unescapeHTML();\n=> '
      Blah blah blah
      '\n```\n\n**insert** _.insert(string, index, substing)\n\n```javascript\n_('Hello ').insert(6, 'world')\n=> 'Hello world'\n```\n\n**isBlank** _.isBlank(string)\n\n```javascript\n_('').isBlank(); // => true\n_('\\n').isBlank(); // => true\n_(' ').isBlank(); // => true\n_('a').isBlank(); // => false\n```\n\n**join** _.join(separator, *strings)\n\nJoins strings together with given separator\n\n```javascript\n_.join(\" \", \"foo\", \"bar\")\n=> \"foo bar\"\n```\n\n**lines** _.lines(str)\n\n```javascript\n_.lines(\"Hello\\nWorld\")\n=> [\"Hello\", \"World\"]\n```\n\n**reverse** available only through _.str object, because Underscore has function with the same name.\n\nReturn reversed string:\n\n```javascript\n_.str.reverse(\"foobar\")\n=> 'raboof'\n```\n\n**splice** _.splice(string, index, howmany, substring)\n\nLike a array splice.\n\n```javascript\n_('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli')\n=> 'https://edtsech@bitbucket.org/epeli/underscore.strings'\n```\n\n**startsWith** _.startsWith(string, starts)\n\nThis method checks whether string starts with starts.\n\n```javascript\n_(\"image.gif\").startsWith(\"image\")\n=> true\n```\n\n**endsWith** _.endsWith(string, ends)\n\nThis method checks whether string ends with ends.\n\n```javascript\n_(\"image.gif\").endsWith(\"gif\")\n=> true\n```\n\n**succ** _.succ(str)\n\nReturns the successor to str.\n\n```javascript\n_('a').succ()\n=> 'b'\n\n_('A').succ()\n=> 'B'\n```\n\n**supplant**\n\nSupplant function was removed, use Underscore.js [template function][p].\n\n[p]: http://documentcloud.github.com/underscore/#template\n\n**strip** alias for *trim*\n\n**lstrip** alias for *ltrim*\n\n**rstrip** alias for *rtrim*\n\n**titleize** _.titleize(string)\n\n```javascript\n_('my name is epeli').titleize()\n=> 'My Name Is Epeli'\n```\n\n**camelize** _.camelize(string)\n\nConverts underscored or dasherized string to a camelized one\n\n```javascript\n_('-moz-transform').camelize()\n=> 'MozTransform'\n```\n\n**classify** _.classify(string)\n\nConverts string to camelized class name\n\n```javascript\n_('some_class_name').classify()\n=> 'SomeClassName'\n```\n\n**underscored** _.underscored(string)\n\nConverts a camelized or dasherized string into an underscored one\n\n```javascript\n_('MozTransform').underscored()\n=> 'moz_transform'\n```\n\n**dasherize** _.dasherize(string)\n\nConverts a underscored or camelized string into an dasherized one\n\n```javascript\n_('MozTransform').dasherize()\n=> '-moz-transform'\n```\n\n**humanize** _.humanize(string)\n\nConverts an underscored, camelized, or dasherized string into a humanized one.\nAlso removes beginning and ending whitespace, and removes the postfix '_id'.\n\n```javascript\n_(' capitalize dash-CamelCase_underscore trim ').humanize()\n=> 'Capitalize dash camel case underscore trim'\n```\n\n**trim** _.trim(string, [characters])\n\ntrims defined characters from begining and ending of the string.\nDefaults to whitespace characters.\n\n```javascript\n_.trim(\" foobar \")\n=> \"foobar\"\n\n_.trim(\"_-foobar-_\", \"_-\")\n=> \"foobar\"\n```\n\n\n**ltrim** _.ltrim(string, [characters])\n\nLeft trim. Similar to trim, but only for left side.\n\n\n**rtrim** _.rtrim(string, [characters])\n\nRight trim. Similar to trim, but only for right side.\n\n**truncate** _.truncate(string, length, truncateString)\n\n```javascript\n_('Hello world').truncate(5)\n=> 'Hello...'\n\n_('Hello').truncate(10)\n=> 'Hello'\n```\n\n**prune** _.prune(string, length, pruneString)\n\nElegant version of truncate.\nMakes sure the pruned string does not exceed the original length.\nAvoid half-chopped words when truncating.\n\n```javascript\n_('Hello, world').prune(5)\n=> 'Hello...'\n\n_('Hello, world').prune(8)\n=> 'Hello...'\n\n_('Hello, world').prune(5, ' (read a lot more)')\n=> 'Hello, world' (as adding \"(read a lot more)\" would be longer than the original string)\n\n_('Hello, cruel world').prune(15)\n=> 'Hello, cruel...'\n\n_('Hello').prune(10)\n=> 'Hello'\n```\n\n**words** _.words(str, delimiter=\" \")\n\nSplit string by delimiter (String or RegExp), ' ' by default.\n\n```javascript\n_.words(\"I love you\")\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"I_love_you\", \"_\")\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"I-love-you\", /-/)\n=> [\"I\",\"love\",\"you\"]\n```\n\n**sprintf** _.sprintf(string format, *arguments)\n\nC like string formatting.\nCredits goes to [Alexandru Marasteanu][o].\nFor more detailed documentation, see the [original page][o].\n\n[o]: http://www.diveintojavascript.com/projects/sprintf-for-javascript\n\n```javascript\n_.sprintf(\"%.1f\", 1.17)\n\"1.2\"\n```\n\n**pad** _.pad(str, length, [padStr, type])\n\npads the `str` with characters until the total string length is equal to the passed `length` parameter. By default, pads on the **left** with the space char (`\" \"`). `padStr` is truncated to a single character if necessary.\n\n```javascript\n_.pad(\"1\", 8)\n-> \" 1\";\n\n_.pad(\"1\", 8, '0')\n-> \"00000001\";\n\n_.pad(\"1\", 8, '0', 'right')\n-> \"10000000\";\n\n_.pad(\"1\", 8, '0', 'both')\n-> \"00001000\";\n\n_.pad(\"1\", 8, 'bleepblorp', 'both')\n-> \"bbbb1bbb\";\n```\n\n**lpad** _.lpad(str, length, [padStr])\n\nleft-pad a string. Alias for `pad(str, length, padStr, 'left')`\n\n```javascript\n_.lpad(\"1\", 8, '0')\n-> \"00000001\";\n```\n\n**rpad** _.rpad(str, length, [padStr])\n\nright-pad a string. Alias for `pad(str, length, padStr, 'right')`\n\n```javascript\n_.rpad(\"1\", 8, '0')\n-> \"10000000\";\n```\n\n**lrpad** _.lrpad(str, length, [padStr])\n\nleft/right-pad a string. Alias for `pad(str, length, padStr, 'both')`\n\n```javascript\n_.lrpad(\"1\", 8, '0')\n-> \"00001000\";\n```\n\n**center** alias for **lrpad**\n\n**ljust** alias for *rpad*\n\n**rjust** alias for *lpad*\n\n**toNumber** _.toNumber(string, [decimals])\n\nParse string to number. Returns NaN if string can't be parsed to number.\n\n```javascript\n_('2.556').toNumber()\n=> 3\n\n_('2.556').toNumber(1)\n=> 2.6\n```\n\n**strRight** _.strRight(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strRight('_')\n=> \"is_a_test_string\";\n```\n\n**strRightBack** _.strRightBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strRightBack('_')\n=> \"string\";\n```\n\n**strLeft** _.strLeft(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strLeft('_')\n=> \"This\";\n```\n\n**strLeftBack** _.strLeftBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strLeftBack('_')\n=> \"This_is_a_test\";\n```\n\n**stripTags**\n\nRemoves all html tags from string.\n\n```javascript\n_('a link').stripTags()\n=> 'a link'\n\n_('a link').stripTags()\n=> 'a linkalert(\"hello world!\")'\n```\n\n**toSentence** _.toSentence(array, [delimiter, lastDelimiter])\n\nJoin an array into a human readable sentence.\n\n```javascript\n_.toSentence(['jQuery', 'Mootools', 'Prototype'])\n=> 'jQuery, Mootools and Prototype';\n\n_.toSentence(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt ')\n=> 'jQuery, Mootools unt Prototype';\n```\n\n**repeat** _.repeat(string, count, [separator])\n\nRepeats a string count times.\n\n```javascript\n_.repeat(\"foo\", 3)\n=> 'foofoofoo';\n\n_.repeat(\"foo\", 3, \"bar\")\n=> 'foobarfoobarfoo'\n```\n\n**slugify** _.slugify(string)\n\nTransform text into a URL slug. Replaces whitespaces, accentuated, and special characters with a dash.\n\n```javascript\n_.slugify(\"Un éléphant à l'orée du bois\")\n=> 'un-elephant-a-loree-du-bois';\n```\n\n***Caution: this function is charset dependent***\n\n## Roadmap ##\n\nAny suggestions or bug reports are welcome. Just email me or more preferably open an issue.\n\n## Changelog ##\n\n### 2.0.0 ###\n\n* Added prune, humanize functions\n* Added _.string (_.str) namespace for Underscore.string library\n* Removed includes function\n\n#### Problems\n\nWe lose two things for `include` and `reverse` methods from `_.string`:\n\n* Calls like `_('foobar').include('bar')` aren't available;\n* Chaining isn't available too.\n\nBut if you need this functionality you can create aliases for conflict functions which will be convenient for you:\n\n```javascript\n_.mixin({\n includeString: _.str.include,\n reverseString: _.str.reverse\n})\n\n// Now wrapper calls and chaining are available.\n_('foobar').chain().reverseString().includeString('rab').value()\n```\n\n#### Standalone Usage\n\nIf you are using Underscore.string without Underscore. You also have `_.string` namespace for it and `_.str` alias\nBut of course you can just reassign `_` variable with `_.string`\n\n```javascript\n_ = _.string\n```\n### 2.2.0 ###\n\n* Capitalize method behavior changed\n* Various perfomance tweaks\n\n### 2.1.1###\n\n* Fixed words method bug\n* Added classify method\n\n### 2.1.0 ###\n\n* AMD support\n* Added toSentence method\n* Added slugify method\n* Lots of speed optimizations\n\n### 2.0.0 ###\n\nFor upgrading to this version you need to mix in Underscore.string library to Underscore object:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\nand all non-conflict Underscore.string functions will be available through Underscore object.\nAlso function `includes` has been removed, you should replace this function by `_.str.include`\nor create alias `_.includes = _.str.include` and all your code will work fine.\n\n### 1.1.6 ###\n\n* Fixed reverse and truncate\n* Added isBlank, stripTags, inlude(alias for includes)\n* Added uglifier compression\n\n### 1.1.5 ###\n\n* Added strRight, strRightBack, strLeft, strLeftBack\n\n### 1.1.4 ###\n\n* Added pad, lpad, rpad, lrpad methods and aliases center, ljust, rjust\n* Integration with Underscore 1.1.6\n\n### 1.1.3 ###\n\n* Added methods: underscored, camelize, dasherize\n* Support newer version of npm\n\n### 1.1.2 ###\n\n* Created functions: lines, chars, words functions\n\n### 1.0.2 ###\n\n* Created integration test suite with underscore.js 1.1.4 (now it's absolutely compatible)\n* Removed 'reverse' function, because this function override underscore.js 'reverse'\n\n## Contribute ##\n\n* Fork & pull request. Don't forget about tests.\n* If you planning add some feature please create issue before.\n\nOtherwise changes will be rejected.\n\n## Contributors list ##\n\n* Esa-Matti Suuronen (),\n* Edward Tsech ,\n* Sasha Koss (),\n* Vladimir Dronnikov ,\n* Pete Kruckenberg (),\n* Paul Chavard (),\n* Ed Finkler ()\n* Pavel Pravosud \n* Anton Lindqvist ()\n\n## Licence ##\n\nThe MIT License\n\nCopyright (c) 2011 Esa-Matti Suuronen esa-matti@suuronen.org\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n", - "readmeFilename": "README.markdown", - "_id": "underscore.string@2.2.1", - "_from": "underscore.string@~2.2.1" -} diff --git a/node_modules/grunt/node_modules/underscore.string/test/run-qunit.js b/node_modules/grunt/node_modules/underscore.string/test/run-qunit.js deleted file mode 100644 index 326658ed740d..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/test/run-qunit.js +++ /dev/null @@ -1,44 +0,0 @@ -function waitFor(test, complete, timeout) { - var result, start = new Date().getTime() - setInterval(function interval() { - if ((new Date().getTime() - start < timeout) && !result) { - result = test() - } else { - if (!result) { - phantom.exit(1) - } else { - complete() - clearInterval(interval) - } - } - }, 100) -} - - -var page = new WebPage() - -page.onConsoleMessage = function(msg) { - console.log(msg) -} - -page.open(phantom.args[0], function(status) { - waitFor(function() { - return page.evaluate(function(){ - var el = document.getElementById('qunit-testresult') - return el && el.innerText.match('completed') - }) - }, function() { - var failures = page.evaluate(function() { - var el = document.getElementById('qunit-testresult'), - fails = document.getElementsByClassName('fail') - - for (var i = 0; i < fails.length; i++) - console.log(fails[i].innerText) - - console.log(el.innerText) - - return parseInt(el.getElementsByClassName('failed')[0].innerHTML) - }) - phantom.exit(failures > 0 ? 1 : 0) - }, 10000) -}) \ No newline at end of file diff --git a/node_modules/grunt/node_modules/underscore.string/test/speed.js b/node_modules/grunt/node_modules/underscore.string/test/speed.js deleted file mode 100644 index 43464147d9f9..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/test/speed.js +++ /dev/null @@ -1,138 +0,0 @@ -(function() { - - JSLitmus.test('trimNoNative', function() { - return _.trim(" foobar ", " "); - }); - - JSLitmus.test('trim', function() { - return _.trim(" foobar "); - }); - - JSLitmus.test('trim object-oriented', function() { - return _(" foobar ").trim(); - }); - - JSLitmus.test('trim jQuery', function() { - return jQuery.trim(" foobar "); - }); - - JSLitmus.test('ltrimp', function() { - return _.ltrim(" foobar ", " "); - }); - - JSLitmus.test('rtrimp', function() { - return _.rtrim(" foobar ", " "); - }); - - JSLitmus.test('startsWith', function() { - return _.startsWith("foobar", "foo"); - }); - - JSLitmus.test('endsWith', function() { - return _.endsWith("foobar", "xx"); - }); - - JSLitmus.test('chop', function(){ - return _('whitespace').chop(2); - }); - - JSLitmus.test('count', function(){ - return _('Hello worls').count('l'); - }); - - JSLitmus.test('insert', function() { - return _('Hello ').insert(6, 'world'); - }); - - JSLitmus.test('splice', function() { - return _('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli'); - }); - - JSLitmus.test('succ', function(){ - var let = 'a', alphabet = []; - - for (var i=0; i < 26; i++) { - alphabet.push(let); - let = _(let).succ(); - } - - return alphabet; - }); - - JSLitmus.test('titleize', function(){ - return _('the titleize string method').titleize(); - }); - - JSLitmus.test('truncate', function(){ - return _('Hello world').truncate(5); - }); - - JSLitmus.test('prune', function(){ - return _('Hello world').prune(5); - }); - - JSLitmus.test('isBlank', function(){ - return _('').isBlank(); - }); - - JSLitmus.test('escapeHTML', function(){ - _('
      Blah blah blah
      ').escapeHTML(); - }); - - JSLitmus.test('unescapeHTML', function(){ - _('<div>Blah blah blah</div>').unescapeHTML(); - }); - - JSLitmus.test('reverse', function(){ - _('Hello World').reverse(); - }); - - JSLitmus.test('pad default', function(){ - _('foo').pad(12); - }); - - JSLitmus.test('pad hash left', function(){ - _('foo').pad(12, '#'); - }); - - JSLitmus.test('pad hash right', function(){ - _('foo').pad(12, '#', 'right'); - }); - - JSLitmus.test('pad hash both', function(){ - _('foo').pad(12, '#', 'both'); - }); - - JSLitmus.test('pad hash both longPad', function(){ - _('foo').pad(12, 'f00f00f00', 'both'); - }); - - JSLitmus.test('toNumber', function(){ - _('10.232323').toNumber(2); - }); - - JSLitmus.test('strRight', function(){ - _('aaa_bbb_ccc').strRight('_'); - }); - - JSLitmus.test('strRightBack', function(){ - _('aaa_bbb_ccc').strRightBack('_'); - }); - - JSLitmus.test('strLeft', function(){ - _('aaa_bbb_ccc').strLeft('_'); - }); - - JSLitmus.test('strLeftBack', function(){ - _('aaa_bbb_ccc').strLeftBack('_'); - }); - - JSLitmus.test('join', function(){ - _('separator').join(1, 2, 3, 4, 5, 6, 7, 8, 'foo', 'bar', 'lol', 'wut'); - }); - - JSLitmus.test('slugify', function(){ - _("Un éléphant à l'orée du bois").slugify(); - }); - -})(); diff --git a/node_modules/grunt/node_modules/underscore.string/test/strings.js b/node_modules/grunt/node_modules/underscore.string/test/strings.js deleted file mode 100644 index f700abf1071a..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/test/strings.js +++ /dev/null @@ -1,438 +0,0 @@ -$(document).ready(function() { - - // Include Underscore.string methods to Underscore namespace - _.mixin(_.str.exports()); - - module("String extensions"); - - test("Strings: trim", function() { - equals(_.trim(123), "123", "Non string"); - equals(_(" foo").trim(), "foo"); - equals(_("foo ").trim(), "foo"); - equals(_(" foo ").trim(), "foo"); - equals(_(" foo ").trim(), "foo"); - equals(_(" foo ", " ").trim(), "foo", "Manually set whitespace"); - - equals(_("ffoo").trim("f"), "oo"); - equals(_("ooff").trim("f"), "oo"); - equals(_("ffooff").trim("f"), "oo"); - - - equals(_("_-foobar-_").trim("_-"), "foobar"); - - equals(_("http://foo/").trim("/"), "http://foo"); - equals(_("c:\\").trim('\\'), "c:"); - - equals(_(123).trim(), '123'); - equals(_(123).trim(3), '12'); - }); - - test("Strings: ltrim", function() { - equals(_(" foo").ltrim(), "foo"); - equals(_(" foo").ltrim(), "foo"); - equals(_("foo ").ltrim(), "foo "); - equals(_(" foo ").ltrim(), "foo "); - - - equals(_("ffoo").ltrim("f"), "oo"); - equals(_("ooff").ltrim("f"), "ooff"); - equals(_("ffooff").ltrim("f"), "ooff"); - - equals(_("_-foobar-_").ltrim("_-"), "foobar-_"); - - equals(_(123).ltrim(1), '23'); - }); - - test("Strings: rtrim", function() { - equals(_("http://foo/").rtrim("/"), "http://foo", 'clean trailing slash'); - equals(_(" foo").rtrim(), " foo"); - equals(_("foo ").rtrim(), "foo"); - equals(_("foo ").rtrim(), "foo"); - equals(_("foo bar ").rtrim(), "foo bar"); - equals(_(" foo ").rtrim(), " foo"); - - equals(_("ffoo").rtrim("f"), "ffoo"); - equals(_("ooff").rtrim("f"), "oo"); - equals(_("ffooff").rtrim("f"), "ffoo"); - - equals(_("_-foobar-_").rtrim("_-"), "_-foobar"); - - equals(_(123).rtrim(3), '12'); - }); - - test("Strings: capitalize", function() { - equals(_("fabio").capitalize(), "Fabio", 'First letter is upper case'); - equals(_.capitalize("fabio"), "Fabio", 'First letter is upper case'); - equals(_.capitalize('FOO'), 'FOO', 'Other letters unchanged'); - equals(_(123).capitalize(), "123", "Non string"); - }); - - test("Strings: join", function() { - equals(_.join("", "foo", "bar"), "foobar", 'basic join'); - equals(_.join("", 1, "foo", 2), "1foo2", 'join numbers and strings'); - equals(_.join(" ","foo", "bar"), "foo bar", 'join with spaces'); - equals(_.join("1", "2", "2"), "212", 'join number strings'); - equals(_.join(1, 2, 2), "212", 'join numbers'); - equals(_(" ").join("foo", "bar"), "foo bar", 'join object oriented'); - }); - - test("Strings: reverse", function() { - equals(_.str.reverse("foo"), "oof" ); - equals(_.str.reverse("foobar"), "raboof" ); - equals(_.str.reverse("foo bar"), "rab oof" ); - equals(_.str.reverse("saippuakauppias"), "saippuakauppias" ); - equals(_.str.reverse(123), "321", "Non string"); - equals(_.str.reverse(123.45), "54.321", "Non string"); - }); - - test("Strings: clean", function() { - equals(_(" foo bar ").clean(), "foo bar"); - equals(_(123).clean(), "123"); - }); - - test("Strings: sprintf", function() { - // Should be very tested function already. Thanks to - // http://www.diveintojavascript.com/projects/sprintf-for-javascript - equals(_.sprintf("Hello %s", "me"), "Hello me", 'basic'); - equals(_("Hello %s").sprintf("me"), "Hello me", 'object'); - equals(_("hello %s").chain().sprintf("me").capitalize().value(), "Hello me", 'Chaining works'); - equals(_.sprintf("%.1f", 1.22222), "1.2", 'round'); - equals(_.sprintf("%.1f", 1.17), "1.2", 'round 2'); - equals(_.sprintf("%(id)d - %(name)s", {id: 824, name: "Hello World"}), "824 - Hello World", 'Named replacements work'); - equals(_.sprintf("%(args[0].id)d - %(args[1].name)s", {args: [{id: 824}, {name: "Hello World"}]}), "824 - Hello World", 'Named replacements with arrays work'); - }); - - - test("Strings: vsprintf", function() { - equals(_.vsprintf("Hello %s", ["me"]), "Hello me", 'basic'); - equals(_("Hello %s").vsprintf(["me"]), "Hello me", 'object'); - equals(_("hello %s").chain().vsprintf(["me"]).capitalize().value(), "Hello me", 'Chaining works'); - equals(_.vsprintf("%.1f", [1.22222]), "1.2", 'round'); - equals(_.vsprintf("%.1f", [1.17]), "1.2", 'round 2'); - equals(_.vsprintf("%(id)d - %(name)s", [{id: 824, name: "Hello World"}]), "824 - Hello World", 'Named replacement works'); - equals(_.vsprintf("%(args[0].id)d - %(args[1].name)s", [{args: [{id: 824}, {name: "Hello World"}]}]), "824 - Hello World", 'Named replacement with arrays works'); - }); - - test("Strings: startsWith", function() { - ok(_("foobar").startsWith("foo"), 'foobar starts with foo'); - ok(!_("oobar").startsWith("foo"), 'oobar does not start with foo'); - ok(_(12345).startsWith(123), '12345 starts with 123'); - ok(!_(2345).startsWith(123), '2345 does not start with 123'); - }); - - test("Strings: endsWith", function() { - ok(_("foobar").endsWith("bar"), 'foobar ends with bar'); - ok(_.endsWith("foobar", "bar"), 'foobar ends with bar'); - ok(_.endsWith("00018-0000062.Plone.sdh264.1a7264e6912a91aa4a81b64dc5517df7b8875994.mp4", "mp4"), 'endsWith .mp4'); - ok(!_("fooba").endsWith("bar"), 'fooba does not end with bar'); - ok(_.endsWith(12345, 45), '12345 ends with 45'); - ok(!_.endsWith(12345, 6), '12345 does not end with 6'); - }); - - test("Strings: include", function() { - ok(_.str.include("foobar", "bar"), 'foobar includes bar'); - ok(!_.str.include("foobar", "buzz"), 'foobar does not includes buzz'); - ok(_.str.include(12345, 34), '12345 includes 34'); - ok(!_.str.contains(12345, 6), '12345 does not includes 6'); - }); - - test('String: chop', function(){ - ok(_('whitespace').chop(2).length === 5, "output ['wh','it','es','pa','ce']"); - ok(_('whitespace').chop(3).length === 4, "output ['whi','tes','pac','e']"); - ok(_('whitespace').chop()[0].length === 10, "output ['whitespace']"); - ok(_(12345).chop(1).length === 5, "output ['1','2','3','4','5']"); - }); - - test('String: clean', function(){ - equals(_.clean(' foo bar '), 'foo bar'); - equals(_.clean(1), '1'); - }); - - test('String: count', function(){ - equals(_('Hello world').count('l'), 3); - equals(_('Hello world').count('Hello'), 1); - equals(_('Hello world').count('foo'), 0); - equals(_('x.xx....x.x').count('x'), 5); - equals(_(12345).count(1), 1); - equals(_(11345).count(1), 2); - }); - - test('String: insert', function(){ - equals(_('Hello ').insert(6, 'Jessy'), 'Hello Jessy'); - equals(_('Hello ').insert(100, 'Jessy'), 'Hello Jessy'); - equals(_(12345).insert(6, 'Jessy'), '12345Jessy'); - }); - - test('String: splice', function(){ - equals(_('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli'), - 'https://edtsech@bitbucket.org/epeli/underscore.strings'); - equals(_.splice(12345, 1, 2, 321), '132145', 'Non strings'); - }); - - test('String: succ', function(){ - equals(_('a').succ(), 'b'); - equals(_('A').succ(), 'B'); - equals(_('+').succ(), ','); - equals(_(1).succ(), '2'); - }); - - test('String: titleize', function(){ - equals(_('the titleize string method').titleize(), 'The Titleize String Method'); - equals(_('the titleize string method').titleize(), 'The Titleize String Method'); - equals(_(123).titleize(), '123'); - }); - - test('String: camelize', function(){ - equals(_('the_camelize_string_method').camelize(), 'theCamelizeStringMethod'); - equals(_('-the-camelize-string-method').camelize(), 'TheCamelizeStringMethod'); - equals(_('the camelize string method').camelize(), 'theCamelizeStringMethod'); - equals(_(' the camelize string method').camelize(), 'theCamelizeStringMethod'); - equals(_('the camelize string method').camelize(), 'theCamelizeStringMethod'); - equals(_(123).camelize(), '123'); - }); - - test('String: underscored', function(){ - equals(_('the-underscored-string-method').underscored(), 'the_underscored_string_method'); - equals(_('theUnderscoredStringMethod').underscored(), 'the_underscored_string_method'); - equals(_('TheUnderscoredStringMethod').underscored(), 'the_underscored_string_method'); - equals(_(' the underscored string method').underscored(), 'the_underscored_string_method'); - equals(_(123).underscored(), '123'); - }); - - test('String: dasherize', function(){ - equals(_('the_dasherize_string_method').dasherize(), 'the-dasherize-string-method'); - equals(_('TheDasherizeStringMethod').dasherize(), '-the-dasherize-string-method'); - equals(_('thisIsATest').dasherize(), 'this-is-a-test'); - equals(_('this Is A Test').dasherize(), 'this-is-a-test'); - equals(_('thisIsATest123').dasherize(), 'this-is-a-test123'); - equals(_('123thisIsATest').dasherize(), '123this-is-a-test'); - equals(_('the dasherize string method').dasherize(), 'the-dasherize-string-method'); - equals(_('the dasherize string method ').dasherize(), 'the-dasherize-string-method'); - equals(_('téléphone').dasherize(), 'téléphone'); - equals(_('foo$bar').dasherize(), 'foo$bar'); - equals(_(123).dasherize(), '123'); - }); - - test('String: camelize', function(){ - equals(_.camelize('-moz-transform'), 'MozTransform'); - equals(_.camelize('webkit-transform'), 'webkitTransform'); - equals(_.camelize('under_scored'), 'underScored'); - equals(_.camelize(' with spaces'), 'withSpaces'); - }); - - test('String: join', function(){ - equals(_.join(1, 2, 3, 4), '21314'); - equals(_.join('|', 'foo', 'bar', 'baz'), 'foo|bar|baz'); - }); - - test('String: classify', function(){ - equals(_.classify(1), '1'); - equals(_('some_class_name').classify(), 'SomeClassName'); - }); - - test('String: humanize', function(){ - equals(_('the_humanize_string_method').humanize(), 'The humanize string method'); - equals(_('ThehumanizeStringMethod').humanize(), 'Thehumanize string method'); - equals(_('the humanize string method').humanize(), 'The humanize string method'); - equals(_('the humanize_id string method_id').humanize(), 'The humanize id string method'); - equals(_('the humanize string method ').humanize(), 'The humanize string method'); - equals(_(' capitalize dash-CamelCase_underscore trim ').humanize(), 'Capitalize dash camel case underscore trim'); - equals(_(123).humanize(), '123'); - }); - - test('String: truncate', function(){ - equals(_('Hello world').truncate(6, 'read more'), 'Hello read more'); - equals(_('Hello world').truncate(5), 'Hello...'); - equals(_('Hello').truncate(10), 'Hello'); - equals(_(1234567890).truncate(5), '12345...'); - }); - - test('String: prune', function(){ - equals(_('Hello, cruel world').prune(6, ' read more'), 'Hello read more'); - equals(_('Hello, world').prune(5, 'read a lot more'), 'Hello, world'); - equals(_('Hello, world').prune(5), 'Hello...'); - equals(_('Hello, world').prune(8), 'Hello...'); - equals(_('Hello, cruel world').prune(15), 'Hello, cruel...'); - equals(_('Hello world').prune(22), 'Hello world'); - equals(_('Привет, жеÑтокий мир').prune(6, ' read more'), 'Привет read more'); - equals(_('Привет, мир').prune(6, 'read a lot more'), 'Привет, мир'); - equals(_('Привет, мир').prune(6), 'Привет...'); - equals(_('Привет, мир').prune(8), 'Привет...'); - equals(_('Привет, жеÑтокий мир').prune(16), 'Привет, жеÑтокий...'); - equals(_('Привет, мир').prune(22), 'Привет, мир'); - equals(_(123).prune(10), '123'); - equals(_(123).prune(1,1), '11'); - }); - - test('String: isBlank', function(){ - ok(_('').isBlank()); - ok(_(' ').isBlank()); - ok(_('\n').isBlank()); - ok(!_('a').isBlank()); - ok(!_('0').isBlank()); - ok(!_(0).isBlank()); - }); - - test('String: escapeHTML', function(){ - equals(_('
      Blah & "blah" & \'blah\'
      ').escapeHTML(), - '<div>Blah & "blah" & 'blah'</div>'); - equals(_('<').escapeHTML(), '&lt;'); - equals(_(5).escapeHTML(), '5'); - // equals(_(undefined).escapeHTML(), ''); - }); - - test('String: unescapeHTML', function(){ - equals(_('<div>Blah & "blah" & 'blah'</div>').unescapeHTML(), - '
      Blah & "blah" & \'blah\'
      '); - equals(_('&lt;').unescapeHTML(), '<'); - equals(_(''').unescapeHTML(), "'"); - equals(_(''').unescapeHTML(), "'"); - equals(_('J').unescapeHTML(), "J"); - equals(_('J').unescapeHTML(), "J"); - equals(_('J').unescapeHTML(), "J"); - equals(_('&_#39;').unescapeHTML(), "&_#39;"); - equals(_(''_;').unescapeHTML(), "'_;"); - equals(_('&#38;').unescapeHTML(), "&"); - equals(_('&amp;').unescapeHTML(), "&"); - equals(_(5).unescapeHTML(), '5'); - // equals(_(undefined).unescapeHTML(), ''); - }); - - test('String: words', function() { - equals(_("I love you!").words().length, 3); - equals(_(" I love you! ").words().length, 3); - equals(_("I_love_you!").words('_').length, 3); - equals(_("I-love-you!").words(/-/).length, 3); - equals(_(123).words().length, 1); - }); - - test('String: chars', function() { - equals(_("Hello").chars().length, 5); - equals(_(123).chars().length, 3); - }); - - test('String: lines', function() { - equals(_("Hello\nWorld").lines().length, 2); - equals(_("Hello World").lines().length, 1); - equals(_(123).lines().length, 1); - }); - - test('String: pad', function() { - equals(_("1").pad(8), ' 1'); - equals(_(1).pad(8), ' 1'); - equals(_("1").pad(8, '0'), '00000001'); - equals(_("1").pad(8, '0', 'left'), '00000001'); - equals(_("1").pad(8, '0', 'right'), '10000000'); - equals(_("1").pad(8, '0', 'both'), '00001000'); - equals(_("foo").pad(8, '0', 'both'), '000foo00'); - equals(_("foo").pad(7, '0', 'both'), '00foo00'); - equals(_("foo").pad(7, '!@$%dofjrofj', 'both'), '!!foo!!'); - }); - - test('String: lpad', function() { - equals(_("1").lpad(8), ' 1'); - equals(_(1).lpad(8), ' 1'); - equals(_("1").lpad(8, '0'), '00000001'); - equals(_("1").lpad(8, '0', 'left'), '00000001'); - }); - - test('String: rpad', function() { - equals(_("1").rpad(8), '1 '); - equals(_(1).lpad(8), ' 1'); - equals(_("1").rpad(8, '0'), '10000000'); - equals(_("foo").rpad(8, '0'), 'foo00000'); - equals(_("foo").rpad(7, '0'), 'foo0000'); - }); - - test('String: lrpad', function() { - equals(_("1").lrpad(8), ' 1 '); - equals(_(1).lrpad(8), ' 1 '); - equals(_("1").lrpad(8, '0'), '00001000'); - equals(_("foo").lrpad(8, '0'), '000foo00'); - equals(_("foo").lrpad(7, '0'), '00foo00'); - equals(_("foo").lrpad(7, '!@$%dofjrofj'), '!!foo!!'); - }); - - test('String: toNumber', function() { - deepEqual(_("not a number").toNumber(), Number.NaN); - equals(_(0).toNumber(), 0); - equals(_("0").toNumber(), 0); - equals(_("0000").toNumber(), 0); - equals(_("2.345").toNumber(), 2); - equals(_("2.345").toNumber(NaN), 2); - equals(_("2.345").toNumber(2), 2.35); - equals(_("2.344").toNumber(2), 2.34); - equals(_("2").toNumber(2), 2.00); - equals(_(2).toNumber(2), 2.00); - equals(_(-2).toNumber(), -2); - equals(_("-2").toNumber(), -2); - }); - - test('String: strRight', function() { - equals(_("This_is_a_test_string").strRight("_"), "is_a_test_string"); - equals(_("This_is_a_test_string").strRight("string"), ""); - equals(_("This_is_a_test_string").strRight(), "This_is_a_test_string"); - equals(_("This_is_a_test_string").strRight(""), "This_is_a_test_string"); - equals(_("This_is_a_test_string").strRight("-"), "This_is_a_test_string"); - equals(_(12345).strRight(2), "345"); - }); - - test('String: strRightBack', function() { - equals(_("This_is_a_test_string").strRightBack("_"), "string"); - equals(_("This_is_a_test_string").strRightBack("string"), ""); - equals(_("This_is_a_test_string").strRightBack(), "This_is_a_test_string"); - equals(_("This_is_a_test_string").strRightBack(""), "This_is_a_test_string"); - equals(_("This_is_a_test_string").strRightBack("-"), "This_is_a_test_string"); - equals(_(12345).strRightBack(2), "345"); - }); - - test('String: strLeft', function() { - equals(_("This_is_a_test_string").strLeft("_"), "This"); - equals(_("This_is_a_test_string").strLeft("This"), ""); - equals(_("This_is_a_test_string").strLeft(), "This_is_a_test_string"); - equals(_("This_is_a_test_string").strLeft(""), "This_is_a_test_string"); - equals(_("This_is_a_test_string").strLeft("-"), "This_is_a_test_string"); - equals(_(123454321).strLeft(3), "12"); - }); - - test('String: strLeftBack', function() { - equals(_("This_is_a_test_string").strLeftBack("_"), "This_is_a_test"); - equals(_("This_is_a_test_string").strLeftBack("This"), ""); - equals(_("This_is_a_test_string").strLeftBack(), "This_is_a_test_string"); - equals(_("This_is_a_test_string").strLeftBack(""), "This_is_a_test_string"); - equals(_("This_is_a_test_string").strLeftBack("-"), "This_is_a_test_string"); - equals(_(123454321).strLeftBack(3), "123454"); - }); - - test('Strings: stripTags', function() { - equals(_('a link').stripTags(), 'a link'); - equals(_('a link - - - - - - - - -

      Underscore.string Test Suite

      -

      -

      -
        -
        -

        Underscore.string Speed Suite

        - -
        - - diff --git a/node_modules/grunt/node_modules/underscore.string/test/test_standalone.html b/node_modules/grunt/node_modules/underscore.string/test/test_standalone.html deleted file mode 100644 index 9854c17115c4..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/test/test_standalone.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - Underscore.strings Test Suite - - - - - - - - -

        Underscore.string Test Suite

        -

        -

        -
          - - diff --git a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/arrays.js b/node_modules/grunt/node_modules/underscore.string/test/test_underscore/arrays.js deleted file mode 100644 index b3b1ce15e7bb..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/arrays.js +++ /dev/null @@ -1,166 +0,0 @@ -$(document).ready(function() { - - module("Arrays"); - - test("arrays: first", function() { - equals(_.first([1,2,3]), 1, 'can pull out the first element of an array'); - equals(_([1, 2, 3]).first(), 1, 'can perform OO-style "first()"'); - equals(_.first([1,2,3], 0).join(', '), "", 'can pass an index to first'); - equals(_.first([1,2,3], 2).join(', '), '1, 2', 'can pass an index to first'); - equals(_.first([1,2,3], 5).join(', '), '1, 2, 3', 'can pass an index to first'); - var result = (function(){ return _.first(arguments); })(4, 3, 2, 1); - equals(result, 4, 'works on an arguments object.'); - result = _.map([[1,2,3],[1,2,3]], _.first); - equals(result.join(','), '1,1', 'works well with _.map'); - }); - - test("arrays: rest", function() { - var numbers = [1, 2, 3, 4]; - equals(_.rest(numbers).join(", "), "2, 3, 4", 'working rest()'); - equals(_.rest(numbers, 0).join(", "), "1, 2, 3, 4", 'working rest(0)'); - equals(_.rest(numbers, 2).join(', '), '3, 4', 'rest can take an index'); - var result = (function(){ return _(arguments).tail(); })(1, 2, 3, 4); - equals(result.join(', '), '2, 3, 4', 'aliased as tail and works on arguments object'); - result = _.map([[1,2,3],[1,2,3]], _.rest); - equals(_.flatten(result).join(','), '2,3,2,3', 'works well with _.map'); - }); - - test("arrays: initial", function() { - equals(_.initial([1,2,3,4,5]).join(", "), "1, 2, 3, 4", 'working initial()'); - equals(_.initial([1,2,3,4],2).join(", "), "1, 2", 'initial can take an index'); - var result = (function(){ return _(arguments).initial(); })(1, 2, 3, 4); - equals(result.join(", "), "1, 2, 3", 'initial works on arguments object'); - result = _.map([[1,2,3],[1,2,3]], _.initial); - equals(_.flatten(result).join(','), '1,2,1,2', 'initial works with _.map'); - }); - - test("arrays: last", function() { - equals(_.last([1,2,3]), 3, 'can pull out the last element of an array'); - equals(_.last([1,2,3], 0).join(', '), "", 'can pass an index to last'); - equals(_.last([1,2,3], 2).join(', '), '2, 3', 'can pass an index to last'); - equals(_.last([1,2,3], 5).join(', '), '1, 2, 3', 'can pass an index to last'); - var result = (function(){ return _(arguments).last(); })(1, 2, 3, 4); - equals(result, 4, 'works on an arguments object'); - result = _.map([[1,2,3],[1,2,3]], _.last); - equals(result.join(','), '3,3', 'works well with _.map'); - }); - - test("arrays: compact", function() { - equals(_.compact([0, 1, false, 2, false, 3]).length, 3, 'can trim out all falsy values'); - var result = (function(){ return _(arguments).compact().length; })(0, 1, false, 2, false, 3); - equals(result, 3, 'works on an arguments object'); - }); - - test("arrays: flatten", function() { - if (window.JSON) { - var list = [1, [2], [3, [[[4]]]]]; - equals(JSON.stringify(_.flatten(list)), '[1,2,3,4]', 'can flatten nested arrays'); - equals(JSON.stringify(_.flatten(list, true)), '[1,2,3,[[[4]]]]', 'can shallowly flatten nested arrays'); - var result = (function(){ return _.flatten(arguments); })(1, [2], [3, [[[4]]]]); - equals(JSON.stringify(result), '[1,2,3,4]', 'works on an arguments object'); - } - }); - - test("arrays: without", function() { - var list = [1, 2, 1, 0, 3, 1, 4]; - equals(_.without(list, 0, 1).join(', '), '2, 3, 4', 'can remove all instances of an object'); - var result = (function(){ return _.without(arguments, 0, 1); })(1, 2, 1, 0, 3, 1, 4); - equals(result.join(', '), '2, 3, 4', 'works on an arguments object'); - - var list = [{one : 1}, {two : 2}]; - ok(_.without(list, {one : 1}).length == 2, 'uses real object identity for comparisons.'); - ok(_.without(list, list[0]).length == 1, 'ditto.'); - }); - - test("arrays: uniq", function() { - var list = [1, 2, 1, 3, 1, 4]; - equals(_.uniq(list).join(', '), '1, 2, 3, 4', 'can find the unique values of an unsorted array'); - - var list = [1, 1, 1, 2, 2, 3]; - equals(_.uniq(list, true).join(', '), '1, 2, 3', 'can find the unique values of a sorted array faster'); - - var list = [{name:'moe'}, {name:'curly'}, {name:'larry'}, {name:'curly'}]; - var iterator = function(value) { return value.name; }; - equals(_.map(_.uniq(list, false, iterator), iterator).join(', '), 'moe, curly, larry', 'can find the unique values of an array using a custom iterator'); - - var iterator = function(value) { return value +1; }; - var list = [1, 2, 2, 3, 4, 4]; - equals(_.uniq(list, true, iterator).join(', '), '1, 2, 3, 4', 'iterator works with sorted array'); - - var result = (function(){ return _.uniq(arguments); })(1, 2, 1, 3, 1, 4); - equals(result.join(', '), '1, 2, 3, 4', 'works on an arguments object'); - }); - - test("arrays: intersection", function() { - var stooges = ['moe', 'curly', 'larry'], leaders = ['moe', 'groucho']; - equals(_.intersection(stooges, leaders).join(''), 'moe', 'can take the set intersection of two arrays'); - equals(_(stooges).intersection(leaders).join(''), 'moe', 'can perform an OO-style intersection'); - var result = (function(){ return _.intersection(arguments, leaders); })('moe', 'curly', 'larry'); - equals(result.join(''), 'moe', 'works on an arguments object'); - }); - - test("arrays: union", function() { - var result = _.union([1, 2, 3], [2, 30, 1], [1, 40]); - equals(result.join(' '), '1 2 3 30 40', 'takes the union of a list of arrays'); - - var result = _.union([1, 2, 3], [2, 30, 1], [1, 40, [1]]); - equals(result.join(' '), '1 2 3 30 40 1', 'takes the union of a list of nested arrays'); - }); - - test("arrays: difference", function() { - var result = _.difference([1, 2, 3], [2, 30, 40]); - equals(result.join(' '), '1 3', 'takes the difference of two arrays'); - - var result = _.difference([1, 2, 3, 4], [2, 30, 40], [1, 11, 111]); - equals(result.join(' '), '3 4', 'takes the difference of three arrays'); - }); - - test('arrays: zip', function() { - var names = ['moe', 'larry', 'curly'], ages = [30, 40, 50], leaders = [true]; - var stooges = _.zip(names, ages, leaders); - equals(String(stooges), 'moe,30,true,larry,40,,curly,50,', 'zipped together arrays of different lengths'); - }); - - test("arrays: indexOf", function() { - var numbers = [1, 2, 3]; - numbers.indexOf = null; - equals(_.indexOf(numbers, 2), 1, 'can compute indexOf, even without the native function'); - var result = (function(){ return _.indexOf(arguments, 2); })(1, 2, 3); - equals(result, 1, 'works on an arguments object'); - equals(_.indexOf(null, 2), -1, 'handles nulls properly'); - - var numbers = [10, 20, 30, 40, 50], num = 35; - var index = _.indexOf(numbers, num, true); - equals(index, -1, '35 is not in the list'); - - numbers = [10, 20, 30, 40, 50]; num = 40; - index = _.indexOf(numbers, num, true); - equals(index, 3, '40 is in the list'); - - numbers = [1, 40, 40, 40, 40, 40, 40, 40, 50, 60, 70]; num = 40; - index = _.indexOf(numbers, num, true); - equals(index, 1, '40 is in the list'); - }); - - test("arrays: lastIndexOf", function() { - var numbers = [1, 0, 1, 0, 0, 1, 0, 0, 0]; - numbers.lastIndexOf = null; - equals(_.lastIndexOf(numbers, 1), 5, 'can compute lastIndexOf, even without the native function'); - equals(_.lastIndexOf(numbers, 0), 8, 'lastIndexOf the other element'); - var result = (function(){ return _.lastIndexOf(arguments, 1); })(1, 0, 1, 0, 0, 1, 0, 0, 0); - equals(result, 5, 'works on an arguments object'); - equals(_.indexOf(null, 2), -1, 'handles nulls properly'); - }); - - test("arrays: range", function() { - equals(_.range(0).join(''), '', 'range with 0 as a first argument generates an empty array'); - equals(_.range(4).join(' '), '0 1 2 3', 'range with a single positive argument generates an array of elements 0,1,2,...,n-1'); - equals(_.range(5, 8).join(' '), '5 6 7', 'range with two arguments a & b, a<b generates an array of elements a,a+1,a+2,...,b-2,b-1'); - equals(_.range(8, 5).join(''), '', 'range with two arguments a & b, b<a generates an empty array'); - equals(_.range(3, 10, 3).join(' '), '3 6 9', 'range with three arguments a & b & c, c < b-a, a < b generates an array of elements a,a+c,a+2c,...,b - (multiplier of a) < c'); - equals(_.range(3, 10, 15).join(''), '3', 'range with three arguments a & b & c, c > b-a, a < b generates an array with a single element, equal to a'); - equals(_.range(12, 7, -2).join(' '), '12 10 8', 'range with three arguments a & b & c, a > b, c < 0 generates an array of elements a,a-c,a-2c and ends with the number not less than b'); - equals(_.range(0, -10, -1).join(' '), '0 -1 -2 -3 -4 -5 -6 -7 -8 -9', 'final example in the Python docs'); - }); - -}); diff --git a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/chaining.js b/node_modules/grunt/node_modules/underscore.string/test/test_underscore/chaining.js deleted file mode 100644 index 0e3d5f38534e..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/chaining.js +++ /dev/null @@ -1,59 +0,0 @@ -$(document).ready(function() { - - module("Chaining"); - - test("chaining: map/flatten/reduce", function() { - var lyrics = [ - "I'm a lumberjack and I'm okay", - "I sleep all night and I work all day", - "He's a lumberjack and he's okay", - "He sleeps all night and he works all day" - ]; - var counts = _(lyrics).chain() - .map(function(line) { return line.split(''); }) - .flatten() - .reduce(function(hash, l) { - hash[l] = hash[l] || 0; - hash[l]++; - return hash; - }, {}).value(); - ok(counts['a'] == 16 && counts['e'] == 10, 'counted all the letters in the song'); - }); - - test("chaining: select/reject/sortBy", function() { - var numbers = [1,2,3,4,5,6,7,8,9,10]; - numbers = _(numbers).chain().select(function(n) { - return n % 2 == 0; - }).reject(function(n) { - return n % 4 == 0; - }).sortBy(function(n) { - return -n; - }).value(); - equals(numbers.join(', '), "10, 6, 2", "filtered and reversed the numbers"); - }); - - test("chaining: select/reject/sortBy in functional style", function() { - var numbers = [1,2,3,4,5,6,7,8,9,10]; - numbers = _.chain(numbers).select(function(n) { - return n % 2 == 0; - }).reject(function(n) { - return n % 4 == 0; - }).sortBy(function(n) { - return -n; - }).value(); - equals(numbers.join(', '), "10, 6, 2", "filtered and reversed the numbers"); - }); - - test("chaining: reverse/concat/unshift/pop/map", function() { - var numbers = [1,2,3,4,5]; - numbers = _(numbers).chain() - .reverse() - .concat([5, 5, 5]) - .unshift(17) - .pop() - .map(function(n){ return n * 2; }) - .value(); - equals(numbers.join(', '), "34, 10, 8, 6, 4, 2, 10, 10", 'can chain together array functions.'); - }); - -}); diff --git a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/collections.js b/node_modules/grunt/node_modules/underscore.string/test/test_underscore/collections.js deleted file mode 100644 index cff9763ce1a9..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/collections.js +++ /dev/null @@ -1,270 +0,0 @@ -$(document).ready(function() { - - module("Collections"); - - test("collections: each", function() { - _.each([1, 2, 3], function(num, i) { - equals(num, i + 1, 'each iterators provide value and iteration count'); - }); - - var answers = []; - _.each([1, 2, 3], function(num){ answers.push(num * this.multiplier);}, {multiplier : 5}); - equals(answers.join(', '), '5, 10, 15', 'context object property accessed'); - - answers = []; - _.forEach([1, 2, 3], function(num){ answers.push(num); }); - equals(answers.join(', '), '1, 2, 3', 'aliased as "forEach"'); - - answers = []; - var obj = {one : 1, two : 2, three : 3}; - obj.constructor.prototype.four = 4; - _.each(obj, function(value, key){ answers.push(key); }); - equals(answers.join(", "), 'one, two, three', 'iterating over objects works, and ignores the object prototype.'); - delete obj.constructor.prototype.four; - - answer = null; - _.each([1, 2, 3], function(num, index, arr){ if (_.include(arr, num)) answer = true; }); - ok(answer, 'can reference the original collection from inside the iterator'); - - answers = 0; - _.each(null, function(){ ++answers; }); - equals(answers, 0, 'handles a null properly'); - }); - - test('collections: map', function() { - var doubled = _.map([1, 2, 3], function(num){ return num * 2; }); - equals(doubled.join(', '), '2, 4, 6', 'doubled numbers'); - - doubled = _.collect([1, 2, 3], function(num){ return num * 2; }); - equals(doubled.join(', '), '2, 4, 6', 'aliased as "collect"'); - - var tripled = _.map([1, 2, 3], function(num){ return num * this.multiplier; }, {multiplier : 3}); - equals(tripled.join(', '), '3, 6, 9', 'tripled numbers with context'); - - var doubled = _([1, 2, 3]).map(function(num){ return num * 2; }); - equals(doubled.join(', '), '2, 4, 6', 'OO-style doubled numbers'); - - var ids = _.map($('div.underscore-test').children(), function(n){ return n.id; }); - ok(_.include(ids, 'qunit-header'), 'can use collection methods on NodeLists'); - - var ids = _.map(document.images, function(n){ return n.id; }); - ok(ids[0] == 'chart_image', 'can use collection methods on HTMLCollections'); - - var ifnull = _.map(null, function(){}); - ok(_.isArray(ifnull) && ifnull.length === 0, 'handles a null properly'); - - var length = _.map(Array(2), function(v) { return v; }).length; - equals(length, 2, "can preserve a sparse array's length"); - }); - - test('collections: reduce', function() { - var sum = _.reduce([1, 2, 3], function(sum, num){ return sum + num; }, 0); - equals(sum, 6, 'can sum up an array'); - - var context = {multiplier : 3}; - sum = _.reduce([1, 2, 3], function(sum, num){ return sum + num * this.multiplier; }, 0, context); - equals(sum, 18, 'can reduce with a context object'); - - sum = _.inject([1, 2, 3], function(sum, num){ return sum + num; }, 0); - equals(sum, 6, 'aliased as "inject"'); - - sum = _([1, 2, 3]).reduce(function(sum, num){ return sum + num; }, 0); - equals(sum, 6, 'OO-style reduce'); - - var sum = _.reduce([1, 2, 3], function(sum, num){ return sum + num; }); - equals(sum, 6, 'default initial value'); - - var ifnull; - try { - _.reduce(null, function(){}); - } catch (ex) { - ifnull = ex; - } - ok(ifnull instanceof TypeError, 'handles a null (without inital value) properly'); - - ok(_.reduce(null, function(){}, 138) === 138, 'handles a null (with initial value) properly'); - equals(_.reduce([], function(){}, undefined), undefined, 'undefined can be passed as a special case'); - raises(function() { _.reduce([], function(){}); }, TypeError, 'throws an error for empty arrays with no initial value'); - - var sparseArray = []; - sparseArray[0] = 20; - sparseArray[2] = -5; - equals(_.reduce(sparseArray, function(a, b){ return a - b; }), 25, 'initially-sparse arrays with no memo'); - }); - - test('collections: reduceRight', function() { - var list = _.reduceRight(["foo", "bar", "baz"], function(memo, str){ return memo + str; }, ''); - equals(list, 'bazbarfoo', 'can perform right folds'); - - var list = _.foldr(["foo", "bar", "baz"], function(memo, str){ return memo + str; }, ''); - equals(list, 'bazbarfoo', 'aliased as "foldr"'); - - var list = _.foldr(["foo", "bar", "baz"], function(memo, str){ return memo + str; }); - equals(list, 'bazbarfoo', 'default initial value'); - - var ifnull; - try { - _.reduceRight(null, function(){}); - } catch (ex) { - ifnull = ex; - } - ok(ifnull instanceof TypeError, 'handles a null (without inital value) properly'); - - ok(_.reduceRight(null, function(){}, 138) === 138, 'handles a null (with initial value) properly'); - - equals(_.reduceRight([], function(){}, undefined), undefined, 'undefined can be passed as a special case'); - raises(function() { _.reduceRight([], function(){}); }, TypeError, 'throws an error for empty arrays with no initial value'); - - var sparseArray = []; - sparseArray[0] = 20; - sparseArray[2] = -5; - equals(_.reduceRight(sparseArray, function(a, b){ return a - b; }), -25, 'initially-sparse arrays with no memo'); - }); - - test('collections: detect', function() { - var result = _.detect([1, 2, 3], function(num){ return num * 2 == 4; }); - equals(result, 2, 'found the first "2" and broke the loop'); - }); - - test('collections: select', function() { - var evens = _.select([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; }); - equals(evens.join(', '), '2, 4, 6', 'selected each even number'); - - evens = _.filter([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; }); - equals(evens.join(', '), '2, 4, 6', 'aliased as "filter"'); - }); - - test('collections: reject', function() { - var odds = _.reject([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; }); - equals(odds.join(', '), '1, 3, 5', 'rejected each even number'); - }); - - test('collections: all', function() { - ok(_.all([], _.identity), 'the empty set'); - ok(_.all([true, true, true], _.identity), 'all true values'); - ok(!_.all([true, false, true], _.identity), 'one false value'); - ok(_.all([0, 10, 28], function(num){ return num % 2 == 0; }), 'even numbers'); - ok(!_.all([0, 11, 28], function(num){ return num % 2 == 0; }), 'an odd number'); - ok(_.every([true, true, true], _.identity), 'aliased as "every"'); - }); - - test('collections: any', function() { - var nativeSome = Array.prototype.some; - Array.prototype.some = null; - ok(!_.any([]), 'the empty set'); - ok(!_.any([false, false, false]), 'all false values'); - ok(_.any([false, false, true]), 'one true value'); - ok(_.any([null, 0, 'yes', false]), 'a string'); - ok(!_.any([null, 0, '', false]), 'falsy values'); - ok(!_.any([1, 11, 29], function(num){ return num % 2 == 0; }), 'all odd numbers'); - ok(_.any([1, 10, 29], function(num){ return num % 2 == 0; }), 'an even number'); - ok(_.some([false, false, true]), 'aliased as "some"'); - Array.prototype.some = nativeSome; - }); - - test('collections: include', function() { - ok(_.include([1,2,3], 2), 'two is in the array'); - ok(!_.include([1,3,9], 2), 'two is not in the array'); - ok(_.contains({moe:1, larry:3, curly:9}, 3) === true, '_.include on objects checks their values'); - ok(_([1,2,3]).include(2), 'OO-style include'); - }); - - test('collections: invoke', function() { - var list = [[5, 1, 7], [3, 2, 1]]; - var result = _.invoke(list, 'sort'); - equals(result[0].join(', '), '1, 5, 7', 'first array sorted'); - equals(result[1].join(', '), '1, 2, 3', 'second array sorted'); - }); - - test('collections: invoke w/ function reference', function() { - var list = [[5, 1, 7], [3, 2, 1]]; - var result = _.invoke(list, Array.prototype.sort); - equals(result[0].join(', '), '1, 5, 7', 'first array sorted'); - equals(result[1].join(', '), '1, 2, 3', 'second array sorted'); - }); - - // Relevant when using ClojureScript - test('collections: invoke when strings have a call method', function() { - String.prototype.call = function(){return 42;} - var list = [[5, 1, 7], [3, 2, 1]]; - var s = "foo"; - equals(s.call(), 42, "call function exists"); - var result = _.invoke(list, 'sort'); - equals(result[0].join(', '), '1, 5, 7', 'first array sorted'); - equals(result[1].join(', '), '1, 2, 3', 'second array sorted'); - delete String.prototype.call; - equals(s.call, undefined, "call function removed"); - }); - - test('collections: pluck', function() { - var people = [{name : 'moe', age : 30}, {name : 'curly', age : 50}]; - equals(_.pluck(people, 'name').join(', '), 'moe, curly', 'pulls names out of objects'); - }); - - test('collections: max', function() { - equals(3, _.max([1, 2, 3]), 'can perform a regular Math.max'); - - var neg = _.max([1, 2, 3], function(num){ return -num; }); - equals(neg, 1, 'can perform a computation-based max'); - - equals(-Infinity, _.max({}), 'Maximum value of an empty object'); - equals(-Infinity, _.max([]), 'Maximum value of an empty array'); - }); - - test('collections: min', function() { - equals(1, _.min([1, 2, 3]), 'can perform a regular Math.min'); - - var neg = _.min([1, 2, 3], function(num){ return -num; }); - equals(neg, 3, 'can perform a computation-based min'); - - equals(Infinity, _.min({}), 'Minimum value of an empty object'); - equals(Infinity, _.min([]), 'Minimum value of an empty array'); - }); - - test('collections: sortBy', function() { - var people = [{name : 'curly', age : 50}, {name : 'moe', age : 30}]; - people = _.sortBy(people, function(person){ return person.age; }); - equals(_.pluck(people, 'name').join(', '), 'moe, curly', 'stooges sorted by age'); - }); - - test('collections: groupBy', function() { - var parity = _.groupBy([1, 2, 3, 4, 5, 6], function(num){ return num % 2; }); - ok('0' in parity && '1' in parity, 'created a group for each value'); - equals(parity[0].join(', '), '2, 4, 6', 'put each even number in the right group'); - - var list = ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"]; - var grouped = _.groupBy(list, 'length'); - equals(grouped['3'].join(' '), 'one two six ten'); - equals(grouped['4'].join(' '), 'four five nine'); - equals(grouped['5'].join(' '), 'three seven eight'); - }); - - test('collections: sortedIndex', function() { - var numbers = [10, 20, 30, 40, 50], num = 35; - var index = _.sortedIndex(numbers, num); - equals(index, 3, '35 should be inserted at index 3'); - }); - - test('collections: shuffle', function() { - var numbers = _.range(10); - var shuffled = _.shuffle(numbers).sort(); - notStrictEqual(numbers, shuffled, 'original object is unmodified'); - equals(shuffled.join(','), numbers.join(','), 'contains the same members before and after shuffle'); - }); - - test('collections: toArray', function() { - ok(!_.isArray(arguments), 'arguments object is not an array'); - ok(_.isArray(_.toArray(arguments)), 'arguments object converted into array'); - var a = [1,2,3]; - ok(_.toArray(a) !== a, 'array is cloned'); - equals(_.toArray(a).join(', '), '1, 2, 3', 'cloned array contains same elements'); - - var numbers = _.toArray({one : 1, two : 2, three : 3}); - equals(numbers.join(', '), '1, 2, 3', 'object flattened into array'); - }); - - test('collections: size', function() { - equals(_.size({one : 1, two : 2, three : 3}), 3, 'can compute the size of an object'); - }); - -}); diff --git a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/functions.js b/node_modules/grunt/node_modules/underscore.string/test/test_underscore/functions.js deleted file mode 100644 index 78721af16350..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/functions.js +++ /dev/null @@ -1,198 +0,0 @@ -$(document).ready(function() { - - module("Functions"); - - test("functions: bind", function() { - var context = {name : 'moe'}; - var func = function(arg) { return "name: " + (this.name || arg); }; - var bound = _.bind(func, context); - equals(bound(), 'name: moe', 'can bind a function to a context'); - - bound = _(func).bind(context); - equals(bound(), 'name: moe', 'can do OO-style binding'); - - bound = _.bind(func, null, 'curly'); - equals(bound(), 'name: curly', 'can bind without specifying a context'); - - func = function(salutation, name) { return salutation + ': ' + name; }; - func = _.bind(func, this, 'hello'); - equals(func('moe'), 'hello: moe', 'the function was partially applied in advance'); - - var func = _.bind(func, this, 'curly'); - equals(func(), 'hello: curly', 'the function was completely applied in advance'); - - var func = function(salutation, firstname, lastname) { return salutation + ': ' + firstname + ' ' + lastname; }; - func = _.bind(func, this, 'hello', 'moe', 'curly'); - equals(func(), 'hello: moe curly', 'the function was partially applied in advance and can accept multiple arguments'); - - func = function(context, message) { equals(this, context, message); }; - _.bind(func, 0, 0, 'can bind a function to `0`')(); - _.bind(func, '', '', 'can bind a function to an empty string')(); - _.bind(func, false, false, 'can bind a function to `false`')(); - - // These tests are only meaningful when using a browser without a native bind function - // To test this with a modern browser, set underscore's nativeBind to undefined - var F = function () { return this; }; - var Boundf = _.bind(F, {hello: "moe curly"}); - equal(new Boundf().hello, undefined, "function should not be bound to the context, to comply with ECMAScript 5"); - equal(Boundf().hello, "moe curly", "When called without the new operator, it's OK to be bound to the context"); - }); - - test("functions: bindAll", function() { - var curly = {name : 'curly'}, moe = { - name : 'moe', - getName : function() { return 'name: ' + this.name; }, - sayHi : function() { return 'hi: ' + this.name; } - }; - curly.getName = moe.getName; - _.bindAll(moe, 'getName', 'sayHi'); - curly.sayHi = moe.sayHi; - equals(curly.getName(), 'name: curly', 'unbound function is bound to current object'); - equals(curly.sayHi(), 'hi: moe', 'bound function is still bound to original object'); - - curly = {name : 'curly'}; - moe = { - name : 'moe', - getName : function() { return 'name: ' + this.name; }, - sayHi : function() { return 'hi: ' + this.name; } - }; - _.bindAll(moe); - curly.sayHi = moe.sayHi; - equals(curly.sayHi(), 'hi: moe', 'calling bindAll with no arguments binds all functions to the object'); - }); - - test("functions: memoize", function() { - var fib = function(n) { - return n < 2 ? n : fib(n - 1) + fib(n - 2); - }; - var fastFib = _.memoize(fib); - equals(fib(10), 55, 'a memoized version of fibonacci produces identical results'); - equals(fastFib(10), 55, 'a memoized version of fibonacci produces identical results'); - - var o = function(str) { - return str; - }; - var fastO = _.memoize(o); - equals(o('toString'), 'toString', 'checks hasOwnProperty'); - equals(fastO('toString'), 'toString', 'checks hasOwnProperty'); - }); - - asyncTest("functions: delay", 2, function() { - var delayed = false; - _.delay(function(){ delayed = true; }, 100); - setTimeout(function(){ ok(!delayed, "didn't delay the function quite yet"); }, 50); - setTimeout(function(){ ok(delayed, 'delayed the function'); start(); }, 150); - }); - - asyncTest("functions: defer", 1, function() { - var deferred = false; - _.defer(function(bool){ deferred = bool; }, true); - _.delay(function(){ ok(deferred, "deferred the function"); start(); }, 50); - }); - - asyncTest("functions: throttle", 2, function() { - var counter = 0; - var incr = function(){ counter++; }; - var throttledIncr = _.throttle(incr, 100); - throttledIncr(); throttledIncr(); throttledIncr(); - setTimeout(throttledIncr, 70); - setTimeout(throttledIncr, 120); - setTimeout(throttledIncr, 140); - setTimeout(throttledIncr, 190); - setTimeout(throttledIncr, 220); - setTimeout(throttledIncr, 240); - _.delay(function(){ ok(counter == 1, "incr was called immediately"); }, 30); - _.delay(function(){ ok(counter == 4, "incr was throttled"); start(); }, 400); - }); - - asyncTest("functions: throttle arguments", 2, function() { - var value = 0; - var update = function(val){ value = val; }; - var throttledUpdate = _.throttle(update, 100); - throttledUpdate(1); throttledUpdate(2); throttledUpdate(3); - setTimeout(function(){ throttledUpdate(4); }, 120); - setTimeout(function(){ throttledUpdate(5); }, 140); - setTimeout(function(){ throttledUpdate(6); }, 250); - _.delay(function(){ equals(value, 1, "updated to latest value"); }, 40); - _.delay(function(){ equals(value, 6, "updated to latest value"); start(); }, 400); - }); - - asyncTest("functions: throttle once", 1, function() { - var counter = 0; - var incr = function(){ counter++; }; - var throttledIncr = _.throttle(incr, 100); - throttledIncr(); - _.delay(function(){ ok(counter == 1, "incr was called once"); start(); }, 220); - }); - - asyncTest("functions: throttle twice", 1, function() { - var counter = 0; - var incr = function(){ counter++; }; - var throttledIncr = _.throttle(incr, 100); - throttledIncr(); throttledIncr(); - _.delay(function(){ ok(counter == 2, "incr was called twice"); start(); }, 220); - }); - - asyncTest("functions: debounce", 1, function() { - var counter = 0; - var incr = function(){ counter++; }; - var debouncedIncr = _.debounce(incr, 50); - debouncedIncr(); debouncedIncr(); debouncedIncr(); - setTimeout(debouncedIncr, 30); - setTimeout(debouncedIncr, 60); - setTimeout(debouncedIncr, 90); - setTimeout(debouncedIncr, 120); - setTimeout(debouncedIncr, 150); - _.delay(function(){ ok(counter == 1, "incr was debounced"); start(); }, 220); - }); - - test("functions: once", function() { - var num = 0; - var increment = _.once(function(){ num++; }); - increment(); - increment(); - equals(num, 1); - }); - - test("functions: wrap", function() { - var greet = function(name){ return "hi: " + name; }; - var backwards = _.wrap(greet, function(func, name){ return func(name) + ' ' + name.split('').reverse().join(''); }); - equals(backwards('moe'), 'hi: moe eom', 'wrapped the saluation function'); - - var inner = function(){ return "Hello "; }; - var obj = {name : "Moe"}; - obj.hi = _.wrap(inner, function(fn){ return fn() + this.name; }); - equals(obj.hi(), "Hello Moe"); - - var noop = function(){}; - var wrapped = _.wrap(noop, function(fn){ return Array.prototype.slice.call(arguments, 0); }); - var ret = wrapped(['whats', 'your'], 'vector', 'victor'); - same(ret, [noop, ['whats', 'your'], 'vector', 'victor']); - }); - - test("functions: compose", function() { - var greet = function(name){ return "hi: " + name; }; - var exclaim = function(sentence){ return sentence + '!'; }; - var composed = _.compose(exclaim, greet); - equals(composed('moe'), 'hi: moe!', 'can compose a function that takes another'); - - composed = _.compose(greet, exclaim); - equals(composed('moe'), 'hi: moe!', 'in this case, the functions are also commutative'); - }); - - test("functions: after", function() { - var testAfter = function(afterAmount, timesCalled) { - var afterCalled = 0; - var after = _.after(afterAmount, function() { - afterCalled++; - }); - while (timesCalled--) after(); - return afterCalled; - }; - - equals(testAfter(5, 5), 1, "after(N) should fire after being called N times"); - equals(testAfter(5, 4), 0, "after(N) should not fire unless called N times"); - equals(testAfter(0, 0), 1, "after(0) should fire immediately"); - }); - -}); diff --git a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/objects.js b/node_modules/grunt/node_modules/underscore.string/test/test_underscore/objects.js deleted file mode 100644 index 0105d608a98f..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/objects.js +++ /dev/null @@ -1,535 +0,0 @@ -$(document).ready(function() { - - module("Objects"); - - test("objects: keys", function() { - var exception = /object/; - equals(_.keys({one : 1, two : 2}).join(', '), 'one, two', 'can extract the keys from an object'); - // the test above is not safe because it relies on for-in enumeration order - var a = []; a[1] = 0; - equals(_.keys(a).join(', '), '1', 'is not fooled by sparse arrays; see issue #95'); - raises(function() { _.keys(null); }, exception, 'throws an error for `null` values'); - raises(function() { _.keys(void 0); }, exception, 'throws an error for `undefined` values'); - raises(function() { _.keys(1); }, exception, 'throws an error for number primitives'); - raises(function() { _.keys('a'); }, exception, 'throws an error for string primitives'); - raises(function() { _.keys(true); }, exception, 'throws an error for boolean primitives'); - }); - - test("objects: values", function() { - equals(_.values({one : 1, two : 2}).join(', '), '1, 2', 'can extract the values from an object'); - }); - - test("objects: functions", function() { - var obj = {a : 'dash', b : _.map, c : (/yo/), d : _.reduce}; - ok(_.isEqual(['b', 'd'], _.functions(obj)), 'can grab the function names of any passed-in object'); - - var Animal = function(){}; - Animal.prototype.run = function(){}; - equals(_.functions(new Animal).join(''), 'run', 'also looks up functions on the prototype'); - }); - - test("objects: extend", function() { - var result; - equals(_.extend({}, {a:'b'}).a, 'b', 'can extend an object with the attributes of another'); - equals(_.extend({a:'x'}, {a:'b'}).a, 'b', 'properties in source override destination'); - equals(_.extend({x:'x'}, {a:'b'}).x, 'x', 'properties not in source dont get overriden'); - result = _.extend({x:'x'}, {a:'a'}, {b:'b'}); - ok(_.isEqual(result, {x:'x', a:'a', b:'b'}), 'can extend from multiple source objects'); - result = _.extend({x:'x'}, {a:'a', x:2}, {a:'b'}); - ok(_.isEqual(result, {x:2, a:'b'}), 'extending from multiple source objects last property trumps'); - result = _.extend({}, {a: void 0, b: null}); - equals(_.keys(result).join(''), 'ab', 'extend does not copy undefined values'); - }); - - test("objects: defaults", function() { - var result; - var options = {zero: 0, one: 1, empty: "", nan: NaN, string: "string"}; - - _.defaults(options, {zero: 1, one: 10, twenty: 20}); - equals(options.zero, 0, 'value exists'); - equals(options.one, 1, 'value exists'); - equals(options.twenty, 20, 'default applied'); - - _.defaults(options, {empty: "full"}, {nan: "nan"}, {word: "word"}, {word: "dog"}); - equals(options.empty, "", 'value exists'); - ok(_.isNaN(options.nan), "NaN isn't overridden"); - equals(options.word, "word", 'new value is added, first one wins'); - }); - - test("objects: clone", function() { - var moe = {name : 'moe', lucky : [13, 27, 34]}; - var clone = _.clone(moe); - equals(clone.name, 'moe', 'the clone as the attributes of the original'); - - clone.name = 'curly'; - ok(clone.name == 'curly' && moe.name == 'moe', 'clones can change shallow attributes without affecting the original'); - - clone.lucky.push(101); - equals(_.last(moe.lucky), 101, 'changes to deep attributes are shared with the original'); - - equals(_.clone(undefined), void 0, 'non objects should not be changed by clone'); - equals(_.clone(1), 1, 'non objects should not be changed by clone'); - equals(_.clone(null), null, 'non objects should not be changed by clone'); - }); - - test("objects: isEqual", function() { - function First() { - this.value = 1; - } - First.prototype.value = 1; - function Second() { - this.value = 1; - } - Second.prototype.value = 2; - - // Basic equality and identity comparisons. - ok(_.isEqual(null, null), "`null` is equal to `null`"); - ok(_.isEqual(), "`undefined` is equal to `undefined`"); - - ok(!_.isEqual(0, -0), "`0` is not equal to `-0`"); - ok(!_.isEqual(-0, 0), "Commutative equality is implemented for `0` and `-0`"); - ok(!_.isEqual(null, undefined), "`null` is not equal to `undefined`"); - ok(!_.isEqual(undefined, null), "Commutative equality is implemented for `null` and `undefined`"); - - // String object and primitive comparisons. - ok(_.isEqual("Curly", "Curly"), "Identical string primitives are equal"); - ok(_.isEqual(new String("Curly"), new String("Curly")), "String objects with identical primitive values are equal"); - ok(_.isEqual(new String("Curly"), "Curly"), "String primitives and their corresponding object wrappers are equal"); - ok(_.isEqual("Curly", new String("Curly")), "Commutative equality is implemented for string objects and primitives"); - - ok(!_.isEqual("Curly", "Larry"), "String primitives with different values are not equal"); - ok(!_.isEqual(new String("Curly"), new String("Larry")), "String objects with different primitive values are not equal"); - ok(!_.isEqual(new String("Curly"), {toString: function(){ return "Curly"; }}), "String objects and objects with a custom `toString` method are not equal"); - - // Number object and primitive comparisons. - ok(_.isEqual(75, 75), "Identical number primitives are equal"); - ok(_.isEqual(new Number(75), new Number(75)), "Number objects with identical primitive values are equal"); - ok(_.isEqual(75, new Number(75)), "Number primitives and their corresponding object wrappers are equal"); - ok(_.isEqual(new Number(75), 75), "Commutative equality is implemented for number objects and primitives"); - ok(!_.isEqual(new Number(0), -0), "`new Number(0)` and `-0` are not equal"); - ok(!_.isEqual(0, new Number(-0)), "Commutative equality is implemented for `new Number(0)` and `-0`"); - - ok(!_.isEqual(new Number(75), new Number(63)), "Number objects with different primitive values are not equal"); - ok(!_.isEqual(new Number(63), {valueOf: function(){ return 63; }}), "Number objects and objects with a `valueOf` method are not equal"); - - // Comparisons involving `NaN`. - ok(_.isEqual(NaN, NaN), "`NaN` is equal to `NaN`"); - ok(!_.isEqual(61, NaN), "A number primitive is not equal to `NaN`"); - ok(!_.isEqual(new Number(79), NaN), "A number object is not equal to `NaN`"); - ok(!_.isEqual(Infinity, NaN), "`Infinity` is not equal to `NaN`"); - - // Boolean object and primitive comparisons. - ok(_.isEqual(true, true), "Identical boolean primitives are equal"); - ok(_.isEqual(new Boolean, new Boolean), "Boolean objects with identical primitive values are equal"); - ok(_.isEqual(true, new Boolean(true)), "Boolean primitives and their corresponding object wrappers are equal"); - ok(_.isEqual(new Boolean(true), true), "Commutative equality is implemented for booleans"); - ok(!_.isEqual(new Boolean(true), new Boolean), "Boolean objects with different primitive values are not equal"); - - // Common type coercions. - ok(!_.isEqual(true, new Boolean(false)), "Boolean objects are not equal to the boolean primitive `true`"); - ok(!_.isEqual("75", 75), "String and number primitives with like values are not equal"); - ok(!_.isEqual(new Number(63), new String(63)), "String and number objects with like values are not equal"); - ok(!_.isEqual(75, "75"), "Commutative equality is implemented for like string and number values"); - ok(!_.isEqual(0, ""), "Number and string primitives with like values are not equal"); - ok(!_.isEqual(1, true), "Number and boolean primitives with like values are not equal"); - ok(!_.isEqual(new Boolean(false), new Number(0)), "Boolean and number objects with like values are not equal"); - ok(!_.isEqual(false, new String("")), "Boolean primitives and string objects with like values are not equal"); - ok(!_.isEqual(12564504e5, new Date(2009, 9, 25)), "Dates and their corresponding numeric primitive values are not equal"); - - // Dates. - ok(_.isEqual(new Date(2009, 9, 25), new Date(2009, 9, 25)), "Date objects referencing identical times are equal"); - ok(!_.isEqual(new Date(2009, 9, 25), new Date(2009, 11, 13)), "Date objects referencing different times are not equal"); - ok(!_.isEqual(new Date(2009, 11, 13), { - getTime: function(){ - return 12606876e5; - } - }), "Date objects and objects with a `getTime` method are not equal"); - ok(!_.isEqual(new Date("Curly"), new Date("Curly")), "Invalid dates are not equal"); - - // Functions. - ok(!_.isEqual(First, Second), "Different functions with identical bodies and source code representations are not equal"); - - // RegExps. - ok(_.isEqual(/(?:)/gim, /(?:)/gim), "RegExps with equivalent patterns and flags are equal"); - ok(!_.isEqual(/(?:)/g, /(?:)/gi), "RegExps with equivalent patterns and different flags are not equal"); - ok(!_.isEqual(/Moe/gim, /Curly/gim), "RegExps with different patterns and equivalent flags are not equal"); - ok(!_.isEqual(/(?:)/gi, /(?:)/g), "Commutative equality is implemented for RegExps"); - ok(!_.isEqual(/Curly/g, {source: "Larry", global: true, ignoreCase: false, multiline: false}), "RegExps and RegExp-like objects are not equal"); - - // Empty arrays, array-like objects, and object literals. - ok(_.isEqual({}, {}), "Empty object literals are equal"); - ok(_.isEqual([], []), "Empty array literals are equal"); - ok(_.isEqual([{}], [{}]), "Empty nested arrays and objects are equal"); - ok(!_.isEqual({length: 0}, []), "Array-like objects and arrays are not equal."); - ok(!_.isEqual([], {length: 0}), "Commutative equality is implemented for array-like objects"); - - ok(!_.isEqual({}, []), "Object literals and array literals are not equal"); - ok(!_.isEqual([], {}), "Commutative equality is implemented for objects and arrays"); - - // Arrays with primitive and object values. - ok(_.isEqual([1, "Larry", true], [1, "Larry", true]), "Arrays containing identical primitives are equal"); - ok(_.isEqual([/Moe/g, new Date(2009, 9, 25)], [/Moe/g, new Date(2009, 9, 25)]), "Arrays containing equivalent elements are equal"); - - // Multi-dimensional arrays. - var a = [new Number(47), false, "Larry", /Moe/, new Date(2009, 11, 13), ['running', 'biking', new String('programming')], {a: 47}]; - var b = [new Number(47), false, "Larry", /Moe/, new Date(2009, 11, 13), ['running', 'biking', new String('programming')], {a: 47}]; - ok(_.isEqual(a, b), "Arrays containing nested arrays and objects are recursively compared"); - - // Overwrite the methods defined in ES 5.1 section 15.4.4. - a.forEach = a.map = a.filter = a.every = a.indexOf = a.lastIndexOf = a.some = a.reduce = a.reduceRight = null; - b.join = b.pop = b.reverse = b.shift = b.slice = b.splice = b.concat = b.sort = b.unshift = null; - - // Array elements and properties. - ok(_.isEqual(a, b), "Arrays containing equivalent elements and different non-numeric properties are equal"); - a.push("White Rocks"); - ok(!_.isEqual(a, b), "Arrays of different lengths are not equal"); - a.push("East Boulder"); - b.push("Gunbarrel Ranch", "Teller Farm"); - ok(!_.isEqual(a, b), "Arrays of identical lengths containing different elements are not equal"); - - // Sparse arrays. - ok(_.isEqual(Array(3), Array(3)), "Sparse arrays of identical lengths are equal"); - ok(!_.isEqual(Array(3), Array(6)), "Sparse arrays of different lengths are not equal when both are empty"); - - // According to the Microsoft deviations spec, section 2.1.26, JScript 5.x treats `undefined` - // elements in arrays as elisions. Thus, sparse arrays and dense arrays containing `undefined` - // values are equivalent. - if (0 in [undefined]) { - ok(!_.isEqual(Array(3), [undefined, undefined, undefined]), "Sparse and dense arrays are not equal"); - ok(!_.isEqual([undefined, undefined, undefined], Array(3)), "Commutative equality is implemented for sparse and dense arrays"); - } - - // Simple objects. - ok(_.isEqual({a: "Curly", b: 1, c: true}, {a: "Curly", b: 1, c: true}), "Objects containing identical primitives are equal"); - ok(_.isEqual({a: /Curly/g, b: new Date(2009, 11, 13)}, {a: /Curly/g, b: new Date(2009, 11, 13)}), "Objects containing equivalent members are equal"); - ok(!_.isEqual({a: 63, b: 75}, {a: 61, b: 55}), "Objects of identical sizes with different values are not equal"); - ok(!_.isEqual({a: 63, b: 75}, {a: 61, c: 55}), "Objects of identical sizes with different property names are not equal"); - ok(!_.isEqual({a: 1, b: 2}, {a: 1}), "Objects of different sizes are not equal"); - ok(!_.isEqual({a: 1}, {a: 1, b: 2}), "Commutative equality is implemented for objects"); - ok(!_.isEqual({x: 1, y: undefined}, {x: 1, z: 2}), "Objects with identical keys and different values are not equivalent"); - - // `A` contains nested objects and arrays. - a = { - name: new String("Moe Howard"), - age: new Number(77), - stooge: true, - hobbies: ["acting"], - film: { - name: "Sing a Song of Six Pants", - release: new Date(1947, 9, 30), - stars: [new String("Larry Fine"), "Shemp Howard"], - minutes: new Number(16), - seconds: 54 - } - }; - - // `B` contains equivalent nested objects and arrays. - b = { - name: new String("Moe Howard"), - age: new Number(77), - stooge: true, - hobbies: ["acting"], - film: { - name: "Sing a Song of Six Pants", - release: new Date(1947, 9, 30), - stars: [new String("Larry Fine"), "Shemp Howard"], - minutes: new Number(16), - seconds: 54 - } - }; - ok(_.isEqual(a, b), "Objects with nested equivalent members are recursively compared"); - - // Instances. - ok(_.isEqual(new First, new First), "Object instances are equal"); - ok(!_.isEqual(new First, new Second), "Objects with different constructors and identical own properties are not equal"); - ok(!_.isEqual({value: 1}, new First), "Object instances and objects sharing equivalent properties are not equal"); - ok(!_.isEqual({value: 2}, new Second), "The prototype chain of objects should not be examined"); - - // Circular Arrays. - (a = []).push(a); - (b = []).push(b); - ok(_.isEqual(a, b), "Arrays containing circular references are equal"); - a.push(new String("Larry")); - b.push(new String("Larry")); - ok(_.isEqual(a, b), "Arrays containing circular references and equivalent properties are equal"); - a.push("Shemp"); - b.push("Curly"); - ok(!_.isEqual(a, b), "Arrays containing circular references and different properties are not equal"); - - // Circular Objects. - a = {abc: null}; - b = {abc: null}; - a.abc = a; - b.abc = b; - ok(_.isEqual(a, b), "Objects containing circular references are equal"); - a.def = 75; - b.def = 75; - ok(_.isEqual(a, b), "Objects containing circular references and equivalent properties are equal"); - a.def = new Number(75); - b.def = new Number(63); - ok(!_.isEqual(a, b), "Objects containing circular references and different properties are not equal"); - - // Cyclic Structures. - a = [{abc: null}]; - b = [{abc: null}]; - (a[0].abc = a).push(a); - (b[0].abc = b).push(b); - ok(_.isEqual(a, b), "Cyclic structures are equal"); - a[0].def = "Larry"; - b[0].def = "Larry"; - ok(_.isEqual(a, b), "Cyclic structures containing equivalent properties are equal"); - a[0].def = new String("Larry"); - b[0].def = new String("Curly"); - ok(!_.isEqual(a, b), "Cyclic structures containing different properties are not equal"); - - // Complex Circular References. - a = {foo: {b: {foo: {c: {foo: null}}}}}; - b = {foo: {b: {foo: {c: {foo: null}}}}}; - a.foo.b.foo.c.foo = a; - b.foo.b.foo.c.foo = b; - ok(_.isEqual(a, b), "Cyclic structures with nested and identically-named properties are equal"); - - // Chaining. - ok(!_.isEqual(_({x: 1, y: undefined}).chain(), _({x: 1, z: 2}).chain()), 'Chained objects containing different values are not equal'); - equals(_({x: 1, y: 2}).chain().isEqual(_({x: 1, y: 2}).chain()).value(), true, '`isEqual` can be chained'); - - // Custom `isEqual` methods. - var isEqualObj = {isEqual: function (o) { return o.isEqual == this.isEqual; }, unique: {}}; - var isEqualObjClone = {isEqual: isEqualObj.isEqual, unique: {}}; - - ok(_.isEqual(isEqualObj, isEqualObjClone), 'Both objects implement identical `isEqual` methods'); - ok(_.isEqual(isEqualObjClone, isEqualObj), 'Commutative equality is implemented for objects with custom `isEqual` methods'); - ok(!_.isEqual(isEqualObj, {}), 'Objects that do not implement equivalent `isEqual` methods are not equal'); - ok(!_.isEqual({}, isEqualObj), 'Commutative equality is implemented for objects with different `isEqual` methods'); - - // Custom `isEqual` methods - comparing different types - LocalizedString = (function() { - function LocalizedString(id) { this.id = id; this.string = (this.id===10)? 'Bonjour': ''; } - LocalizedString.prototype.isEqual = function(that) { - if (_.isString(that)) return this.string == that; - else if (that instanceof LocalizedString) return this.id == that.id; - return false; - }; - return LocalizedString; - })(); - var localized_string1 = new LocalizedString(10), localized_string2 = new LocalizedString(10), localized_string3 = new LocalizedString(11); - ok(_.isEqual(localized_string1, localized_string2), 'comparing same typed instances with same ids'); - ok(!_.isEqual(localized_string1, localized_string3), 'comparing same typed instances with different ids'); - ok(_.isEqual(localized_string1, 'Bonjour'), 'comparing different typed instances with same values'); - ok(_.isEqual('Bonjour', localized_string1), 'comparing different typed instances with same values'); - ok(!_.isEqual('Bonjour', localized_string3), 'comparing two localized strings with different ids'); - ok(!_.isEqual(localized_string1, 'Au revoir'), 'comparing different typed instances with different values'); - ok(!_.isEqual('Au revoir', localized_string1), 'comparing different typed instances with different values'); - - // Custom `isEqual` methods - comparing with serialized data - Date.prototype.toJSON = function() { - return { - _type:'Date', - year:this.getUTCFullYear(), - month:this.getUTCMonth(), - day:this.getUTCDate(), - hours:this.getUTCHours(), - minutes:this.getUTCMinutes(), - seconds:this.getUTCSeconds() - }; - }; - Date.prototype.isEqual = function(that) { - var this_date_components = this.toJSON(); - var that_date_components = (that instanceof Date) ? that.toJSON() : that; - delete this_date_components['_type']; delete that_date_components['_type'] - return _.isEqual(this_date_components, that_date_components); - }; - - var date = new Date(); - var date_json = { - _type:'Date', - year:date.getUTCFullYear(), - month:date.getUTCMonth(), - day:date.getUTCDate(), - hours:date.getUTCHours(), - minutes:date.getUTCMinutes(), - seconds:date.getUTCSeconds() - }; - - ok(_.isEqual(date_json, date), 'serialized date matches date'); - ok(_.isEqual(date, date_json), 'date matches serialized date'); - }); - - test("objects: isEmpty", function() { - ok(!_([1]).isEmpty(), '[1] is not empty'); - ok(_.isEmpty([]), '[] is empty'); - ok(!_.isEmpty({one : 1}), '{one : 1} is not empty'); - ok(_.isEmpty({}), '{} is empty'); - ok(_.isEmpty(new RegExp('')), 'objects with prototype properties are empty'); - ok(_.isEmpty(null), 'null is empty'); - ok(_.isEmpty(), 'undefined is empty'); - ok(_.isEmpty(''), 'the empty string is empty'); - ok(!_.isEmpty('moe'), 'but other strings are not'); - - var obj = {one : 1}; - delete obj.one; - ok(_.isEmpty(obj), 'deleting all the keys from an object empties it'); - }); - - // Setup remote variables for iFrame tests. - var iframe = document.createElement('iframe'); - jQuery(iframe).appendTo(document.body); - var iDoc = iframe.contentDocument || iframe.contentWindow.document; - iDoc.write( - "" - ); - iDoc.close(); - - test("objects: isElement", function() { - ok(!_.isElement('div'), 'strings are not dom elements'); - ok(_.isElement($('html')[0]), 'the html tag is a DOM element'); - ok(_.isElement(iElement), 'even from another frame'); - }); - - test("objects: isArguments", function() { - var args = (function(){ return arguments; })(1, 2, 3); - ok(!_.isArguments('string'), 'a string is not an arguments object'); - ok(!_.isArguments(_.isArguments), 'a function is not an arguments object'); - ok(_.isArguments(args), 'but the arguments object is an arguments object'); - ok(!_.isArguments(_.toArray(args)), 'but not when it\'s converted into an array'); - ok(!_.isArguments([1,2,3]), 'and not vanilla arrays.'); - ok(_.isArguments(iArguments), 'even from another frame'); - }); - - test("objects: isObject", function() { - ok(_.isObject(arguments), 'the arguments object is object'); - ok(_.isObject([1, 2, 3]), 'and arrays'); - ok(_.isObject($('html')[0]), 'and DOM element'); - ok(_.isObject(iElement), 'even from another frame'); - ok(_.isObject(function () {}), 'and functions'); - ok(_.isObject(iFunction), 'even from another frame'); - ok(!_.isObject(null), 'but not null'); - ok(!_.isObject(undefined), 'and not undefined'); - ok(!_.isObject('string'), 'and not string'); - ok(!_.isObject(12), 'and not number'); - ok(!_.isObject(true), 'and not boolean'); - ok(_.isObject(new String('string')), 'but new String()'); - }); - - test("objects: isArray", function() { - ok(!_.isArray(arguments), 'the arguments object is not an array'); - ok(_.isArray([1, 2, 3]), 'but arrays are'); - ok(_.isArray(iArray), 'even from another frame'); - }); - - test("objects: isString", function() { - ok(!_.isString(document.body), 'the document body is not a string'); - ok(_.isString([1, 2, 3].join(', ')), 'but strings are'); - ok(_.isString(iString), 'even from another frame'); - }); - - test("objects: isNumber", function() { - ok(!_.isNumber('string'), 'a string is not a number'); - ok(!_.isNumber(arguments), 'the arguments object is not a number'); - ok(!_.isNumber(undefined), 'undefined is not a number'); - ok(_.isNumber(3 * 4 - 7 / 10), 'but numbers are'); - ok(_.isNumber(NaN), 'NaN *is* a number'); - ok(_.isNumber(Infinity), 'Infinity is a number'); - ok(_.isNumber(iNumber), 'even from another frame'); - ok(!_.isNumber('1'), 'numeric strings are not numbers'); - }); - - test("objects: isBoolean", function() { - ok(!_.isBoolean(2), 'a number is not a boolean'); - ok(!_.isBoolean("string"), 'a string is not a boolean'); - ok(!_.isBoolean("false"), 'the string "false" is not a boolean'); - ok(!_.isBoolean("true"), 'the string "true" is not a boolean'); - ok(!_.isBoolean(arguments), 'the arguments object is not a boolean'); - ok(!_.isBoolean(undefined), 'undefined is not a boolean'); - ok(!_.isBoolean(NaN), 'NaN is not a boolean'); - ok(!_.isBoolean(null), 'null is not a boolean'); - ok(_.isBoolean(true), 'but true is'); - ok(_.isBoolean(false), 'and so is false'); - ok(_.isBoolean(iBoolean), 'even from another frame'); - }); - - test("objects: isFunction", function() { - ok(!_.isFunction([1, 2, 3]), 'arrays are not functions'); - ok(!_.isFunction('moe'), 'strings are not functions'); - ok(_.isFunction(_.isFunction), 'but functions are'); - ok(_.isFunction(iFunction), 'even from another frame'); - }); - - test("objects: isDate", function() { - ok(!_.isDate(100), 'numbers are not dates'); - ok(!_.isDate({}), 'objects are not dates'); - ok(_.isDate(new Date()), 'but dates are'); - ok(_.isDate(iDate), 'even from another frame'); - }); - - test("objects: isRegExp", function() { - ok(!_.isRegExp(_.identity), 'functions are not RegExps'); - ok(_.isRegExp(/identity/), 'but RegExps are'); - ok(_.isRegExp(iRegExp), 'even from another frame'); - }); - - test("objects: isNaN", function() { - ok(!_.isNaN(undefined), 'undefined is not NaN'); - ok(!_.isNaN(null), 'null is not NaN'); - ok(!_.isNaN(0), '0 is not NaN'); - ok(_.isNaN(NaN), 'but NaN is'); - ok(_.isNaN(iNaN), 'even from another frame'); - }); - - test("objects: isNull", function() { - ok(!_.isNull(undefined), 'undefined is not null'); - ok(!_.isNull(NaN), 'NaN is not null'); - ok(_.isNull(null), 'but null is'); - ok(_.isNull(iNull), 'even from another frame'); - }); - - test("objects: isUndefined", function() { - ok(!_.isUndefined(1), 'numbers are defined'); - ok(!_.isUndefined(null), 'null is defined'); - ok(!_.isUndefined(false), 'false is defined'); - ok(!_.isUndefined(NaN), 'NaN is defined'); - ok(_.isUndefined(), 'nothing is undefined'); - ok(_.isUndefined(undefined), 'undefined is undefined'); - ok(_.isUndefined(iUndefined), 'even from another frame'); - }); - - if (window.ActiveXObject) { - test("objects: IE host objects", function() { - var xml = new ActiveXObject("Msxml2.DOMDocument.3.0"); - ok(!_.isNumber(xml)); - ok(!_.isBoolean(xml)); - ok(!_.isNaN(xml)); - ok(!_.isFunction(xml)); - ok(!_.isNull(xml)); - ok(!_.isUndefined(xml)); - }); - } - - test("objects: tap", function() { - var intercepted = null; - var interceptor = function(obj) { intercepted = obj; }; - var returned = _.tap(1, interceptor); - equals(intercepted, 1, "passes tapped object to interceptor"); - equals(returned, 1, "returns tapped object"); - - returned = _([1,2,3]).chain(). - map(function(n){ return n * 2; }). - max(). - tap(interceptor). - value(); - ok(returned == 6 && intercepted == 6, 'can use tapped objects in a chain'); - }); -}); diff --git a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/speed.js b/node_modules/grunt/node_modules/underscore.string/test/test_underscore/speed.js deleted file mode 100644 index 86663a23782a..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/speed.js +++ /dev/null @@ -1,70 +0,0 @@ -(function() { - - var numbers = []; - for (var i=0; i<1000; i++) numbers.push(i); - var objects = _.map(numbers, function(n){ return {num : n}; }); - var randomized = _.sortBy(numbers, function(){ return Math.random(); }); - - JSLitmus.test('_.each()', function() { - var timesTwo = []; - _.each(numbers, function(num){ timesTwo.push(num * 2); }); - return timesTwo; - }); - - JSLitmus.test('_(list).each()', function() { - var timesTwo = []; - _(numbers).each(function(num){ timesTwo.push(num * 2); }); - return timesTwo; - }); - - JSLitmus.test('jQuery.each()', function() { - var timesTwo = []; - jQuery.each(numbers, function(){ timesTwo.push(this * 2); }); - return timesTwo; - }); - - JSLitmus.test('_.map()', function() { - return _.map(objects, function(obj){ return obj.num; }); - }); - - JSLitmus.test('jQuery.map()', function() { - return jQuery.map(objects, function(obj){ return obj.num; }); - }); - - JSLitmus.test('_.pluck()', function() { - return _.pluck(objects, 'num'); - }); - - JSLitmus.test('_.uniq()', function() { - return _.uniq(randomized); - }); - - JSLitmus.test('_.uniq() (sorted)', function() { - return _.uniq(numbers, true); - }); - - JSLitmus.test('_.sortBy()', function() { - return _.sortBy(numbers, function(num){ return -num; }); - }); - - JSLitmus.test('_.isEqual()', function() { - return _.isEqual(numbers, randomized); - }); - - JSLitmus.test('_.keys()', function() { - return _.keys(objects); - }); - - JSLitmus.test('_.values()', function() { - return _.values(objects); - }); - - JSLitmus.test('_.intersect()', function() { - return _.intersect(numbers, randomized); - }); - - JSLitmus.test('_.range()', function() { - return _.range(1000); - }); - -})(); \ No newline at end of file diff --git a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp.js b/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp.js deleted file mode 100644 index 68c39dc57a96..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp.js +++ /dev/null @@ -1,27 +0,0 @@ -(function() { - - var func = function(){}; - var date = new Date(); - var str = "a string"; - var numbers = []; - for (var i=0; i<1000; i++) numbers.push(i); - var objects = _.map(numbers, function(n){ return {num : n}; }); - var randomized = _.sortBy(numbers, function(){ return Math.random(); }); - - JSLitmus.test('_.isNumber', function() { - return _.isNumber(1000) - }); - - JSLitmus.test('_.newIsNumber', function() { - return _.newIsNumber(1000) - }); - - JSLitmus.test('_.isNumber(NaN)', function() { - return _.isNumber(NaN) - }); - - JSLitmus.test('_.newIsNumber(NaN)', function() { - return _.newIsNumber(NaN) - }); - -})(); \ No newline at end of file diff --git a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp_tests.html b/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp_tests.html deleted file mode 100644 index bd34f9dd7c10..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp_tests.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - Underscore Temporary Tests - - - - - - - -

          Underscore Temporary Tests

          -

          - A page for temporary speed tests, used for developing faster implementations - of existing Underscore methods. -

          -
          - - diff --git a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/test.html b/node_modules/grunt/node_modules/underscore.string/test/test_underscore/test.html deleted file mode 100644 index 77f2f3a22e47..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/test.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - Underscore Test Suite - - - - - - - - - - - - - - - -
          -

          Underscore Test Suite

          -

          -

          -
            -
            -

            Underscore Speed Suite

            -

            - A representative sample of the functions are benchmarked here, to provide - a sense of how fast they might run in different browsers. - Each iteration runs on an array of 1000 elements.

            - For example, the 'intersect' test measures the number of times you can - find the intersection of two thousand-element arrays in one second. -

            -
            - - -
            - - diff --git a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/utility.js b/node_modules/grunt/node_modules/underscore.string/test/test_underscore/utility.js deleted file mode 100644 index 7bc5cb44b232..000000000000 --- a/node_modules/grunt/node_modules/underscore.string/test/test_underscore/utility.js +++ /dev/null @@ -1,155 +0,0 @@ -$(document).ready(function() { - - module("Utility"); - - test("utility: noConflict", function() { - var underscore = _.noConflict(); - ok(underscore.isUndefined(_), "The '_' variable has been returned to its previous state."); - var intersection = underscore.intersect([-1, 0, 1, 2], [1, 2, 3, 4]); - equals(intersection.join(', '), '1, 2', 'but the intersection function still works'); - window._ = underscore; - }); - - test("utility: identity", function() { - var moe = {name : 'moe'}; - equals(_.identity(moe), moe, 'moe is the same as his identity'); - }); - - test("utility: uniqueId", function() { - var ids = [], i = 0; - while(i++ < 100) ids.push(_.uniqueId()); - equals(_.uniq(ids).length, ids.length, 'can generate a globally-unique stream of ids'); - }); - - test("utility: times", function() { - var vals = []; - _.times(3, function (i) { vals.push(i); }); - ok(_.isEqual(vals, [0,1,2]), "is 0 indexed"); - // - vals = []; - _(3).times(function (i) { vals.push(i); }); - ok(_.isEqual(vals, [0,1,2]), "works as a wrapper"); - }); - - test("utility: mixin", function() { - _.mixin({ - myReverse: function(string) { - return string.split('').reverse().join(''); - } - }); - equals(_.myReverse('panacea'), 'aecanap', 'mixed in a function to _'); - equals(_('champ').myReverse(), 'pmahc', 'mixed in a function to the OOP wrapper'); - }); - - test("utility: _.escape", function() { - equals(_.escape("Curly & Moe"), "Curly & Moe"); - equals(_.escape("Curly & Moe"), "Curly &amp; Moe"); - }); - - test("utility: template", function() { - var basicTemplate = _.template("<%= thing %> is gettin' on my noives!"); - var result = basicTemplate({thing : 'This'}); - equals(result, "This is gettin' on my noives!", 'can do basic attribute interpolation'); - - var sansSemicolonTemplate = _.template("A <% this %> B"); - equals(sansSemicolonTemplate(), "A B"); - - var backslashTemplate = _.template("<%= thing %> is \\ridanculous"); - equals(backslashTemplate({thing: 'This'}), "This is \\ridanculous"); - - var escapeTemplate = _.template('<%= a ? "checked=\\"checked\\"" : "" %>'); - equals(escapeTemplate({a: true}), 'checked="checked"', 'can handle slash escapes in interpolations.'); - - var fancyTemplate = _.template("
              <% \ - for (key in people) { \ - %>
            • <%= people[key] %>
            • <% } %>
            "); - result = fancyTemplate({people : {moe : "Moe", larry : "Larry", curly : "Curly"}}); - equals(result, "
            • Moe
            • Larry
            • Curly
            ", 'can run arbitrary javascript in templates'); - - var escapedCharsInJavascriptTemplate = _.template("
              <% _.each(numbers.split('\\n'), function(item) { %>
            • <%= item %>
            • <% }) %>
            "); - result = escapedCharsInJavascriptTemplate({numbers: "one\ntwo\nthree\nfour"}); - equals(result, "
            • one
            • two
            • three
            • four
            ", 'Can use escaped characters (e.g. \\n) in Javascript'); - - var namespaceCollisionTemplate = _.template("<%= pageCount %> <%= thumbnails[pageCount] %> <% _.each(thumbnails, function(p) { %>
            \">
            <% }); %>"); - result = namespaceCollisionTemplate({ - pageCount: 3, - thumbnails: { - 1: "p1-thumbnail.gif", - 2: "p2-thumbnail.gif", - 3: "p3-thumbnail.gif" - } - }); - equals(result, "3 p3-thumbnail.gif
            "); - - var noInterpolateTemplate = _.template("

            Just some text. Hey, I know this is silly but it aids consistency.

            "); - result = noInterpolateTemplate(); - equals(result, "

            Just some text. Hey, I know this is silly but it aids consistency.

            "); - - var quoteTemplate = _.template("It's its, not it's"); - equals(quoteTemplate({}), "It's its, not it's"); - - var quoteInStatementAndBody = _.template("<%\ - if(foo == 'bar'){ \ - %>Statement quotes and 'quotes'.<% } %>"); - equals(quoteInStatementAndBody({foo: "bar"}), "Statement quotes and 'quotes'."); - - var withNewlinesAndTabs = _.template('This\n\t\tis: <%= x %>.\n\tok.\nend.'); - equals(withNewlinesAndTabs({x: 'that'}), 'This\n\t\tis: that.\n\tok.\nend.'); - - var template = _.template("<%- value %>"); - var result = template({value: " @endif - {{ Former::close() }} + {!! Former::close() !!} + +@stop \ No newline at end of file diff --git a/app/views/accounts/import_map.blade.php b/resources/views/accounts/import_map.blade.php old mode 100755 new mode 100644 similarity index 100% rename from app/views/accounts/import_map.blade.php rename to resources/views/accounts/import_map.blade.php diff --git a/app/views/accounts/invoice_design.blade.php b/resources/views/accounts/invoice_design.blade.php similarity index 52% rename from app/views/accounts/invoice_design.blade.php rename to resources/views/accounts/invoice_design.blade.php index 8124fb13bd53..d6984104ccc2 100644 --- a/app/views/accounts/invoice_design.blade.php +++ b/resources/views/accounts/invoice_design.blade.php @@ -3,8 +3,8 @@ @section('head') @parent - - + + @stop @section('content') @@ -12,8 +12,8 @@ @include('accounts.nav_advanced') @endif - {{ Former::close() }} + {!! Former::close() !!}
            diff --git a/resources/views/accounts/invoice_settings.blade.php b/resources/views/accounts/invoice_settings.blade.php new file mode 100644 index 000000000000..0e5127ff4a8d --- /dev/null +++ b/resources/views/accounts/invoice_settings.blade.php @@ -0,0 +1,90 @@ +@extends('accounts.nav') + +@section('head') + @parent + + +@stop + +@section('content') + @parent + @include('accounts.nav_advanced') + + {!! Former::open()->addClass('col-md-8 col-md-offset-2 warn-on-exit') !!} + {!! Former::populate($account) !!} + {!! Former::populateField('custom_invoice_taxes1', intval($account->custom_invoice_taxes1)) !!} + {!! Former::populateField('custom_invoice_taxes2', intval($account->custom_invoice_taxes2)) !!} + {!! Former::populateField('share_counter', intval($account->share_counter)) !!} + + + {!! Former::legend('invoice_fields') !!} + {!! Former::text('custom_invoice_label1')->label(trans('texts.field_label')) + ->append(Former::checkbox('custom_invoice_taxes1')->raw() . trans('texts.charge_taxes')) !!} + {!! Former::text('custom_invoice_label2')->label(trans('texts.field_label')) + ->append(Former::checkbox('custom_invoice_taxes2')->raw() . ' ' . trans('texts.charge_taxes')) !!} +

             

            + + {!! Former::legend('client_fields') !!} + {!! Former::text('custom_client_label1')->label(trans('texts.field_label')) !!} + {!! Former::text('custom_client_label2')->label(trans('texts.field_label')) !!} +

             

            + + {!! Former::legend('company_fields') !!} + {!! Former::text('custom_label1')->label(trans('texts.field_label')) !!} + {!! Former::text('custom_value1')->label(trans('texts.field_value')) !!} +

             

            + {!! Former::text('custom_label2')->label(trans('texts.field_label')) !!} + {!! Former::text('custom_value2')->label(trans('texts.field_value')) !!} +

             

            + + {!! Former::legend('invoice_number') !!} + {!! Former::text('invoice_number_prefix')->label(trans('texts.invoice_number_prefix')) !!} + {!! Former::text('invoice_number_counter')->label(trans('texts.invoice_number_counter')) !!} +

             

            + + {!! Former::legend('quote_number') !!} + {!! Former::text('quote_number_prefix')->label(trans('texts.quote_number_prefix')) !!} + {!! Former::text('quote_number_counter')->label(trans('texts.quote_number_counter')) + ->append(Former::checkbox('share_counter')->raw()->onclick('setQuoteNumberEnabled()') . ' ' . trans('texts.share_invoice_counter')) !!} +

             

            + + {!! Former::legend('email_settings') !!} + {!! Former::checkbox('pdf_email_attachment') !!} +

             

            + + @if (Auth::user()->isPro()) + {!! Former::actions( Button::success(trans('texts.save'))->large()->submit()->appendIcon(Icon::create('floppy-disk'))) !!} + @else + + @endif + + {!! Former::close() !!} + + + + + +@stop \ No newline at end of file diff --git a/resources/views/accounts/nav.blade.php b/resources/views/accounts/nav.blade.php new file mode 100644 index 000000000000..d03312d6803c --- /dev/null +++ b/resources/views/accounts/nav.blade.php @@ -0,0 +1,16 @@ +@extends('header') + +@section('content') + + + +
            + +@stop \ No newline at end of file diff --git a/resources/views/accounts/nav_advanced.blade.php b/resources/views/accounts/nav_advanced.blade.php new file mode 100644 index 000000000000..61b331261850 --- /dev/null +++ b/resources/views/accounts/nav_advanced.blade.php @@ -0,0 +1,17 @@ + +

             

            + +@if (!Auth::user()->account->isPro()) +
            +
            {!! trans('texts.pro_plan_advanced_settings', ['link'=>''.trans('texts.pro_plan.remove_logo_link').'']) !!}
            +  

              +

            +@endif + +
            \ No newline at end of file diff --git a/app/views/accounts/notifications.blade.php b/resources/views/accounts/notifications.blade.php old mode 100755 new mode 100644 similarity index 59% rename from app/views/accounts/notifications.blade.php rename to resources/views/accounts/notifications.blade.php index 08e0c97b4d82..15f9915d162f --- a/app/views/accounts/notifications.blade.php +++ b/resources/views/accounts/notifications.blade.php @@ -3,18 +3,18 @@ @section('content') @parent - {{ Former::open()->addClass('col-md-8 col-md-offset-2 warn-on-exit') }} + {!! Former::open()->addClass('col-md-8 col-md-offset-2 warn-on-exit') !!} {{ Former::populate($account) }} {{ Former::populateField('notify_sent', intval(Auth::user()->notify_sent)) }} {{ Former::populateField('notify_viewed', intval(Auth::user()->notify_viewed)) }} {{ Former::populateField('notify_paid', intval(Auth::user()->notify_paid)) }} - {{ Former::legend('email_notifications') }} - {{ Former::checkbox('notify_sent')->label(' ')->text(trans('texts.email_sent')) }} - {{ Former::checkbox('notify_viewed')->label(' ')->text(trans('texts.email_viewed')) }} - {{ Former::checkbox('notify_paid')->label(' ')->text(trans('texts.email_paid')) }} + {!! Former::legend(trans('texts.email_notifications')) !!} + {!! Former::checkbox('notify_sent')->label(' ')->text(trans('texts.email_sent')) !!} + {!! Former::checkbox('notify_viewed')->label(' ')->text(trans('texts.email_viewed')) !!} + {!! Former::checkbox('notify_paid')->label(' ')->text(trans('texts.email_paid')) !!} - {{ Former::legend('site_updates') }} + {!! Former::legend(trans('texts.site_updates')) !!}
            @@ -36,12 +36,16 @@
            - {{ Former::legend('custom_messages') }} - {{ Former::textarea('invoice_terms')->label(trans('texts.default_invoice_terms')) }} - {{ Former::textarea('invoice_footer')->label(trans('texts.default_invoice_footer')) }} - {{ Former::textarea('email_footer')->label(trans('texts.default_email_footer')) }} + {!! Former::legend(trans('texts.custom_messages')) !!} + {!! Former::textarea('invoice_terms')->label(trans('texts.default_invoice_terms')) !!} + {!! Former::textarea('invoice_footer')->label(trans('texts.default_invoice_footer')) !!} + {!! Former::textarea('email_footer')->label(trans('texts.default_email_footer')) !!} - {{ Former::actions( Button::lg_success_submit(trans('texts.save'))->append_with_icon('floppy-disk') ) }} - {{ Former::close() }} + {!! Former::actions( + Button::success(trans('texts.save')) + ->submit()->large() + ->appendIcon(Icon::create('floppy-disk'))) !!} + + {!! Former::close() !!} @stop \ No newline at end of file diff --git a/app/views/accounts/payments.blade.php b/resources/views/accounts/payments.blade.php old mode 100755 new mode 100644 similarity index 72% rename from app/views/accounts/payments.blade.php rename to resources/views/accounts/payments.blade.php index abb07a11c787..ce367f98962b --- a/app/views/accounts/payments.blade.php +++ b/resources/views/accounts/payments.blade.php @@ -3,20 +3,24 @@ @section('content') @parent - {{ Former::open('gateways/delete')->addClass('user-form') }} - {{ Former::legend('online_payments') }} + {!! Former::open('gateways/delete')->addClass('user-form') !!} + {!! Former::legend(trans('texts.online_payments')) !!}
            - {{ Former::text('accountGatewayPublicId') }} + {!! Former::text('accountGatewayPublicId') !!}
            - {{ Former::close() }} + {!! Former::close() !!} @if ($showAdd) - {{ Button::success_link(URL::to('gateways/create'), trans("texts.add_gateway"), array('class' => 'pull-right'))->append_with_icon('plus-sign') }} + {!! Button::success(trans('texts.add_gateway')) + ->asLinkTo('/gateways/create') + ->withAttributes(['class' => 'pull-right']) + ->appendIcon(Icon::create('plus-sign')) + ->large() !!} @endif - {{ Datatable::table() + {!! Datatable::table() ->addColumn( trans('texts.name'), trans('texts.action')) @@ -26,7 +30,7 @@ ->setOptions('bAutoWidth', false) ->setOptions('aoColumns', [[ "sWidth"=> "80%" ], ["sWidth"=> "20%"]]) ->setOptions('aoColumnDefs', [['bSortable'=>false, 'aTargets'=>[1]]]) - ->render('datatable') }} + ->render('datatable') !!} + diff --git a/resources/views/clients/edit.blade.php b/resources/views/clients/edit.blade.php new file mode 100644 index 000000000000..c667a001c9dd --- /dev/null +++ b/resources/views/clients/edit.blade.php @@ -0,0 +1,168 @@ +@extends('header') + + +@section('onReady') + $('input#name').focus(); +@stop + +@section('content') +
            + + + {!! Former::open($url)->addClass('col-md-12 warn-on-exit')->method($method)->rules(array( + 'email' => 'email|required' + )); !!} + + @if ($client) + {!! Former::populate($client) !!} + @endif + +
            +
            + + + {!! Former::legend('organization') !!} + {!! Former::text('name')->data_bind("attr { placeholder: placeholderName }") !!} + {!! Former::text('id_number') !!} + {!! Former::text('vat_number') !!} + {!! Former::text('website') !!} + {!! Former::text('work_phone') !!} + + @if (Auth::user()->isPro()) + @if ($customLabel1) + {!! Former::text('custom_value1')->label($customLabel1) !!} + @endif + @if ($customLabel2) + {!! Former::text('custom_value2')->label($customLabel2) !!} + @endif + @endif + + {!! Former::legend('address') !!} + {!! Former::text('address1') !!} + {!! Former::text('address2') !!} + {!! Former::text('city') !!} + {!! Former::text('state') !!} + {!! Former::text('postal_code') !!} + {!! Former::select('country_id')->addOption('','') + ->fromQuery($countries, 'name', 'id') !!} + + +
            +
            + + {!! Former::legend('contacts') !!} +
            + {!! Former::hidden('public_id')->data_bind("value: public_id, valueUpdate: 'afterkeydown'") !!} + {!! Former::text('first_name')->data_bind("value: first_name, valueUpdate: 'afterkeydown'") !!} + {!! Former::text('last_name')->data_bind("value: last_name, valueUpdate: 'afterkeydown'") !!} + {!! Former::text('email')->data_bind('value: email, valueUpdate: \'afterkeydown\', attr: {id:\'email\'+$index()}') !!} + {!! Former::text('phone')->data_bind("value: phone, valueUpdate: 'afterkeydown'") !!} + +
            +
            + + {!! link_to('#', trans('texts.remove_contact').' -', array('data-bind'=>'click: $parent.removeContact')) !!} + + + {!! link_to('#', trans('texts.add_contact').' +', array('onclick'=>'return addContact()')) !!} + +
            +
            +
            + + {!! Former::legend('additional_info') !!} + {!! Former::select('payment_terms')->addOption('','') + ->fromQuery($paymentTerms, 'name', 'num_days') !!} + {!! Former::select('currency_id')->addOption('','') + ->fromQuery($currencies, 'name', 'id') !!} + {!! Former::select('size_id')->addOption('','') + ->fromQuery($sizes, 'name', 'id') !!} + {!! Former::select('industry_id')->addOption('','') + ->fromQuery($industries, 'name', 'id') !!} + {!! Former::textarea('private_notes') !!} + + +
            +
            + + + {!! Former::hidden('data')->data_bind("value: ko.toJSON(model)") !!} + + + +
            + {!! Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk')) !!} + {!! Button::normal(trans('texts.cancel'))->large()->asLinkTo('/clients/' . ($client ? $client->public_id : ''))->appendIcon(Icon::create('remove-circle')) !!} +
            + + {!! Former::close() !!} +
            +@stop diff --git a/app/views/clients/show.blade.php b/resources/views/clients/show.blade.php old mode 100755 new mode 100644 similarity index 51% rename from app/views/clients/show.blade.php rename to resources/views/clients/show.blade.php index c162d2939052..7a85b5434d62 --- a/app/views/clients/show.blade.php +++ b/resources/views/clients/show.blade.php @@ -4,33 +4,34 @@
            - {{ Former::open('clients/bulk')->addClass('mainForm') }} + {!! Former::open('clients/bulk')->addClass('mainForm') !!}
            - {{ Former::text('action') }} - {{ Former::text('id')->value($client->public_id) }} + {!! Former::text('action') !!} + {!! Former::text('id')->value($client->public_id) !!}
            @if ($gatewayLink) - {{ Button::link($gatewayLink, trans('texts.view_in_stripe'), ['target' => '_blank']) }} + {!! Button::link($gatewayLink, trans('texts.view_in_stripe'), ['target' => '_blank']) !!} @endif @if ($client->trashed()) - {{ Button::primary(trans('texts.restore_client'), ['onclick' => 'onRestoreClick()']) }} + {!! Button::primary(trans('texts.restore_client'), ['onclick' => 'onRestoreClick()']) !!} @else - {{ DropdownButton::normal(trans('texts.edit_client'), - Navigation::links( - [ - [trans('texts.edit_client'), URL::to('clients/' . $client->public_id . '/edit')], - [Navigation::DIVIDER], - [trans('texts.archive_client'), "javascript:onArchiveClick()"], - [trans('texts.delete_client'), "javascript:onDeleteClick()"], + {!! DropdownButton::normal(trans('texts.edit_client')) + ->withAttributes(['class'=>'normalDropDown']) + ->withContents([ + ['label' => trans('texts.edit_client'), 'url' => URL::to('clients/' . $client->public_id . '/edit')], + DropdownButton::DIVIDER, + ['label' => trans('texts.archive_client'), 'url' => "javascript:onArchiveClick()"], + ['label' => trans('texts.delete_client'), 'url' => "javascript:onDeleteClick()"], ] - ) - , ['id'=>'normalDropDown'])->split(); }} + )->split() !!} - {{ DropdownButton::primary(trans('texts.create_invoice'), Navigation::links($actionLinks), ['id'=>'primaryDropDown'])->split(); }} + {!! DropdownButton::primary(trans('texts.create_invoice')) + ->withAttributes(['class'=>'primaryDropDown']) + ->withContents($actionLinks)->split() !!} @endif - {{ Former::close() }} + {!! Former::close() !!}
            @@ -38,7 +39,7 @@

            {{ $client->getDisplayName() }}

            @if ($client->last_login > 0)

            - {{ trans('texts.last_logged_in') }} {{ Utils::timestampToDateTimeString(strtotime($client->last_login)); }} + {{ trans('texts.last_logged_in') }} {{ Utils::timestampToDateTimeString(strtotime($client->last_login)) }}

            @endif @@ -46,21 +47,73 @@

            {{ trans('texts.details') }}

            -

            {{ $client->getIdNumber() }}

            -

            {{ $client->getVatNumber() }}

            -

            {{ $client->getAddress() }}

            -

            {{ $client->getCustomFields() }}

            -

            {{ $client->getPhone() }}

            -

            {{ $client->getNotes() }}

            -

            {{ $client->getIndustry() }}

            -

            {{ $client->getWebsite() }}

            + @if ($client->id_number) +

            {{ trans('texts.id_number').': '.$client->id_number }}

            + @endif + @if ($client->vat_number) +

            {{ trans('texts.vat_number').': '.$client->vat_number }}

            + @endif + + @if ($client->address1) + {{ $client->address1 }}
            + @endif + @if ($client->address2) + {{ $client->address2 }}
            + @endif + @if ($client->city) + {{ $client->city }}, + @endif + @if ($client->state) + {{ $client->state }} + @endif + @if ($client->postal_code) + {{ $client->postal_code }} + @endif + @if ($client->country) +
            {{ $client->country->name }} + @endif + + @if ($client->account->custom_client_label1 && $client->custom_value1) + {{ $client->account->custom_client_label1 . ': ' . $client->custom_value1 }}
            + @endif + @if ($client->account->custom_client_label2 && $client->custom_value2) + {{ $client->account->custom_client_label2 . ': ' . $client->custom_value2 }}
            + @endif + + @if ($client->work_phone) + {{ Utils::formatPhoneNumber($client->work_phone) }} + @endif + + @if ($client->private_notes) +

            {{ $client->private_notes }}

            + @endif + + @if ($client->client_industry) + {{ $client->client_industry->name }}
            + @endif + @if ($client->client_size) + {{ $client->client_size->name }}
            + @endif + + @if ($client->website) +

            {!! $client->getWebsite() !!}

            + @endif +

            {{ $client->payment_terms ? trans('texts.payment_terms') . ": Net " . $client->payment_terms : '' }}

            {{ trans('texts.contacts') }}

            @foreach ($client->contacts as $contact) - {{ $contact->getDetails() }} + @if ($contact->first_name || $contact->last_name) + {{ $contact->first_name.' '.$contact->last_name }}
            + @endif + @if ($contact->email) + {!! HTML::mailto($contact->email, $contact->email) !!}
            + @endif + @if ($contact->phone) + {!! Utils::formatPhoneNumber($contact->phone) !!} + @endif @endforeach
            @@ -69,16 +122,16 @@ - + - + @if ($credit > 0) - + @endif
            {{ trans('texts.paid_to_date') }}{{ Utils::formatMoney($client->paid_to_date, $client->currency_id); }}{{ Utils::formatMoney($client->paid_to_date, $client->currency_id) }}
            {{ trans('texts.balance') }}{{ Utils::formatMoney($client->balance, $client->currency_id); }}{{ Utils::formatMoney($client->balance, $client->currency_id) }}
            {{ trans('texts.credit') }}{{ Utils::formatMoney($credit, $client->currency_id); }}{{ Utils::formatMoney($credit, $client->currency_id) }}
            @@ -90,20 +143,20 @@

             

            - {{ Datatable::table() + {!! Datatable::table() ->addColumn( trans('texts.date'), trans('texts.message'), @@ -113,14 +166,14 @@ ->setOptions('sPaginationType', 'bootstrap') ->setOptions('bFilter', false) ->setOptions('aaSorting', [['0', 'desc']]) - ->render('datatable') }} + ->render('datatable') !!}
            @if (Utils::isPro())
            - {{ Datatable::table() + {!! Datatable::table() ->addColumn( trans('texts.quote_number'), trans('texts.quote_date'), @@ -131,7 +184,7 @@ ->setOptions('sPaginationType', 'bootstrap') ->setOptions('bFilter', false) ->setOptions('aaSorting', [['0', 'desc']]) - ->render('datatable') }} + ->render('datatable') !!}
            @endif @@ -139,7 +192,7 @@
            @if ($hasRecurringInvoices) - {{ Datatable::table() + {!! Datatable::table() ->addColumn( trans('texts.frequency_id'), trans('texts.start_date'), @@ -149,10 +202,10 @@ ->setOptions('sPaginationType', 'bootstrap') ->setOptions('bFilter', false) ->setOptions('aaSorting', [['0', 'asc']]) - ->render('datatable') }} + ->render('datatable') !!} @endif - {{ Datatable::table() + {!! Datatable::table() ->addColumn( trans('texts.invoice_number'), trans('texts.invoice_date'), @@ -164,12 +217,12 @@ ->setOptions('sPaginationType', 'bootstrap') ->setOptions('bFilter', false) ->setOptions('aaSorting', [['0', 'asc']]) - ->render('datatable') }} + ->render('datatable') !!}
            - {{ Datatable::table() + {!! Datatable::table() ->addColumn( trans('texts.invoice'), trans('texts.transaction_reference'), @@ -180,12 +233,12 @@ ->setOptions('sPaginationType', 'bootstrap') ->setOptions('bFilter', false) ->setOptions('aaSorting', [['0', 'asc']]) - ->render('datatable') }} + ->render('datatable') !!}
            - {{ Datatable::table() + {!! Datatable::table() ->addColumn( trans('texts.credit_amount'), trans('texts.credit_balance'), @@ -195,7 +248,7 @@ ->setOptions('sPaginationType', 'bootstrap') ->setOptions('bFilter', false) ->setOptions('aaSorting', [['0', 'asc']]) - ->render('datatable') }} + ->render('datatable') !!}
            @@ -203,10 +256,10 @@ + +@stop diff --git a/app/views/dashboard.blade.php b/resources/views/dashboard.blade.php similarity index 97% rename from app/views/dashboard.blade.php rename to resources/views/dashboard.blade.php index 8383e06c3a96..30d9bbb737f1 100644 --- a/app/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -10,7 +10,7 @@
            @if (count($paidToDate)) @foreach ($paidToDate as $item) - {{ Utils::formatMoney($item->value, $item->currency_id); }}
            + {{ Utils::formatMoney($item->value, $item->currency_id) }}
            @endforeach @else {{ Utils::formatMoney(0) }} @@ -65,7 +65,7 @@ @foreach ($activities as $activity)
          1. {{ Utils::timestampToDateString(strtotime($activity->created_at)) }}: - {{ Utils::decodeActivity($activity->message) }} + {!! Utils::decodeActivity($activity->message) !!}
          2. @endforeach @@ -124,7 +124,7 @@ @foreach ($upcoming as $invoice) @if (!$invoice->client->trashed()) - {{ $invoice->getLink() }} + {!! $invoice->getLink() !!} {{ $invoice->client->getDisplayName() }} {{ Utils::fromSqlDate($invoice->due_date) }} {{ Utils::formatMoney($invoice->balance, $invoice->client->currency_id) }} @@ -147,7 +147,7 @@
            {{ trans('texts.average_invoice') }}
            @foreach ($averageInvoice as $item) - {{ Utils::formatMoney($item->invoice_avg, $item->currency_id); }}
            + {{ Utils::formatMoney($item->invoice_avg, $item->currency_id) }}
            @endforeach
            diff --git a/app/views/datatable.blade.php b/resources/views/datatable.blade.php old mode 100755 new mode 100644 similarity index 94% rename from app/views/datatable.blade.php rename to resources/views/datatable.blade.php index af3b3e5df5a3..0ff1717325db --- a/app/views/datatable.blade.php +++ b/resources/views/datatable.blade.php @@ -53,10 +53,10 @@ } ], @endif @foreach ($options as $k => $o) - {{ json_encode($k) }}: {{ json_encode($o) }}, + {!! json_encode($k) !!}: {!! json_encode($o) !!}, @endforeach @foreach ($callbacks as $k => $o) - {{ json_encode($k) }}: {{ $o }}, + {!! json_encode($k) !!}: {!! $o !!}, @endforeach "fnDrawCallback": function(oSettings) { if (window.onDatatableReady) { diff --git a/app/views/emails/auth/reminder.blade.php b/resources/views/emails/auth/reminder.blade.php old mode 100755 new mode 100644 similarity index 100% rename from app/views/emails/auth/reminder.blade.php rename to resources/views/emails/auth/reminder.blade.php diff --git a/app/views/emails/confirm_html.blade.php b/resources/views/emails/confirm_html.blade.php old mode 100755 new mode 100644 similarity index 86% rename from app/views/emails/confirm_html.blade.php rename to resources/views/emails/confirm_html.blade.php index bcd4ca4b1ed5..070f2e0b25b7 --- a/app/views/emails/confirm_html.blade.php +++ b/resources/views/emails/confirm_html.blade.php @@ -28,8 +28,8 @@

            {{ $invitationMessage . trans('texts.confirmation_message') }}
            - - {{{ URL::to("user/confirm/{$user->confirmation_code}") }}} + + {!! URL::to("user/confirm/{$user->confirmation_code}")!!}

            diff --git a/app/views/emails/confirm_text.blade.php b/resources/views/emails/confirm_text.blade.php similarity index 74% rename from app/views/emails/confirm_text.blade.php rename to resources/views/emails/confirm_text.blade.php index ff5c8107c40e..652815a1f94f 100644 --- a/app/views/emails/confirm_text.blade.php +++ b/resources/views/emails/confirm_text.blade.php @@ -1,7 +1,7 @@ {{ trans('texts.confirmation_header') }} {{ $invitationMessage . trans('texts.confirmation_message') }} -{{{ URL::to("user/confirm/{$user->confirmation_code}") }}} +{!! URL::to("user/confirm/{$user->confirmation_code}") !!} {{ trans('texts.email_signature') }} {{ trans('texts.email_from') }} \ No newline at end of file diff --git a/resources/views/emails/contact_html.blade.php b/resources/views/emails/contact_html.blade.php new file mode 100644 index 000000000000..76e2e1b75280 --- /dev/null +++ b/resources/views/emails/contact_html.blade.php @@ -0,0 +1 @@ +{!! nl2br($text) !!} diff --git a/app/views/emails/contact_text.blade.php b/resources/views/emails/contact_text.blade.php similarity index 100% rename from app/views/emails/contact_text.blade.php rename to resources/views/emails/contact_text.blade.php diff --git a/app/views/emails/error.blade.php b/resources/views/emails/error.blade.php old mode 100755 new mode 100644 similarity index 100% rename from app/views/emails/error.blade.php rename to resources/views/emails/error.blade.php diff --git a/app/views/emails/invoice_html.blade.php b/resources/views/emails/invoice_html.blade.php old mode 100755 new mode 100644 similarity index 90% rename from app/views/emails/invoice_html.blade.php rename to resources/views/emails/invoice_html.blade.php index 362047cf6f25..ee184be010a0 --- a/app/views/emails/invoice_html.blade.php +++ b/resources/views/emails/invoice_html.blade.php @@ -5,6 +5,6 @@ @include('emails.view_action', ['link' => $link, 'entityType' => $entityType]) - {{ $body }} + {!! $body !!} \ No newline at end of file diff --git a/app/views/emails/invoice_paid_html.blade.php b/resources/views/emails/invoice_paid_html.blade.php old mode 100755 new mode 100644 similarity index 100% rename from app/views/emails/invoice_paid_html.blade.php rename to resources/views/emails/invoice_paid_html.blade.php diff --git a/app/views/emails/invoice_paid_text.blade.php b/resources/views/emails/invoice_paid_text.blade.php old mode 100755 new mode 100644 similarity index 100% rename from app/views/emails/invoice_paid_text.blade.php rename to resources/views/emails/invoice_paid_text.blade.php diff --git a/app/views/emails/invoice_sent_html.blade.php b/resources/views/emails/invoice_sent_html.blade.php old mode 100755 new mode 100644 similarity index 100% rename from app/views/emails/invoice_sent_html.blade.php rename to resources/views/emails/invoice_sent_html.blade.php diff --git a/app/views/emails/invoice_sent_text.blade.php b/resources/views/emails/invoice_sent_text.blade.php old mode 100755 new mode 100644 similarity index 100% rename from app/views/emails/invoice_sent_text.blade.php rename to resources/views/emails/invoice_sent_text.blade.php diff --git a/resources/views/emails/invoice_text.blade.php b/resources/views/emails/invoice_text.blade.php new file mode 100644 index 000000000000..9b258c53a812 --- /dev/null +++ b/resources/views/emails/invoice_text.blade.php @@ -0,0 +1 @@ +{!! strip_tags($body) !!} \ No newline at end of file diff --git a/app/views/emails/invoice_viewed_html.blade.php b/resources/views/emails/invoice_viewed_html.blade.php old mode 100755 new mode 100644 similarity index 100% rename from app/views/emails/invoice_viewed_html.blade.php rename to resources/views/emails/invoice_viewed_html.blade.php diff --git a/app/views/emails/invoice_viewed_text.blade.php b/resources/views/emails/invoice_viewed_text.blade.php old mode 100755 new mode 100644 similarity index 100% rename from app/views/emails/invoice_viewed_text.blade.php rename to resources/views/emails/invoice_viewed_text.blade.php diff --git a/app/views/emails/license_confirmation_html.blade.php b/resources/views/emails/license_confirmation_html.blade.php similarity index 100% rename from app/views/emails/license_confirmation_html.blade.php rename to resources/views/emails/license_confirmation_html.blade.php diff --git a/app/views/emails/license_confirmation_text.blade.php b/resources/views/emails/license_confirmation_text.blade.php similarity index 100% rename from app/views/emails/license_confirmation_text.blade.php rename to resources/views/emails/license_confirmation_text.blade.php diff --git a/app/views/emails/passwordreset_html.blade.php b/resources/views/emails/password.blade.php similarity index 67% rename from app/views/emails/passwordreset_html.blade.php rename to resources/views/emails/password.blade.php index 52ad2763ed5f..b42fc337f5e8 100644 --- a/app/views/emails/passwordreset_html.blade.php +++ b/resources/views/emails/password.blade.php @@ -1,7 +1,7 @@ {{ trans('texts.email_salutation', ['name' => $user->username]) }}

            {{ trans('texts.reset_password') }}
            -{{{ (Confide::checkAction('UserController@reset_password', array($token))) ? : URL::to('user/reset/'.$token) }}}

            +{!! url('password/reset/'.$token) !!}

            {{ trans('texts.email_signature') }}
            {{ trans('texts.email_from') }}

            diff --git a/app/views/emails/payment_confirmation_html.blade.php b/resources/views/emails/payment_confirmation_html.blade.php similarity index 73% rename from app/views/emails/payment_confirmation_html.blade.php rename to resources/views/emails/payment_confirmation_html.blade.php index f96d52c7f918..4459df93e100 100644 --- a/app/views/emails/payment_confirmation_html.blade.php +++ b/resources/views/emails/payment_confirmation_html.blade.php @@ -3,5 +3,5 @@ - {{ $body }} + {!! $body !!} diff --git a/resources/views/emails/payment_confirmation_text.blade.php b/resources/views/emails/payment_confirmation_text.blade.php new file mode 100644 index 000000000000..9b258c53a812 --- /dev/null +++ b/resources/views/emails/payment_confirmation_text.blade.php @@ -0,0 +1 @@ +{!! strip_tags($body) !!} \ No newline at end of file diff --git a/app/views/emails/view_action.blade.php b/resources/views/emails/view_action.blade.php similarity index 100% rename from app/views/emails/view_action.blade.php rename to resources/views/emails/view_action.blade.php diff --git a/app/views/error.blade.php b/resources/views/error.blade.php old mode 100755 new mode 100644 similarity index 100% rename from app/views/error.blade.php rename to resources/views/error.blade.php diff --git a/app/views/header.blade.php b/resources/views/header.blade.php old mode 100755 new mode 100644 similarity index 87% rename from app/views/header.blade.php rename to resources/views/header.blade.php index b458f925d119..053266330854 --- a/app/views/header.blade.php +++ b/resources/views/header.blade.php @@ -44,22 +44,22 @@

            @@ -151,7 +151,7 @@
            @if (!isset($showBreadcrumbs) || $showBreadcrumbs) - {{ HTML::breadcrumbs() }} + {!! HTML::breadcrumbs() !!} @endif @if (Session::has('warning')) @@ -180,10 +180,10 @@
            -
            @if (!Auth::check() || !Auth::user()->registered) @@ -221,25 +220,25 @@ Want something changed? We're {{ link_to('https://github.com/hillelcoren/invoice

            - {{ Former::open('signup/submit')->addClass('signUpForm') }} + {!! Former::open('signup/submit')->addClass('signUpForm') !!} @if (Auth::check()) - {{ Former::populateField('new_first_name', Auth::user()->first_name); }} - {{ Former::populateField('new_last_name', Auth::user()->last_name); }} - {{ Former::populateField('new_email', Auth::user()->email); }} + {!! Former::populateField('new_first_name', Auth::user()->first_name) !!} + {!! Former::populateField('new_last_name', Auth::user()->last_name) !!} + {!! Former::populateField('new_email', Auth::user()->email) !!} @endif
            - {{ Former::text('path')->value(Request::path()) }} - {{ Former::text('go_pro') }} + {!! Former::text('path')->value(Request::path()) !!} + {!! Former::text('go_pro') !!}
            - {{ Former::text('new_first_name')->label(trans('texts.first_name')) }} - {{ Former::text('new_last_name')->label(trans('texts.last_name')) }} - {{ Former::text('new_email')->label(trans('texts.email')) }} - {{ Former::password('new_password')->label(trans('texts.password')) }} - {{ Former::checkbox('terms_checkbox')->label(' ')->text(trans('texts.agree_to_terms', ['terms' => ''.trans('texts.terms_of_service').''])) }} - {{ Former::close() }} + {!! Former::text('new_first_name')->label(trans('texts.first_name')) !!} + {!! Former::text('new_last_name')->label(trans('texts.last_name')) !!} + {!! Former::text('new_email')->label(trans('texts.email')) !!} + {!! Former::password('new_password')->label(trans('texts.password')) !!} + {!! Former::checkbox('terms_checkbox')->label(' ')->text(trans('texts.agree_to_terms', ['terms' => ''.trans('texts.terms_of_service').''])) !!} + {!! Former::close() !!}

            @@ -381,9 +380,6 @@ Want something changed? We're {{ link_to('https://github.com/hillelcoren/invoice

             

            - - - + +@stop diff --git a/app/views/payments/payment.blade.php b/resources/views/payments/payment.blade.php old mode 100755 new mode 100644 similarity index 80% rename from app/views/payments/payment.blade.php rename to resources/views/payments/payment.blade.php index e1019c19d358..f460117fb05f --- a/app/views/payments/payment.blade.php +++ b/resources/views/payments/payment.blade.php @@ -117,7 +117,7 @@ header h3 em { -{{ Former::vertical_open($url)->rules(array( +{!! Former::vertical_open($url)->rules(array( 'first_name' => 'required', 'last_name' => 'required', 'card_number' => 'required', @@ -131,7 +131,7 @@ header h3 em { 'country' => 'required', 'phone' => 'required', 'email' => 'required|email' -)) }} +)) !!} @if ($client) {{ Former::populate($client) }} @@ -149,8 +149,8 @@ header h3 em {
            @if ($client) -

            {{{ $client->getDisplayName() }}}

            -

            {{{ trans('texts.invoice') . ' ' . $invoiceNumber }}}|  {{ trans('texts.amount_due') }}: {{ Utils::formatMoney($amount, $currencyId) }}

            +

            {{ $client->getDisplayName() }}

            +

            {{ trans('texts.invoice') . ' ' . $invoiceNumber }}|  {{ trans('texts.amount_due') }}: {{ Utils::formatMoney($amount, $currencyId) }}

            @elseif ($paymentTitle)

            {{ $paymentTitle }}
            {{ $paymentSubtitle }}

            @endif @@ -172,16 +172,16 @@ header h3 em {

            {{ trans('texts.contact_information') }}

            - {{ Former::text('first_name')->placeholder(trans('texts.first_name'))->raw() }} + {!! Former::text('first_name')->placeholder(trans('texts.first_name'))->raw() !!}
            - {{ Former::text('last_name')->placeholder(trans('texts.last_name'))->raw() }} + {!! Former::text('last_name')->placeholder(trans('texts.last_name'))->raw() !!}
            @if (isset($paymentTitle))
            - {{ Former::text('email')->placeholder(trans('texts.email'))->raw() }} + {!! Former::text('email')->placeholder(trans('texts.email'))->raw() !!}
            @endif @@ -191,23 +191,23 @@ header h3 em {

            {{ trans('texts.billing_address') }}  {{ trans('texts.payment_footer1') }}

            - {{ Former::text('address1')->placeholder(trans('texts.address1'))->raw() }} + {!! Former::text('address1')->placeholder(trans('texts.address1'))->raw() !!}
            - {{ Former::text('address2')->placeholder(trans('texts.address2'))->raw() }} + {!! Former::text('address2')->placeholder(trans('texts.address2'))->raw() !!}
            - {{ Former::text('city')->placeholder(trans('texts.city'))->raw() }} + {!! Former::text('city')->placeholder(trans('texts.city'))->raw() !!}
            - {{ Former::text('state')->placeholder(trans('texts.state'))->raw() }} + {!! Former::text('state')->placeholder(trans('texts.state'))->raw() !!}
            - {{ Former::text('postal_code')->placeholder(trans('texts.postal_code'))->raw() }} + {!! Former::text('postal_code')->placeholder(trans('texts.postal_code'))->raw() !!}
            @@ -216,15 +216,15 @@ header h3 em {

            {{ trans('texts.billing_method') }}

            - {{ Former::text('card_number')->placeholder(trans('texts.card_number'))->raw() }} + {!! Former::text('card_number')->placeholder(trans('texts.card_number'))->raw() !!}
            - {{ Former::text('cvv')->placeholder(trans('texts.cvv'))->raw() }} + {!! Former::text('cvv')->placeholder(trans('texts.cvv'))->raw() !!}
            - {{ Former::select('expiration_month')->placeholder(trans('texts.expiration_month')) + {!! Former::select('expiration_month')->placeholder(trans('texts.expiration_month')) ->addOption('01 - January', '1') ->addOption('02 - February', '2') ->addOption('03 - March', '3') @@ -236,11 +236,11 @@ header h3 em { ->addOption('09 - September', '9') ->addOption('10 - October', '10') ->addOption('11 - November', '11') - ->addOption('12 - December', '12')->raw(); - }} + ->addOption('12 - December', '12')->raw() + !!}
            - {{ Former::select('expiration_year')->placeholder(trans('texts.expiration_year')) + {!! Former::select('expiration_year')->placeholder(trans('texts.expiration_year')) ->addOption('2015', '2015') ->addOption('2016', '2016') ->addOption('2017', '2017') @@ -251,8 +251,8 @@ header h3 em { ->addOption('2022', '2022') ->addOption('2023', '2023') ->addOption('2024', '2024') - ->addOption('2025', '2025')->raw(); - }} + ->addOption('2025', '2025')->raw() + !!}
            @@ -282,7 +282,7 @@ header h3 em {
            - {{ Button::block_success_submit_lg(strtoupper(trans('texts.pay_now') . ' - ' . Utils::formatMoney($amount, $currencyId) )) }} + {!! Button::success(strtoupper(trans('texts.pay_now') . ' - ' . Utils::formatMoney($amount, $currencyId) ))->submit()->block()->large() !!}
            @@ -308,7 +308,7 @@ header h3 em { @endif --> -{{ Former::close() }} +{!! Former::close() !!} --> -{{ Form::open(array('url' => 'get_started', 'id' => 'startForm')) }} -{{ Form::hidden('guest_key') }} -{{ Form::hidden('sign_up', Input::get('sign_up')) }} -{{ Form::close() }} +{!! Form::open(array('url' => 'get_started', 'id' => 'startForm')) !!} +{!! Form::hidden('guest_key') !!} +{!! Form::hidden('sign_up', Input::get('sign_up')) !!} +{!! Form::close() !!} + - - -

            Example for Amazon Simple Pay Merchants

            - -

            This section includes examples to help you understand how to form the string -to sign . New lines have been inserted to make the -examples easier to read. Explicit '\n' is used wherever new line is required.

            - - -

            Example Amazon Simple Pay request using POST :

            -
                <form action="https://authorize.payments-sandbox.amazon.com/pba/paypipeline" method="POST">
            -        <input type="image" src="https://authorize.payments-sandbox.amazon.com/pba/images/payNowButton.png" border="0">
            -        <input type="hidden" name="signatureVersion" value="2" >
            -        <input type="hidden" name="immediateReturn" value="0" >
            -        <input type="hidden" name="signature" value="Base64Encode(HmacSHA256(string-to-sign))" >
            -        <input type="hidden" name="amount" value="USD 1.1" >
            -        <input type="hidden" name="signatureMethod" value="HmacSHA256" >
            -        <input type="hidden" name="description" value="Test Widget" >
            -        <input type="hidden" name="ipnUrl" value="http://yourwebsite.com/ipn" >
            -        <input type="hidden" name="accessKey" value="YourCallerKey" >
            -        <input type="hidden" name="cobrandingStyle" value="logo" >
            -        <input type="hidden" name="processImmediate" value="1" >
            -        <input type="hidden" name="returnUrl" value="http://yourwebsite.com/return.html" >
            -        <input type="hidden" name="referenceId" value="YourReferenceId" >
            -    </form>
            -
            - -

            String to sign :

            -
                POST\n
            -    authorize.payments-sandbox.amazon.com\n
            -    /pba/paypipeline\n
            -    accessKey=YourCallerKey
            -    &amount=USD%201.1
            -    &cobrandingStyle=logo
            -    &description=Test%20Widget
            -    &immediateReturn=0
            -    &ipnUrl=http%3A%2F%2Fyourwebsite.com%2Fipn
            -    &processImmediate=1
            -    &referenceId=YourReferenceId
            -    &returnUrl=http%3A%2F%2Fyourwebsite.com%2Freturn.html
            -    &signatureMethod=HmacSHA256
            -    &signatureVersion=2
            -
            - - diff --git a/vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/README.html b/vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/README.html deleted file mode 100755 index 98b898357e52..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/README.html +++ /dev/null @@ -1,174 +0,0 @@ -Amazon Simple Pay Standard Readme - - - - -

            About this Library

            -
              -
            • Dynamic button generation helper for Amazon Simple Pay Standard using signature version 2.
            • -
            • Sample Code Version 2.0
            • -
            • Release Date : 2009-11-03
            • -
            - -

            Prerequisites

            -
              -
            • You must have an Amazon Web Services developer account.click here
            • -
            • You must have an Amazon Payments Sandbox Business Account.Click here
            • -
            • You must use the same email address and password for your Amazon Payments Sandbox Business Account and your Amazon Web Services developer account.
            • -
            • You must have PHP 5.2.10 or later installed
            • -
            • If you want to use this sdk to generate buttons for Production environment then you need to create a Amazon Payments Buisness Account Click here
            • -
            - -

            Contents of sample codes:

            -

            This package contains the following files for helping you to generate Dynamic Buttons for Amazon Simple Pay Standard .

            -
              -
            1. SignatureUtils.php - This class contains the following helper functions for calculating signature.
            2. -
                -
              • signParameters - Takes a map of all the request parameters and -returns base64 encoded signature. Takes additional parameters like httpMethod, (GET or POST), host (e.g. -authorize.payments-sandbox.amazon.com) and requestURI (e.g. /pba/paypipeline) for -signature version 2. The input map should contain signature version parameter -depending on which it computes the signature.
              • - -
              • _calculateStringToSignV2 - Takes a map of all the -request parameters along with httpMethod, hostName, requestURL and returns -string-to-sign calculated using signature version 2.
              • -
              • _sign - Takes string-to-sign, aws secret key and signature algorithm (HmacSHA256/HmacSHA1) as inputs and returns base64 encoded signature.
              • - -
              - -
            3. ButtonGenerator.php - Generate the html form
            4. -
                -
              • getSimplePayStandardParams - Takes all the parameters passed by user as input and returns a Map of key-value pairs
              • -
              • getSimplePayStandardForm - Takes a Map of key-value pair as input and returns the html form
              • -
              • GenerateForm - This function takes all the parameters from user, call appropriate function to get signature and generate html form. -It prints the html form on console.
              • -
              -
            5. StandardButtonSample.php - Sample file to show how to generate buttons using ButtonGenerator.php
            6. -
              • It has only main method which makes a call to ButtonGenerator::GenerateForm()with appropriate parameters.
                • -
            - - - -

            Steps to use this sample:

            - -

            How to Populate the input in StandardButtonSample.php

            -
              - -
            1. Sign into your Amazon Web Services developer account and retrieve your Access Key ID and Secret Access Key from here. - -
            2. Replace the value of the accessKey constant in the code sample with your Access Key ID
            3. - -
            4. Replace the value of the secretKey constant in the code sample with your Secret Access Key
            5. - -
            6. Replace the values of the following parameters of the Button:
            7. - -Required Parameters: -
                -
              • amount - Enter the amount you want to collect for the item
              • -
              • description - Enter a description of the item
              • -
              - - Optional Parameters: -
                -
              • referenceId - Optionally enter an ID that uniquely identifies this transaction for your records
              • -
              • abandonUrl - Optionally, enter the URL where senders should be redirected if they cancel their transaction
              • -
              • returnUrl - Optionally enter the URL where buyers should be redirected after they complete the transaction
              • -
              • immediateReturn - Optionally, enter "1" if you want to skip the final status page in Amazon Payments
              • -
              • processImmediate - Optionally, enter "1" if you want to settle the transaction immediately else "0". Default value is "1"
              • -
              • ipnUrl - Optionally, type the URL of your host page to which Amazon Payments should send the IPN transaction information.
              • -
              • collectShippingAddress - Optionally, enter "1" if you want Amazon Payments to return the buyer's shipping address as part of the transaction information
              • -
              - -
            8. Set the environment to "sandbox" or "prod". (For testing use sandbox)
            9. - -
            10. You can also set the SignatureMethod to either "HmacSHA256" and "HmacSHA1".
            11. -
            - -

            How to compile and run the code

            -
              -
            1. Run the code sample as a php application:
            2. -
              -$php StandardButtonSample.php
              -
              - -
            3. The code sample will output the HTML for the ' Amazon Simple Pay Standard' widget to the ConsoleYou can now integrate this code into your website.
            4. -
            -Note:You cannot use your Amazon Payments Business Account as a buyer while testing your ' Amazon Simple Pay Standard' Widgets. You should create a new Amazon Payments Personal Account which you can use as a buyer. - -

            Examples

            - -

            Examples

            - - - - - - diff --git a/vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/src/ButtonGenerator.php b/vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/src/ButtonGenerator.php deleted file mode 100755 index da2bb178ab87..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/src/ButtonGenerator.php +++ /dev/null @@ -1,143 +0,0 @@ -\n"; - $form .= "\n"; - - foreach ($formHiddenInputs as $name => $value) { - $form .= "\n"; - } - $form .= "\n"; - return $form; - } - /** - * Function Generates the html form - * @param accessKey - Put your Access Key here - * @param secretKey - Put your secret Key here - * @param amount - Enter the amount you want to collect for the ite - * @param description - description - Enter a description of the item - * @param referenceId - Optionally enter an ID that uniquely identifies this transaction for your records - * @param abandonUrl - Optionally, enter the URL where senders should be redirected if they cancel their transaction - * @param returnUrl - Optionally enter the URL where buyers should be redirected after they complete the transaction - * @param immediateReturn - Optionally, enter "1" if you want to skip the final status page in Amazon Payments, - * @param processImmediate - Optionally, enter "1" if you want to settle the transaction immediately else "0". Default value is "1" - * @param ipnUrl - Optionally, type the URL of your host page to which Amazon Payments should send the IPN transaction information. - * @param collectShippingAddress - Optionally, enter "1" if you want Amazon Payments to return the buyer's shipping address as part of the transaction information - * @param signatureMethod - Valid values are HmacSHA256 and HmacSHA1 - * @param environment - Sets the environment where your form will point to can be "sandbox" or "prod" - * @return - A map of key of key-value pair for all non null parameters - * @throws Exception - */ - - public static function GenerateForm($accessKey,$secretKey,$amount, $description, $referenceId, $immediateReturn, - $returnUrl, $abandonUrl, $processImmediate, $ipnUrl,$collectShippingAddress, - $signatureMethod,$environment) { - if($environment=="prod"){ - $endPoint = self::$PROD_END_POINT; - $imageLocation = self::$PROD_IMAGE_LOCATION; - } - else - { - $endPoint= self::$SANDBOX_END_POINT; - $imageLocation = self::$SANDBOX_IMAGE_LOCATION; - } - - $params = self::getSimplePayStandardParams($accessKey,$amount, $description, $referenceId, $immediateReturn, - $returnUrl, $abandonUrl, $processImmediate, $ipnUrl,$collectShippingAddress, $signatureMethod); - - $serviceEndPoint = parse_url($endPoint); - $signature = SignatureUtils::signParameters($params, $secretKey, - self::$httpMethod, $serviceEndPoint['host'], $serviceEndPoint['path'],$signatureMethod); - $params[self::SIGNATURE_KEYNAME] = $signature; - $simplePayForm = self::getSimplePayStandardForm($params,$endPoint,$imageLocation); - print $simplePayForm . "\n"; - } - - -} - - -?> diff --git a/vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/src/SignatureUtils.php b/vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/src/SignatureUtils.php deleted file mode 100755 index c0cd36d13757..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/src/SignatureUtils.php +++ /dev/null @@ -1,112 +0,0 @@ - $value) { - $queryParameters[] = $key . '=' . self::_urlencode($value); - } - return implode('&', $queryParameters); - } - - /** - * Computes RFC 2104-compliant HMAC signature. - */ - private static function _sign($data, $key, $algorithm) { - if ($algorithm === 'HmacSHA1') { - $hash = 'sha1'; - } else if ($algorithm === 'HmacSHA256') { - $hash = 'sha256'; - } else { - throw new Exception ("Non-supported signing method specified"); - } - return base64_encode( - hash_hmac($hash, $data, $key, true) - ); - } -} - -?> diff --git a/vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/src/StandardButtonSample.php b/vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/src/StandardButtonSample.php deleted file mode 100755 index 7f7660183f24..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/src/StandardButtonSample.php +++ /dev/null @@ -1,43 +0,0 @@ -"; //Put your Access Key here - private static $secretKey = ""; //Put your Secret Key here - private static $amount="USD 1.1"; //Enter the amount you want to collect for the item - private static $signatureMethod="HmacSHA256"; // Valid values are HmacSHA256 and HmacSHA1. - private static $description="Test Widget"; //Enter a description of the item - private static $referenceId="test-reference123"; //Optionally, enter an ID that uniquely identifies this transaction for your records - private static $abandonUrl="http://yourwebsite.com/cancel.html"; //Optionally, enter the URL where senders should be redirected if they cancel their transaction - private static $returnUrl="http://yourwebsite.com/return.html"; //Optionally enter the URL where buyers should be redirected after they complete the transaction - private static $immediateReturn="0"; //Optionally, enter "1" if you want to skip the final status page in Amazon Payments - private static $processImmediate="1"; //Optionally, enter "1" if you want to settle the transaction immediately else "0". Default value is "1" - private static $ipnUrl="http://yourwebsite.com/ipn"; //Optionally, type the URL of your host page to which Amazon Payments should send the IPN transaction information. - private static $collectShippingAddress=null; //Optionally, enter "1" if you want Amazon Payments to return the buyer's shipping address as part of the transaction information - private static $environment="sandbox"; //Valid values are "sandbox" or "prod" - - public static function Sampleform() { - try{ - ButtonGenerator::GenerateForm(self::$accessKey,self::$secretKey,self::$amount, self::$description, self::$referenceId, self::$immediateReturn,self::$returnUrl, self::$abandonUrl, self::$processImmediate, self::$ipnUrl, self::$collectShippingAddress,self::$signatureMethod, self::$environment); - - } - catch(Exception $e){ - echo 'Exception : ', $e->getMessage(),"\n"; - } - } -} - StandardButtonSample::SampleForm(); - -?> diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/README.html b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/README.html deleted file mode 100755 index a1a6c6223957..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/README.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - Amazon FPS PHP Library Ver-2008-09-17 - - - -

            About this Library

            -
              -
            • Based on the 2008-09-17 API version.
            • -
            • Version 2.0
            • -
            • Release Date : 2009-11-03
            • -
            - -

            Prerequisites

            - - -

            Package Content

            - - - - - - - - - - - - - - -
            DirectoryOverview
            - src - - Source distribution of the library. All sources including code samples that demonstrate the use of the library located under this directory. -
            - -

            Steps to make a sample (Refund) API call

            -
              -
            • Open RefundSample.php in src/Amazon/FPS/Samples
            • -
            -
              -
            • Set request parameters. For example, find following pre-generated snippet:
            • -
              -// @TODO: set request. Action can be passed as Amazon_FPS_Model_RefundRequest
              -// object or array of parameters
              -// invokeRefund($service, $request);
              -        
              -
            -
              -
            • Uncomment third line and set Refund request parameters
            • -
              -$request = new Amazon_FPS_Model_RefundRequest();
              -$request->setTransactionId("YourOriginalTransactionIdForWhichYouWantTheRefund");
              -$amount = new Amazon_FPS_Model_Amount();
              -$amount->setCurrencyCode(CurrencyCode.USD);
              -$amount->setValue("1");
              -$request->setRefundAmount(amount);
              -$request->setCallerReference("ABCDEFGHIJKL12345");
              -$request->setCallerDescription("Ecommerce Merchant - FPSBuy.com");
              -        
              -
            • run sample. You should see the output similar to the following:
            • -
              -RefundResponse
              -	RefundResult
              -		TransactionId
              -			14GK6F2QU755ODS27SGHEURLKPG72Z54KMF
              -		TransactionStatus
              -			Pending
              -	ResponseMetadata
              -		RequestId
              -			1a146b9a-b37b-4f5f-bda6-012a5b9e45c3:0
              -    
              -
            • Experiment with other samples, examine samples sources. When ready, add library project to your solution, and use it
            • -
            • If the response status is Pending, you can use GetTransactionStatus API to get latest transaction status
            • -
            • Use the samples in IPNAndReturnURLValidator package for validating and receiving IPNs for this refund transaction
            • -
            - - - - -

            Related resources

            -More about Amazon FPS -
            -Documentation -
            -Code samples -
            -Contact us for technical issues -
            - -

            Comments, Questions or Feedback

            - -If you have any comments, questions or feedback on the library, please start discussion here (Amazon FPS forum). - - diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Client.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Client.php deleted file mode 100755 index 35087d5ad2a2..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Client.php +++ /dev/null @@ -1,1638 +0,0 @@ - 'https://fps.amazonaws.com', - 'UserAgent' => 'Amazon FPS PHP5 Library', - 'SignatureVersion' => 2, - 'SignatureMethod' => 'HmacSHA256', - 'ProxyHost' => null, - 'ProxyPort' => -1, - 'MaxErrorRetry' => 3 - ); - - /** - * Construct new Client - * - * @param string $awsAccessKeyId AWS Access Key ID - * @param string $awsSecretAccessKey AWS Secret Access Key - * @param array $config configuration options. - * Valid configuration options are: - *
              - *
            • ServiceURL
            • - *
            • UserAgent
            • - *
            • SignatureVersion
            • - *
            • TimesRetryOnError
            • - *
            • ProxyHost
            • - *
            • ProxyPort
            • - *
            • MaxErrorRetry
            • - *
            - */ - public function __construct($awsAccessKeyId, $awsSecretAccessKey, $config = null) - { - iconv_set_encoding('output_encoding', 'UTF-8'); - iconv_set_encoding('input_encoding', 'UTF-8'); - iconv_set_encoding('internal_encoding', 'UTF-8'); - - $this->_awsAccessKeyId = $awsAccessKeyId; - $this->_awsSecretAccessKey = $awsSecretAccessKey; - if (!is_null($config)) $this->_config = array_merge($this->_config, $config); - } - - // Public API ------------------------------------------------------------// - - - - /** - * Cancel Token - * - * Cancels any token installed by the calling application on its own account. - * - * @see http://docs.amazonwebservices.com/${docPath}CancelToken.html - * @param mixed $request array of parameters for Amazon_FPS_Model_CancelTokenRequest request - * or Amazon_FPS_Model_CancelTokenRequest object itself - * @see Amazon_FPS_Model_CancelToken - * @return Amazon_FPS_Model_CancelTokenResponse Amazon_FPS_Model_CancelTokenResponse - * - * @throws Amazon_FPS_Exception - */ - public function cancelToken($request) - { - if (!$request instanceof Amazon_FPS_Model_CancelTokenRequest) { - require_once ('Amazon/FPS/Model/CancelTokenRequest.php'); - $request = new Amazon_FPS_Model_CancelTokenRequest($request); - } - require_once ('Amazon/FPS/Model/CancelTokenResponse.php'); - return Amazon_FPS_Model_CancelTokenResponse::fromXML($this->_invoke($this->_convertCancelToken($request))); - } - - - - /** - * Cancel - * - * Cancels an ongoing transaction and puts it in cancelled state. - * - * @see http://docs.amazonwebservices.com/${docPath}Cancel.html - * @param mixed $request array of parameters for Amazon_FPS_Model_CancelRequest request - * or Amazon_FPS_Model_CancelRequest object itself - * @see Amazon_FPS_Model_Cancel - * @return Amazon_FPS_Model_CancelResponse Amazon_FPS_Model_CancelResponse - * - * @throws Amazon_FPS_Exception - */ - public function cancel($request) - { - if (!$request instanceof Amazon_FPS_Model_CancelRequest) { - require_once ('Amazon/FPS/Model/CancelRequest.php'); - $request = new Amazon_FPS_Model_CancelRequest($request); - } - require_once ('Amazon/FPS/Model/CancelResponse.php'); - return Amazon_FPS_Model_CancelResponse::fromXML($this->_invoke($this->_convertCancel($request))); - } - - - - /** - * Fund Prepaid - * - * Funds the prepaid balance on the given prepaid instrument. - * - * @see http://docs.amazonwebservices.com/${docPath}FundPrepaid.html - * @param mixed $request array of parameters for Amazon_FPS_Model_FundPrepaidRequest request - * or Amazon_FPS_Model_FundPrepaidRequest object itself - * @see Amazon_FPS_Model_FundPrepaid - * @return Amazon_FPS_Model_FundPrepaidResponse Amazon_FPS_Model_FundPrepaidResponse - * - * @throws Amazon_FPS_Exception - */ - public function fundPrepaid($request) - { - if (!$request instanceof Amazon_FPS_Model_FundPrepaidRequest) { - require_once ('Amazon/FPS/Model/FundPrepaidRequest.php'); - $request = new Amazon_FPS_Model_FundPrepaidRequest($request); - } - require_once ('Amazon/FPS/Model/FundPrepaidResponse.php'); - return Amazon_FPS_Model_FundPrepaidResponse::fromXML($this->_invoke($this->_convertFundPrepaid($request))); - } - - - - /** - * Get Account Activity - * - * Returns transactions for a given date range. - * - * @see http://docs.amazonwebservices.com/${docPath}GetAccountActivity.html - * @param mixed $request array of parameters for Amazon_FPS_Model_GetAccountActivityRequest request - * or Amazon_FPS_Model_GetAccountActivityRequest object itself - * @see Amazon_FPS_Model_GetAccountActivity - * @return Amazon_FPS_Model_GetAccountActivityResponse Amazon_FPS_Model_GetAccountActivityResponse - * - * @throws Amazon_FPS_Exception - */ - public function getAccountActivity($request) - { - if (!$request instanceof Amazon_FPS_Model_GetAccountActivityRequest) { - require_once ('Amazon/FPS/Model/GetAccountActivityRequest.php'); - $request = new Amazon_FPS_Model_GetAccountActivityRequest($request); - } - require_once ('Amazon/FPS/Model/GetAccountActivityResponse.php'); - return Amazon_FPS_Model_GetAccountActivityResponse::fromXML($this->_invoke($this->_convertGetAccountActivity($request))); - } - - - - /** - * Get Account Balance - * - * Returns the account balance for an account in real time. - * - * @see http://docs.amazonwebservices.com/${docPath}GetAccountBalance.html - * @param mixed $request array of parameters for Amazon_FPS_Model_GetAccountBalanceRequest request - * or Amazon_FPS_Model_GetAccountBalanceRequest object itself - * @see Amazon_FPS_Model_GetAccountBalance - * @return Amazon_FPS_Model_GetAccountBalanceResponse Amazon_FPS_Model_GetAccountBalanceResponse - * - * @throws Amazon_FPS_Exception - */ - public function getAccountBalance($request) - { - if (!$request instanceof Amazon_FPS_Model_GetAccountBalanceRequest) { - require_once ('Amazon/FPS/Model/GetAccountBalanceRequest.php'); - $request = new Amazon_FPS_Model_GetAccountBalanceRequest($request); - } - require_once ('Amazon/FPS/Model/GetAccountBalanceResponse.php'); - return Amazon_FPS_Model_GetAccountBalanceResponse::fromXML($this->_invoke($this->_convertGetAccountBalance($request))); - } - - - - /** - * Get Debt Balance - * - * Returns the balance corresponding to the given credit instrument. - * - * @see http://docs.amazonwebservices.com/${docPath}GetDebtBalance.html - * @param mixed $request array of parameters for Amazon_FPS_Model_GetDebtBalanceRequest request - * or Amazon_FPS_Model_GetDebtBalanceRequest object itself - * @see Amazon_FPS_Model_GetDebtBalance - * @return Amazon_FPS_Model_GetDebtBalanceResponse Amazon_FPS_Model_GetDebtBalanceResponse - * - * @throws Amazon_FPS_Exception - */ - public function getDebtBalance($request) - { - if (!$request instanceof Amazon_FPS_Model_GetDebtBalanceRequest) { - require_once ('Amazon/FPS/Model/GetDebtBalanceRequest.php'); - $request = new Amazon_FPS_Model_GetDebtBalanceRequest($request); - } - require_once ('Amazon/FPS/Model/GetDebtBalanceResponse.php'); - return Amazon_FPS_Model_GetDebtBalanceResponse::fromXML($this->_invoke($this->_convertGetDebtBalance($request))); - } - - - - /** - * Get Outstanding Debt Balance - * - * Returns the total outstanding balance for all the credit instruments for the given creditor account. - * - * @see http://docs.amazonwebservices.com/${docPath}GetOutstandingDebtBalance.html - * @param mixed $request array of parameters for Amazon_FPS_Model_GetOutstandingDebtBalanceRequest request - * or Amazon_FPS_Model_GetOutstandingDebtBalanceRequest object itself - * @see Amazon_FPS_Model_GetOutstandingDebtBalance - * @return Amazon_FPS_Model_GetOutstandingDebtBalanceResponse Amazon_FPS_Model_GetOutstandingDebtBalanceResponse - * - * @throws Amazon_FPS_Exception - */ - public function getOutstandingDebtBalance($request) - { - if (!$request instanceof Amazon_FPS_Model_GetOutstandingDebtBalanceRequest) { - require_once ('Amazon/FPS/Model/GetOutstandingDebtBalanceRequest.php'); - $request = new Amazon_FPS_Model_GetOutstandingDebtBalanceRequest($request); - } - require_once ('Amazon/FPS/Model/GetOutstandingDebtBalanceResponse.php'); - return Amazon_FPS_Model_GetOutstandingDebtBalanceResponse::fromXML($this->_invoke($this->_convertGetOutstandingDebtBalance($request))); - } - - - - /** - * Get Prepaid Balance - * - * Returns the balance available on the given prepaid instrument. - * - * @see http://docs.amazonwebservices.com/${docPath}GetPrepaidBalance.html - * @param mixed $request array of parameters for Amazon_FPS_Model_GetPrepaidBalanceRequest request - * or Amazon_FPS_Model_GetPrepaidBalanceRequest object itself - * @see Amazon_FPS_Model_GetPrepaidBalance - * @return Amazon_FPS_Model_GetPrepaidBalanceResponse Amazon_FPS_Model_GetPrepaidBalanceResponse - * - * @throws Amazon_FPS_Exception - */ - public function getPrepaidBalance($request) - { - if (!$request instanceof Amazon_FPS_Model_GetPrepaidBalanceRequest) { - require_once ('Amazon/FPS/Model/GetPrepaidBalanceRequest.php'); - $request = new Amazon_FPS_Model_GetPrepaidBalanceRequest($request); - } - require_once ('Amazon/FPS/Model/GetPrepaidBalanceResponse.php'); - return Amazon_FPS_Model_GetPrepaidBalanceResponse::fromXML($this->_invoke($this->_convertGetPrepaidBalance($request))); - } - - - - /** - * Get Token By Caller - * - * Returns the details of a particular token installed by this calling application using the subway co-branded UI. - * - * @see http://docs.amazonwebservices.com/${docPath}GetTokenByCaller.html - * @param mixed $request array of parameters for Amazon_FPS_Model_GetTokenByCallerRequest request - * or Amazon_FPS_Model_GetTokenByCallerRequest object itself - * @see Amazon_FPS_Model_GetTokenByCaller - * @return Amazon_FPS_Model_GetTokenByCallerResponse Amazon_FPS_Model_GetTokenByCallerResponse - * - * @throws Amazon_FPS_Exception - */ - public function getTokenByCaller($request) - { - if (!$request instanceof Amazon_FPS_Model_GetTokenByCallerRequest) { - require_once ('Amazon/FPS/Model/GetTokenByCallerRequest.php'); - $request = new Amazon_FPS_Model_GetTokenByCallerRequest($request); - } - require_once ('Amazon/FPS/Model/GetTokenByCallerResponse.php'); - return Amazon_FPS_Model_GetTokenByCallerResponse::fromXML($this->_invoke($this->_convertGetTokenByCaller($request))); - } - - - - /** - * Cancel Subscription And Refund - * - * Cancels a subscription. - * - * @see http://docs.amazonwebservices.com/${docPath}CancelSubscriptionAndRefund.html - * @param mixed $request array of parameters for Amazon_FPS_Model_CancelSubscriptionAndRefundRequest request - * or Amazon_FPS_Model_CancelSubscriptionAndRefundRequest object itself - * @see Amazon_FPS_Model_CancelSubscriptionAndRefund - * @return Amazon_FPS_Model_CancelSubscriptionAndRefundResponse Amazon_FPS_Model_CancelSubscriptionAndRefundResponse - * - * @throws Amazon_FPS_Exception - */ - public function cancelSubscriptionAndRefund($request) - { - if (!$request instanceof Amazon_FPS_Model_CancelSubscriptionAndRefundRequest) { - require_once ('Amazon/FPS/Model/CancelSubscriptionAndRefundRequest.php'); - $request = new Amazon_FPS_Model_CancelSubscriptionAndRefundRequest($request); - } - require_once ('Amazon/FPS/Model/CancelSubscriptionAndRefundResponse.php'); - return Amazon_FPS_Model_CancelSubscriptionAndRefundResponse::fromXML($this->_invoke($this->_convertCancelSubscriptionAndRefund($request))); - } - - - - /** - * Get Token Usage - * - * Returns the usage of a token. - * - * @see http://docs.amazonwebservices.com/${docPath}GetTokenUsage.html - * @param mixed $request array of parameters for Amazon_FPS_Model_GetTokenUsageRequest request - * or Amazon_FPS_Model_GetTokenUsageRequest object itself - * @see Amazon_FPS_Model_GetTokenUsage - * @return Amazon_FPS_Model_GetTokenUsageResponse Amazon_FPS_Model_GetTokenUsageResponse - * - * @throws Amazon_FPS_Exception - */ - public function getTokenUsage($request) - { - if (!$request instanceof Amazon_FPS_Model_GetTokenUsageRequest) { - require_once ('Amazon/FPS/Model/GetTokenUsageRequest.php'); - $request = new Amazon_FPS_Model_GetTokenUsageRequest($request); - } - require_once ('Amazon/FPS/Model/GetTokenUsageResponse.php'); - return Amazon_FPS_Model_GetTokenUsageResponse::fromXML($this->_invoke($this->_convertGetTokenUsage($request))); - } - - - - /** - * Get Tokens - * - * Returns a list of tokens installed on the given account. - * - * @see http://docs.amazonwebservices.com/${docPath}GetTokens.html - * @param mixed $request array of parameters for Amazon_FPS_Model_GetTokensRequest request - * or Amazon_FPS_Model_GetTokensRequest object itself - * @see Amazon_FPS_Model_GetTokens - * @return Amazon_FPS_Model_GetTokensResponse Amazon_FPS_Model_GetTokensResponse - * - * @throws Amazon_FPS_Exception - */ - public function getTokens($request) - { - if (!$request instanceof Amazon_FPS_Model_GetTokensRequest) { - require_once ('Amazon/FPS/Model/GetTokensRequest.php'); - $request = new Amazon_FPS_Model_GetTokensRequest($request); - } - require_once ('Amazon/FPS/Model/GetTokensResponse.php'); - return Amazon_FPS_Model_GetTokensResponse::fromXML($this->_invoke($this->_convertGetTokens($request))); - } - - - - /** - * Get Total Prepaid Liability - * - * Returns the total liability held by the given account corresponding to all the prepaid instruments owned by the account. - * - * @see http://docs.amazonwebservices.com/${docPath}GetTotalPrepaidLiability.html - * @param mixed $request array of parameters for Amazon_FPS_Model_GetTotalPrepaidLiabilityRequest request - * or Amazon_FPS_Model_GetTotalPrepaidLiabilityRequest object itself - * @see Amazon_FPS_Model_GetTotalPrepaidLiability - * @return Amazon_FPS_Model_GetTotalPrepaidLiabilityResponse Amazon_FPS_Model_GetTotalPrepaidLiabilityResponse - * - * @throws Amazon_FPS_Exception - */ - public function getTotalPrepaidLiability($request) - { - if (!$request instanceof Amazon_FPS_Model_GetTotalPrepaidLiabilityRequest) { - require_once ('Amazon/FPS/Model/GetTotalPrepaidLiabilityRequest.php'); - $request = new Amazon_FPS_Model_GetTotalPrepaidLiabilityRequest($request); - } - require_once ('Amazon/FPS/Model/GetTotalPrepaidLiabilityResponse.php'); - return Amazon_FPS_Model_GetTotalPrepaidLiabilityResponse::fromXML($this->_invoke($this->_convertGetTotalPrepaidLiability($request))); - } - - - - /** - * Get Transaction - * - * Returns all details of a transaction. - * - * @see http://docs.amazonwebservices.com/${docPath}GetTransaction.html - * @param mixed $request array of parameters for Amazon_FPS_Model_GetTransactionRequest request - * or Amazon_FPS_Model_GetTransactionRequest object itself - * @see Amazon_FPS_Model_GetTransaction - * @return Amazon_FPS_Model_GetTransactionResponse Amazon_FPS_Model_GetTransactionResponse - * - * @throws Amazon_FPS_Exception - */ - public function getTransaction($request) - { - if (!$request instanceof Amazon_FPS_Model_GetTransactionRequest) { - require_once ('Amazon/FPS/Model/GetTransactionRequest.php'); - $request = new Amazon_FPS_Model_GetTransactionRequest($request); - } - require_once ('Amazon/FPS/Model/GetTransactionResponse.php'); - return Amazon_FPS_Model_GetTransactionResponse::fromXML($this->_invoke($this->_convertGetTransaction($request))); - } - - - - /** - * Get Transaction Status - * - * Gets the latest status of a transaction. - * - * @see http://docs.amazonwebservices.com/${docPath}GetTransactionStatus.html - * @param mixed $request array of parameters for Amazon_FPS_Model_GetTransactionStatusRequest request - * or Amazon_FPS_Model_GetTransactionStatusRequest object itself - * @see Amazon_FPS_Model_GetTransactionStatus - * @return Amazon_FPS_Model_GetTransactionStatusResponse Amazon_FPS_Model_GetTransactionStatusResponse - * - * @throws Amazon_FPS_Exception - */ - public function getTransactionStatus($request) - { - if (!$request instanceof Amazon_FPS_Model_GetTransactionStatusRequest) { - require_once ('Amazon/FPS/Model/GetTransactionStatusRequest.php'); - $request = new Amazon_FPS_Model_GetTransactionStatusRequest($request); - } - require_once ('Amazon/FPS/Model/GetTransactionStatusResponse.php'); - return Amazon_FPS_Model_GetTransactionStatusResponse::fromXML($this->_invoke($this->_convertGetTransactionStatus($request))); - } - - - - /** - * Get Payment Instruction - * - * Gets the payment instruction of a token. - * - * @see http://docs.amazonwebservices.com/${docPath}GetPaymentInstruction.html - * @param mixed $request array of parameters for Amazon_FPS_Model_GetPaymentInstructionRequest request - * or Amazon_FPS_Model_GetPaymentInstructionRequest object itself - * @see Amazon_FPS_Model_GetPaymentInstruction - * @return Amazon_FPS_Model_GetPaymentInstructionResponse Amazon_FPS_Model_GetPaymentInstructionResponse - * - * @throws Amazon_FPS_Exception - */ - public function getPaymentInstruction($request) - { - if (!$request instanceof Amazon_FPS_Model_GetPaymentInstructionRequest) { - require_once ('Amazon/FPS/Model/GetPaymentInstructionRequest.php'); - $request = new Amazon_FPS_Model_GetPaymentInstructionRequest($request); - } - require_once ('Amazon/FPS/Model/GetPaymentInstructionResponse.php'); - return Amazon_FPS_Model_GetPaymentInstructionResponse::fromXML($this->_invoke($this->_convertGetPaymentInstruction($request))); - } - - - - /** - * Install Payment Instruction - * Installs a payment instruction for caller. - * - * @see http://docs.amazonwebservices.com/${docPath}InstallPaymentInstruction.html - * @param mixed $request array of parameters for Amazon_FPS_Model_InstallPaymentInstructionRequest request - * or Amazon_FPS_Model_InstallPaymentInstructionRequest object itself - * @see Amazon_FPS_Model_InstallPaymentInstruction - * @return Amazon_FPS_Model_InstallPaymentInstructionResponse Amazon_FPS_Model_InstallPaymentInstructionResponse - * - * @throws Amazon_FPS_Exception - */ - public function installPaymentInstruction($request) - { - if (!$request instanceof Amazon_FPS_Model_InstallPaymentInstructionRequest) { - require_once ('Amazon/FPS/Model/InstallPaymentInstructionRequest.php'); - $request = new Amazon_FPS_Model_InstallPaymentInstructionRequest($request); - } - require_once ('Amazon/FPS/Model/InstallPaymentInstructionResponse.php'); - return Amazon_FPS_Model_InstallPaymentInstructionResponse::fromXML($this->_invoke($this->_convertInstallPaymentInstruction($request))); - } - - - - /** - * Pay - * - * Allows calling applications to move money from a sender to a recipient. - * - * @see http://docs.amazonwebservices.com/${docPath}Pay.html - * @param mixed $request array of parameters for Amazon_FPS_Model_PayRequest request - * or Amazon_FPS_Model_PayRequest object itself - * @see Amazon_FPS_Model_Pay - * @return Amazon_FPS_Model_PayResponse Amazon_FPS_Model_PayResponse - * - * @throws Amazon_FPS_Exception - */ - public function pay($request) - { - if (!$request instanceof Amazon_FPS_Model_PayRequest) { - require_once ('Amazon/FPS/Model/PayRequest.php'); - $request = new Amazon_FPS_Model_PayRequest($request); - } - require_once ('Amazon/FPS/Model/PayResponse.php'); - return Amazon_FPS_Model_PayResponse::fromXML($this->_invoke($this->_convertPay($request))); - } - - - - /** - * Refund - * - * Refunds a previously completed transaction. - * - * @see http://docs.amazonwebservices.com/${docPath}Refund.html - * @param mixed $request array of parameters for Amazon_FPS_Model_RefundRequest request - * or Amazon_FPS_Model_RefundRequest object itself - * @see Amazon_FPS_Model_Refund - * @return Amazon_FPS_Model_RefundResponse Amazon_FPS_Model_RefundResponse - * - * @throws Amazon_FPS_Exception - */ - public function refund($request) - { - if (!$request instanceof Amazon_FPS_Model_RefundRequest) { - require_once ('Amazon/FPS/Model/RefundRequest.php'); - $request = new Amazon_FPS_Model_RefundRequest($request); - } - require_once ('Amazon/FPS/Model/RefundResponse.php'); - return Amazon_FPS_Model_RefundResponse::fromXML($this->_invoke($this->_convertRefund($request))); - } - - - - /** - * Reserve - * - * Reserve API is part of the Reserve and Settle API conjunction that serve the purpose of a pay where the authorization and settlement have a timing difference. - * - * @see http://docs.amazonwebservices.com/${docPath}Reserve.html - * @param mixed $request array of parameters for Amazon_FPS_Model_ReserveRequest request - * or Amazon_FPS_Model_ReserveRequest object itself - * @see Amazon_FPS_Model_Reserve - * @return Amazon_FPS_Model_ReserveResponse Amazon_FPS_Model_ReserveResponse - * - * @throws Amazon_FPS_Exception - */ - public function reserve($request) - { - if (!$request instanceof Amazon_FPS_Model_ReserveRequest) { - require_once ('Amazon/FPS/Model/ReserveRequest.php'); - $request = new Amazon_FPS_Model_ReserveRequest($request); - } - require_once ('Amazon/FPS/Model/ReserveResponse.php'); - return Amazon_FPS_Model_ReserveResponse::fromXML($this->_invoke($this->_convertReserve($request))); - } - - - - /** - * Settle - * - * The Settle API is used in conjunction with the Reserve API and is used to settle previously reserved transaction. - * - * @see http://docs.amazonwebservices.com/${docPath}Settle.html - * @param mixed $request array of parameters for Amazon_FPS_Model_SettleRequest request - * or Amazon_FPS_Model_SettleRequest object itself - * @see Amazon_FPS_Model_Settle - * @return Amazon_FPS_Model_SettleResponse Amazon_FPS_Model_SettleResponse - * - * @throws Amazon_FPS_Exception - */ - public function settle($request) - { - if (!$request instanceof Amazon_FPS_Model_SettleRequest) { - require_once ('Amazon/FPS/Model/SettleRequest.php'); - $request = new Amazon_FPS_Model_SettleRequest($request); - } - require_once ('Amazon/FPS/Model/SettleResponse.php'); - return Amazon_FPS_Model_SettleResponse::fromXML($this->_invoke($this->_convertSettle($request))); - } - - - - /** - * Settle Debt - * - * Allows a caller to initiate a transaction that atomically transfers money from a sender’s payment instrument to the recipient, while decreasing corresponding debt balance. - * - * @see http://docs.amazonwebservices.com/${docPath}SettleDebt.html - * @param mixed $request array of parameters for Amazon_FPS_Model_SettleDebtRequest request - * or Amazon_FPS_Model_SettleDebtRequest object itself - * @see Amazon_FPS_Model_SettleDebt - * @return Amazon_FPS_Model_SettleDebtResponse Amazon_FPS_Model_SettleDebtResponse - * - * @throws Amazon_FPS_Exception - */ - public function settleDebt($request) - { - if (!$request instanceof Amazon_FPS_Model_SettleDebtRequest) { - require_once ('Amazon/FPS/Model/SettleDebtRequest.php'); - $request = new Amazon_FPS_Model_SettleDebtRequest($request); - } - require_once ('Amazon/FPS/Model/SettleDebtResponse.php'); - return Amazon_FPS_Model_SettleDebtResponse::fromXML($this->_invoke($this->_convertSettleDebt($request))); - } - - - - /** - * Write Off Debt - * - * Allows a creditor to write off the debt balance accumulated partially or fully at any time. - * - * @see http://docs.amazonwebservices.com/${docPath}WriteOffDebt.html - * @param mixed $request array of parameters for Amazon_FPS_Model_WriteOffDebtRequest request - * or Amazon_FPS_Model_WriteOffDebtRequest object itself - * @see Amazon_FPS_Model_WriteOffDebt - * @return Amazon_FPS_Model_WriteOffDebtResponse Amazon_FPS_Model_WriteOffDebtResponse - * - * @throws Amazon_FPS_Exception - */ - public function writeOffDebt($request) - { - if (!$request instanceof Amazon_FPS_Model_WriteOffDebtRequest) { - require_once ('Amazon/FPS/Model/WriteOffDebtRequest.php'); - $request = new Amazon_FPS_Model_WriteOffDebtRequest($request); - } - require_once ('Amazon/FPS/Model/WriteOffDebtResponse.php'); - return Amazon_FPS_Model_WriteOffDebtResponse::fromXML($this->_invoke($this->_convertWriteOffDebt($request))); - } - - - - /** - * Verify Signature - * - * Verify the signature that FPS sent in IPN or callback urls. - * - * @see http://docs.amazonwebservices.com/${docPath}VerifySignature.html - * @param mixed $request array of parameters for Amazon_FPS_Model_VerifySignatureRequest request - * or Amazon_FPS_Model_VerifySignatureRequest object itself - * @see Amazon_FPS_Model_VerifySignature - * @return Amazon_FPS_Model_VerifySignatureResponse Amazon_FPS_Model_VerifySignatureResponse - * - * @throws Amazon_FPS_Exception - */ - public function verifySignature($request) - { - if (!$request instanceof Amazon_FPS_Model_VerifySignatureRequest) { - require_once ('Amazon/FPS/Model/VerifySignatureRequest.php'); - $request = new Amazon_FPS_Model_VerifySignatureRequest($request); - } - require_once ('Amazon/FPS/Model/VerifySignatureResponse.php'); - return Amazon_FPS_Model_VerifySignatureResponse::fromXML($this->_invoke($this->_convertVerifySignature($request))); - } - - // Private API ------------------------------------------------------------// - - /** - * Invoke request and return response - */ - private function _invoke(array $parameters) - { - $actionName = $parameters["Action"]; - $response = array(); - $responseBody = null; - $statusCode = 200; - - /* Submit the request and read response body */ - try { - - /* Add required request parameters */ - $parameters = $this->_addRequiredParameters($parameters); - - $shouldRetry = true; - $retries = 0; - do { - try { - $response = $this->_httpPost($parameters); - if ($response['Status'] === 200) { - $shouldRetry = false; - } else { - if ($response['Status'] === 500 || $response['Status'] === 503) { - $shouldRetry = true; - $this->_pauseOnRetry(++$retries, $response['Status']); - } else { - throw $this->_reportAnyErrors($response['ResponseBody'], $response['Status']); - } - } - /* Rethrow on deserializer error */ - } catch (Exception $e) { - require_once ('Amazon/FPS/Exception.php'); - if ($e instanceof Amazon_FPS_Exception) { - throw $e; - } else { - require_once ('Amazon/FPS/Exception.php'); - throw new Amazon_FPS_Exception(array('Exception' => $e, 'Message' => $e->getMessage())); - } - } - - } while ($shouldRetry); - - } catch (Amazon_FPS_Exception $se) { - throw $se; - } catch (Exception $t) { - throw new Amazon_FPS_Exception(array('Exception' => $t, 'Message' => $t->getMessage())); - } - - return $response['ResponseBody']; - } - - /** - * Look for additional error strings in the response and return formatted exception - */ - private function _reportAnyErrors($responseBody, $status, Exception $e = null) - { - $ex = null; - if (!is_null($responseBody) && strpos($responseBody, '<') === 0) { - if (preg_match('@(.*).*(.*)(.*).*()?@mi', - $responseBody, $errorMatcherOne)) { - - $requestId = $errorMatcherOne[1]; - $code = $errorMatcherOne[2]; - $message = $errorMatcherOne[3]; - - require_once ('Amazon/FPS/Exception.php'); - $ex = new Amazon_FPS_Exception(array ('Message' => $message, 'StatusCode' => $status, 'ErrorCode' => $code, - 'ErrorType' => 'Unknown', 'RequestId' => $requestId, 'XML' => $responseBody)); - - } elseif (preg_match('@(.*)(.*).*()?.*(.*)@mi', - $responseBody, $errorMatcherTwo)) { - - $code = $errorMatcherTwo[1]; - $message = $errorMatcherTwo[2]; - $requestId = $errorMatcherTwo[4]; - require_once ('Amazon/FPS/Exception.php'); - $ex = new Amazon_FPS_Exception(array ('Message' => $message, 'StatusCode' => $status, 'ErrorCode' => $code, - 'ErrorType' => 'Unknown', 'RequestId' => $requestId, 'XML' => $responseBody)); - } elseif (preg_match('@(.*)(.*)(.*).*.*()?.*(.*)@mi', - $responseBody, $errorMatcherThree)) { - - $type = $errorMatcherThree[1]; - $code = $errorMatcherThree[2]; - $message = $errorMatcherThree[3]; - $requestId = $errorMatcherThree[5]; - require_once ('Amazon/FPS/Exception.php'); - $ex = new Amazon_FPS_Exception(array ('Message' => $message, 'StatusCode' => $status, 'ErrorCode' => $code, - 'ErrorType' => $type, 'RequestId' => $requestId, 'XML' => $responseBody)); - - } else { - require_once ('Amazon/FPS/Exception.php'); - $ex = new Amazon_FPS_Exception(array('Message' => 'Internal Error', 'StatusCode' => $status)); - } - } else { - require_once ('Amazon/FPS/Exception.php'); - $ex = new Amazon_FPS_Exception(array('Message' => 'Internal Error', 'StatusCode' => $status)); - } - return $ex; - } - - - - /** - * Perform HTTP post with exponential retries on error 500 and 503 - * - */ - private function _httpPost(array $parameters) - { - - $query = $this->_getParametersAsString($parameters); - $url = parse_url ($this->_config['ServiceURL']); - $post = "POST / HTTP/1.0\r\n"; - $post .= "Host: " . $url['host'] . "\r\n"; - $post .= "Content-Type: application/x-www-form-urlencoded; charset=utf-8\r\n"; - $post .= "Content-Length: " . strlen($query) . "\r\n"; - $post .= "User-Agent: " . $this->_config['UserAgent'] . "\r\n"; - $post .= "\r\n"; - $post .= $query; - $port = array_key_exists('port',$url) ? $url['port'] : null; - $scheme = ''; - - switch ($url['scheme']) { - case 'https': - $scheme = 'ssl://'; - $port = $port === null ? 443 : $port; - break; - default: - $scheme = ''; - $port = $port === null ? 80 : $port; - } - - $response = ''; - if ($socket = @fsockopen($scheme . $url['host'], $port, $errno, $errstr, 10)) { - - fwrite($socket, $post); - - while (!feof($socket)) { - $response .= fgets($socket, 1160); - } - fclose($socket); - - list($other, $responseBody) = explode("\r\n\r\n", $response, 2); - $other = preg_split("/\r\n|\n|\r/", $other); - list($protocol, $code, $text) = explode(' ', trim(array_shift($other)), 3); - } else { - throw new Exception ("Unable to establish connection to host " . $url['host'] . " $errstr"); - } - - - return array ('Status' => (int)$code, 'ResponseBody' => $responseBody); - } - - /** - * Exponential sleep on failed request - * @param retries current retry - * @throws Amazon_FPS_Exception if maximum number of retries has been reached - */ - private function _pauseOnRetry($retries, $status) - { - if ($retries <= $this->_config['MaxErrorRetry']) { - $delay = (int) (pow(4, $retries) * 100000) ; - usleep($delay); - } else { - require_once ('Amazon/FPS/Exception.php'); - throw new Amazon_FPS_Exception (array ('Message' => "Maximum number of retry attempts reached : $retries", 'StatusCode' => $status)); - } - } - - /** - * Add authentication related and version parameters - */ - private function _addRequiredParameters(array $parameters) - { - $parameters['AWSAccessKeyId'] = $this->_awsAccessKeyId; - $parameters['Timestamp'] = $this->_getFormattedTimestamp(); - $parameters['Version'] = self::SERVICE_VERSION; - $parameters['SignatureVersion'] = $this->_config['SignatureVersion']; - if ($parameters['SignatureVersion'] > 1) { - $parameters['SignatureMethod'] = $this->_config['SignatureMethod']; - } - $parameters['Signature'] = $this->_signParameters($parameters, $this->_awsSecretAccessKey); - - return $parameters; - } - - /** - * Convert paremeters to Url encoded query string - */ - private function _getParametersAsString(array $parameters) - { - $queryParameters = array(); - foreach ($parameters as $key => $value) { - $queryParameters[] = $key . '=' . $this->_urlencode($value); - } - return implode('&', $queryParameters); - } - - - /** - * Computes RFC 2104-compliant HMAC signature for request parameters - * Implements AWS Signature, as per following spec: - * - * If Signature Version is 0, it signs concatenated Action and Timestamp - * - * If Signature Version is 1, it performs the following: - * - * Sorts all parameters (including SignatureVersion and excluding Signature, - * the value of which is being created), ignoring case. - * - * Iterate over the sorted list and append the parameter name (in original case) - * and then its value. It will not URL-encode the parameter values before - * constructing this string. There are no separators. - * - * If Signature Version is 2, string to sign is based on following: - * - * 1. The HTTP Request Method followed by an ASCII newline (%0A) - * 2. The HTTP Host header in the form of lowercase host, followed by an ASCII newline. - * 3. The URL encoded HTTP absolute path component of the URI - * (up to but not including the query string parameters); - * if this is empty use a forward '/'. This parameter is followed by an ASCII newline. - * 4. The concatenation of all query string components (names and values) - * as UTF-8 characters which are URL encoded as per RFC 3986 - * (hex characters MUST be uppercase), sorted using lexicographic byte ordering. - * Parameter names are separated from their values by the '=' character - * (ASCII character 61), even if the value is empty. - * Pairs of parameter and values are separated by the '&' character (ASCII code 38). - * - */ - private function _signParameters(array $parameters, $key) { - $signatureVersion = $parameters['SignatureVersion']; - $algorithm = "HmacSHA1"; - $stringToSign = null; - if (0 === $signatureVersion) { - $stringToSign = $this->_calculateStringToSignV0($parameters); - } else if (1 === $signatureVersion) { - $stringToSign = $this->_calculateStringToSignV1($parameters); - } else if (2 === $signatureVersion) { - $algorithm = $this->_config['SignatureMethod']; - $parameters['SignatureMethod'] = $algorithm; - $stringToSign = $this->_calculateStringToSignV2($parameters); - } else { - throw new Exception("Invalid Signature Version specified"); - } - return $this->_sign($stringToSign, $key, $algorithm); - } - - /** - * Calculate String to Sign for SignatureVersion 0 - * @param array $parameters request parameters - * @return String to Sign - */ - private function _calculateStringToSignV0(array $parameters) { - return $parameters['Action'] . $parameters['Timestamp']; - } - - /** - * Calculate String to Sign for SignatureVersion 1 - * @param array $parameters request parameters - * @return String to Sign - */ - private function _calculateStringToSignV1(array $parameters) { - $data = ''; - uksort($parameters, 'strcasecmp'); - foreach ($parameters as $parameterName => $parameterValue) { - $data .= $parameterName . $parameterValue; - } - return $data; - } - - /** - * Calculate String to Sign for SignatureVersion 2 - * @param array $parameters request parameters - * @return String to Sign - */ - private function _calculateStringToSignV2(array $parameters) { - $data = 'POST'; - $data .= "\n"; - $endpoint = parse_url ($this->_config['ServiceURL']); - $data .= $endpoint['host']; - $data .= "\n"; - $uri = array_key_exists('path', $endpoint) ? $endpoint['path'] : null; - if (!isset ($uri)) { - $uri = "/"; - } - $uriencoded = implode("/", array_map(array($this, "_urlencode"), explode("/", $uri))); - $data .= $uriencoded; - $data .= "\n"; - uksort($parameters, 'strcmp'); - $data .= $this->_getParametersAsString($parameters); - return $data; - } - - private function _urlencode($value) { - return str_replace('%7E', '~', rawurlencode($value)); - } - - - /** - * Computes RFC 2104-compliant HMAC signature. - */ - private function _sign($data, $key, $algorithm) - { - if ($algorithm === 'HmacSHA1') { - $hash = 'sha1'; - } else if ($algorithm === 'HmacSHA256') { - $hash = 'sha256'; - } else { - throw new Exception ("Non-supported signing method specified"); - } - return base64_encode( - hash_hmac($hash, $data, $key, true) - ); - } - - - /** - * Formats date as ISO 8601 timestamp - */ - private function _getFormattedTimestamp() - { - return gmdate("Y-m-d\TH:i:s.\\0\\0\\0\\Z", time()); - } - - - - /** - * Convert CancelRequest to name value pairs - */ - private function _convertCancel($request) { - - $parameters = array(); - $parameters['Action'] = 'Cancel'; - if ($request->isSetTransactionId()) { - $parameters['TransactionId'] = $request->getTransactionId(); - } - if ($request->isSetDescription()) { - $parameters['Description'] = $request->getDescription(); - } - - return $parameters; - } - - - /** - * Convert CancelTokenRequest to name value pairs - */ - private function _convertCancelToken($request) { - - $parameters = array(); - $parameters['Action'] = 'CancelToken'; - if ($request->isSetTokenId()) { - $parameters['TokenId'] = $request->getTokenId(); - } - if ($request->isSetReasonText()) { - $parameters['ReasonText'] = $request->getReasonText(); - } - - return $parameters; - } - - - /** - * Convert CancelSubscriptionAndRefundRequest to name value pairs - */ - private function _convertCancelSubscriptionAndRefund($request) { - - $parameters = array(); - $parameters['Action'] = 'CancelSubscriptionAndRefund'; - if ($request->isSetSubscriptionId()) { - $parameters['SubscriptionId'] = $request->getSubscriptionId(); - } - if ($request->isSetRefundAmount()) { - $refundAmountcancelSubscriptionAndRefundRequest = $request->getRefundAmount(); - if ($refundAmountcancelSubscriptionAndRefundRequest->isSetCurrencyCode()) { - $parameters['RefundAmount' . '.' . 'CurrencyCode'] = $refundAmountcancelSubscriptionAndRefundRequest->getCurrencyCode(); - } - if ($refundAmountcancelSubscriptionAndRefundRequest->isSetValue()) { - $parameters['RefundAmount' . '.' . 'Value'] = $refundAmountcancelSubscriptionAndRefundRequest->getValue(); - } - } - if ($request->isSetCallerReference()) { - $parameters['CallerReference'] = $request->getCallerReference(); - } - if ($request->isSetCancelReason()) { - $parameters['CancelReason'] = $request->getCancelReason(); - } - - return $parameters; - } - - - /** - * Convert FundPrepaidRequest to name value pairs - */ - private function _convertFundPrepaid($request) { - - $parameters = array(); - $parameters['Action'] = 'FundPrepaid'; - if ($request->isSetSenderTokenId()) { - $parameters['SenderTokenId'] = $request->getSenderTokenId(); - } - if ($request->isSetPrepaidInstrumentId()) { - $parameters['PrepaidInstrumentId'] = $request->getPrepaidInstrumentId(); - } - if ($request->isSetFundingAmount()) { - $fundingAmountfundPrepaidRequest = $request->getFundingAmount(); - if ($fundingAmountfundPrepaidRequest->isSetCurrencyCode()) { - $parameters['FundingAmount' . '.' . 'CurrencyCode'] = $fundingAmountfundPrepaidRequest->getCurrencyCode(); - } - if ($fundingAmountfundPrepaidRequest->isSetValue()) { - $parameters['FundingAmount' . '.' . 'Value'] = $fundingAmountfundPrepaidRequest->getValue(); - } - } - if ($request->isSetCallerReference()) { - $parameters['CallerReference'] = $request->getCallerReference(); - } - if ($request->isSetSenderDescription()) { - $parameters['SenderDescription'] = $request->getSenderDescription(); - } - if ($request->isSetCallerDescription()) { - $parameters['CallerDescription'] = $request->getCallerDescription(); - } - if ($request->isSetDescriptorPolicy()) { - $descriptorPolicyfundPrepaidRequest = $request->getDescriptorPolicy(); - if ($descriptorPolicyfundPrepaidRequest->isSetSoftDescriptorType()) { - $parameters['DescriptorPolicy' . '.' . 'SoftDescriptorType'] = $descriptorPolicyfundPrepaidRequest->getSoftDescriptorType(); - } - if ($descriptorPolicyfundPrepaidRequest->isSetCSOwner()) { - $parameters['DescriptorPolicy' . '.' . 'CSOwner'] = $descriptorPolicyfundPrepaidRequest->getCSOwner(); - } - } - if ($request->isSetTransactionTimeoutInMins()) { - $parameters['TransactionTimeoutInMins'] = $request->getTransactionTimeoutInMins(); - } - - return $parameters; - } - - - /** - * Convert GetAccountActivityRequest to name value pairs - */ - private function _convertGetAccountActivity($request) { - - $parameters = array(); - $parameters['Action'] = 'GetAccountActivity'; - if ($request->isSetMaxBatchSize()) { - $parameters['MaxBatchSize'] = $request->getMaxBatchSize(); - } - if ($request->isSetStartDate()) { - $parameters['StartDate'] = $request->getStartDate(); - } - if ($request->isSetEndDate()) { - $parameters['EndDate'] = $request->getEndDate(); - } - if ($request->isSetSortOrderByDate()) { - $parameters['SortOrderByDate'] = $request->getSortOrderByDate(); - } - if ($request->isSetFPSOperation()) { - $parameters['FPSOperation'] = $request->getFPSOperation(); - } - if ($request->isSetPaymentMethod()) { - $parameters['PaymentMethod'] = $request->getPaymentMethod(); - } - foreach ($request->getRole() as $rolegetAccountActivityRequestIndex => $rolegetAccountActivityRequest) { - $parameters['Role' . '.' . ($rolegetAccountActivityRequestIndex + 1)] = $rolegetAccountActivityRequest; - } - if ($request->isSetTransactionStatus()) { - $parameters['TransactionStatus'] = $request->getTransactionStatus(); - } - - return $parameters; - } - - - /** - * Convert GetAccountBalanceRequest to name value pairs - */ - private function _convertGetAccountBalance($request) { - - $parameters = array(); - $parameters['Action'] = 'GetAccountBalance'; - - return $parameters; - } - - - /** - * Convert GetDebtBalanceRequest to name value pairs - */ - private function _convertGetDebtBalance($request) { - - $parameters = array(); - $parameters['Action'] = 'GetDebtBalance'; - if ($request->isSetCreditInstrumentId()) { - $parameters['CreditInstrumentId'] = $request->getCreditInstrumentId(); - } - - return $parameters; - } - - - /** - * Convert GetOutstandingDebtBalanceRequest to name value pairs - */ - private function _convertGetOutstandingDebtBalance($request) { - - $parameters = array(); - $parameters['Action'] = 'GetOutstandingDebtBalance'; - - return $parameters; - } - - - /** - * Convert GetPrepaidBalanceRequest to name value pairs - */ - private function _convertGetPrepaidBalance($request) { - - $parameters = array(); - $parameters['Action'] = 'GetPrepaidBalance'; - if ($request->isSetPrepaidInstrumentId()) { - $parameters['PrepaidInstrumentId'] = $request->getPrepaidInstrumentId(); - } - - return $parameters; - } - - - /** - * Convert GetTokenByCallerRequest to name value pairs - */ - private function _convertGetTokenByCaller($request) { - - $parameters = array(); - $parameters['Action'] = 'GetTokenByCaller'; - if ($request->isSetTokenId()) { - $parameters['TokenId'] = $request->getTokenId(); - } - if ($request->isSetCallerReference()) { - $parameters['CallerReference'] = $request->getCallerReference(); - } - - return $parameters; - } - - - /** - * Convert GetTokenUsageRequest to name value pairs - */ - private function _convertGetTokenUsage($request) { - - $parameters = array(); - $parameters['Action'] = 'GetTokenUsage'; - if ($request->isSetTokenId()) { - $parameters['TokenId'] = $request->getTokenId(); - } - - return $parameters; - } - - - /** - * Convert GetTokensRequest to name value pairs - */ - private function _convertGetTokens($request) { - - $parameters = array(); - $parameters['Action'] = 'GetTokens'; - if ($request->isSetTokenStatus()) { - $parameters['TokenStatus'] = $request->getTokenStatus(); - } - if ($request->isSetTokenType()) { - $parameters['TokenType'] = $request->getTokenType(); - } - if ($request->isSetCallerReference()) { - $parameters['CallerReference'] = $request->getCallerReference(); - } - if ($request->isSetTokenFriendlyName()) { - $parameters['TokenFriendlyName'] = $request->getTokenFriendlyName(); - } - - return $parameters; - } - - - /** - * Convert GetTotalPrepaidLiabilityRequest to name value pairs - */ - private function _convertGetTotalPrepaidLiability($request) { - - $parameters = array(); - $parameters['Action'] = 'GetTotalPrepaidLiability'; - - return $parameters; - } - - - /** - * Convert GetTransactionRequest to name value pairs - */ - private function _convertGetTransaction($request) { - - $parameters = array(); - $parameters['Action'] = 'GetTransaction'; - if ($request->isSetTransactionId()) { - $parameters['TransactionId'] = $request->getTransactionId(); - } - - return $parameters; - } - - - /** - * Convert GetTransactionStatusRequest to name value pairs - */ - private function _convertGetTransactionStatus($request) { - - $parameters = array(); - $parameters['Action'] = 'GetTransactionStatus'; - if ($request->isSetTransactionId()) { - $parameters['TransactionId'] = $request->getTransactionId(); - } - - return $parameters; - } - - - /** - * Convert GetPaymentInstructionRequest to name value pairs - */ - private function _convertGetPaymentInstruction($request) { - - $parameters = array(); - $parameters['Action'] = 'GetPaymentInstruction'; - if ($request->isSetTokenId()) { - $parameters['TokenId'] = $request->getTokenId(); - } - - return $parameters; - } - - - /** - * Convert InstallPaymentInstructionRequest to name value pairs - */ - private function _convertInstallPaymentInstruction($request) { - - $parameters = array(); - $parameters['Action'] = 'InstallPaymentInstruction'; - if ($request->isSetPaymentInstruction()) { - $parameters['PaymentInstruction'] = $request->getPaymentInstruction(); - } - if ($request->isSetTokenFriendlyName()) { - $parameters['TokenFriendlyName'] = $request->getTokenFriendlyName(); - } - if ($request->isSetCallerReference()) { - $parameters['CallerReference'] = $request->getCallerReference(); - } - if ($request->isSetTokenType()) { - $parameters['TokenType'] = $request->getTokenType(); - } - if ($request->isSetPaymentReason()) { - $parameters['PaymentReason'] = $request->getPaymentReason(); - } - - return $parameters; - } - - - /** - * Convert PayRequest to name value pairs - */ - private function _convertPay($request) { - - $parameters = array(); - $parameters['Action'] = 'Pay'; - if ($request->isSetSenderTokenId()) { - $parameters['SenderTokenId'] = $request->getSenderTokenId(); - } - if ($request->isSetRecipientTokenId()) { - $parameters['RecipientTokenId'] = $request->getRecipientTokenId(); - } - if ($request->isSetTransactionAmount()) { - $transactionAmountpayRequest = $request->getTransactionAmount(); - if ($transactionAmountpayRequest->isSetCurrencyCode()) { - $parameters['TransactionAmount' . '.' . 'CurrencyCode'] = $transactionAmountpayRequest->getCurrencyCode(); - } - if ($transactionAmountpayRequest->isSetValue()) { - $parameters['TransactionAmount' . '.' . 'Value'] = $transactionAmountpayRequest->getValue(); - } - } - if ($request->isSetChargeFeeTo()) { - $parameters['ChargeFeeTo'] = $request->getChargeFeeTo(); - } - if ($request->isSetCallerReference()) { - $parameters['CallerReference'] = $request->getCallerReference(); - } - if ($request->isSetCallerDescription()) { - $parameters['CallerDescription'] = $request->getCallerDescription(); - } - if ($request->isSetSenderDescription()) { - $parameters['SenderDescription'] = $request->getSenderDescription(); - } - if ($request->isSetDescriptorPolicy()) { - $descriptorPolicypayRequest = $request->getDescriptorPolicy(); - if ($descriptorPolicypayRequest->isSetSoftDescriptorType()) { - $parameters['DescriptorPolicy' . '.' . 'SoftDescriptorType'] = $descriptorPolicypayRequest->getSoftDescriptorType(); - } - if ($descriptorPolicypayRequest->isSetCSOwner()) { - $parameters['DescriptorPolicy' . '.' . 'CSOwner'] = $descriptorPolicypayRequest->getCSOwner(); - } - } - if ($request->isSetTransactionTimeoutInMins()) { - $parameters['TransactionTimeoutInMins'] = $request->getTransactionTimeoutInMins(); - } - if ($request->isSetMarketplaceFixedFee()) { - $marketplaceFixedFeepayRequest = $request->getMarketplaceFixedFee(); - if ($marketplaceFixedFeepayRequest->isSetCurrencyCode()) { - $parameters['MarketplaceFixedFee' . '.' . 'CurrencyCode'] = $marketplaceFixedFeepayRequest->getCurrencyCode(); - } - if ($marketplaceFixedFeepayRequest->isSetValue()) { - $parameters['MarketplaceFixedFee' . '.' . 'Value'] = $marketplaceFixedFeepayRequest->getValue(); - } - } - if ($request->isSetMarketplaceVariableFee()) { - $parameters['MarketplaceVariableFee'] = $request->getMarketplaceVariableFee(); - } - - return $parameters; - } - - - /** - * Convert RefundRequest to name value pairs - */ - private function _convertRefund($request) { - - $parameters = array(); - $parameters['Action'] = 'Refund'; - if ($request->isSetTransactionId()) { - $parameters['TransactionId'] = $request->getTransactionId(); - } - if ($request->isSetRefundAmount()) { - $refundAmountrefundRequest = $request->getRefundAmount(); - if ($refundAmountrefundRequest->isSetCurrencyCode()) { - $parameters['RefundAmount' . '.' . 'CurrencyCode'] = $refundAmountrefundRequest->getCurrencyCode(); - } - if ($refundAmountrefundRequest->isSetValue()) { - $parameters['RefundAmount' . '.' . 'Value'] = $refundAmountrefundRequest->getValue(); - } - } - if ($request->isSetCallerReference()) { - $parameters['CallerReference'] = $request->getCallerReference(); - } - if ($request->isSetCallerDescription()) { - $parameters['CallerDescription'] = $request->getCallerDescription(); - } - if ($request->isSetMarketplaceRefundPolicy()) { - $parameters['MarketplaceRefundPolicy'] = $request->getMarketplaceRefundPolicy(); - } - - return $parameters; - } - - - /** - * Convert ReserveRequest to name value pairs - */ - private function _convertReserve($request) { - - $parameters = array(); - $parameters['Action'] = 'Reserve'; - if ($request->isSetSenderTokenId()) { - $parameters['SenderTokenId'] = $request->getSenderTokenId(); - } - if ($request->isSetRecipientTokenId()) { - $parameters['RecipientTokenId'] = $request->getRecipientTokenId(); - } - if ($request->isSetTransactionAmount()) { - $transactionAmountreserveRequest = $request->getTransactionAmount(); - if ($transactionAmountreserveRequest->isSetCurrencyCode()) { - $parameters['TransactionAmount' . '.' . 'CurrencyCode'] = $transactionAmountreserveRequest->getCurrencyCode(); - } - if ($transactionAmountreserveRequest->isSetValue()) { - $parameters['TransactionAmount' . '.' . 'Value'] = $transactionAmountreserveRequest->getValue(); - } - } - if ($request->isSetChargeFeeTo()) { - $parameters['ChargeFeeTo'] = $request->getChargeFeeTo(); - } - if ($request->isSetCallerReference()) { - $parameters['CallerReference'] = $request->getCallerReference(); - } - if ($request->isSetCallerDescription()) { - $parameters['CallerDescription'] = $request->getCallerDescription(); - } - if ($request->isSetSenderDescription()) { - $parameters['SenderDescription'] = $request->getSenderDescription(); - } - if ($request->isSetDescriptorPolicy()) { - $descriptorPolicyreserveRequest = $request->getDescriptorPolicy(); - if ($descriptorPolicyreserveRequest->isSetSoftDescriptorType()) { - $parameters['DescriptorPolicy' . '.' . 'SoftDescriptorType'] = $descriptorPolicyreserveRequest->getSoftDescriptorType(); - } - if ($descriptorPolicyreserveRequest->isSetCSOwner()) { - $parameters['DescriptorPolicy' . '.' . 'CSOwner'] = $descriptorPolicyreserveRequest->getCSOwner(); - } - } - if ($request->isSetTransactionTimeoutInMins()) { - $parameters['TransactionTimeoutInMins'] = $request->getTransactionTimeoutInMins(); - } - if ($request->isSetMarketplaceFixedFee()) { - $marketplaceFixedFeereserveRequest = $request->getMarketplaceFixedFee(); - if ($marketplaceFixedFeereserveRequest->isSetCurrencyCode()) { - $parameters['MarketplaceFixedFee' . '.' . 'CurrencyCode'] = $marketplaceFixedFeereserveRequest->getCurrencyCode(); - } - if ($marketplaceFixedFeereserveRequest->isSetValue()) { - $parameters['MarketplaceFixedFee' . '.' . 'Value'] = $marketplaceFixedFeereserveRequest->getValue(); - } - } - if ($request->isSetMarketplaceVariableFee()) { - $parameters['MarketplaceVariableFee'] = $request->getMarketplaceVariableFee(); - } - - return $parameters; - } - - - /** - * Convert SettleRequest to name value pairs - */ - private function _convertSettle($request) { - - $parameters = array(); - $parameters['Action'] = 'Settle'; - if ($request->isSetReserveTransactionId()) { - $parameters['ReserveTransactionId'] = $request->getReserveTransactionId(); - } - if ($request->isSetTransactionAmount()) { - $transactionAmountsettleRequest = $request->getTransactionAmount(); - if ($transactionAmountsettleRequest->isSetCurrencyCode()) { - $parameters['TransactionAmount' . '.' . 'CurrencyCode'] = $transactionAmountsettleRequest->getCurrencyCode(); - } - if ($transactionAmountsettleRequest->isSetValue()) { - $parameters['TransactionAmount' . '.' . 'Value'] = $transactionAmountsettleRequest->getValue(); - } - } - - return $parameters; - } - - - /** - * Convert SettleDebtRequest to name value pairs - */ - private function _convertSettleDebt($request) { - - $parameters = array(); - $parameters['Action'] = 'SettleDebt'; - if ($request->isSetSenderTokenId()) { - $parameters['SenderTokenId'] = $request->getSenderTokenId(); - } - if ($request->isSetCreditInstrumentId()) { - $parameters['CreditInstrumentId'] = $request->getCreditInstrumentId(); - } - if ($request->isSetSettlementAmount()) { - $settlementAmountsettleDebtRequest = $request->getSettlementAmount(); - if ($settlementAmountsettleDebtRequest->isSetCurrencyCode()) { - $parameters['SettlementAmount' . '.' . 'CurrencyCode'] = $settlementAmountsettleDebtRequest->getCurrencyCode(); - } - if ($settlementAmountsettleDebtRequest->isSetValue()) { - $parameters['SettlementAmount' . '.' . 'Value'] = $settlementAmountsettleDebtRequest->getValue(); - } - } - if ($request->isSetCallerReference()) { - $parameters['CallerReference'] = $request->getCallerReference(); - } - if ($request->isSetSenderDescription()) { - $parameters['SenderDescription'] = $request->getSenderDescription(); - } - if ($request->isSetCallerDescription()) { - $parameters['CallerDescription'] = $request->getCallerDescription(); - } - if ($request->isSetDescriptorPolicy()) { - $descriptorPolicysettleDebtRequest = $request->getDescriptorPolicy(); - if ($descriptorPolicysettleDebtRequest->isSetSoftDescriptorType()) { - $parameters['DescriptorPolicy' . '.' . 'SoftDescriptorType'] = $descriptorPolicysettleDebtRequest->getSoftDescriptorType(); - } - if ($descriptorPolicysettleDebtRequest->isSetCSOwner()) { - $parameters['DescriptorPolicy' . '.' . 'CSOwner'] = $descriptorPolicysettleDebtRequest->getCSOwner(); - } - } - if ($request->isSetTransactionTimeoutInMins()) { - $parameters['TransactionTimeoutInMins'] = $request->getTransactionTimeoutInMins(); - } - - return $parameters; - } - - - /** - * Convert WriteOffDebtRequest to name value pairs - */ - private function _convertWriteOffDebt($request) { - - $parameters = array(); - $parameters['Action'] = 'WriteOffDebt'; - if ($request->isSetCreditInstrumentId()) { - $parameters['CreditInstrumentId'] = $request->getCreditInstrumentId(); - } - if ($request->isSetAdjustmentAmount()) { - $adjustmentAmountwriteOffDebtRequest = $request->getAdjustmentAmount(); - if ($adjustmentAmountwriteOffDebtRequest->isSetCurrencyCode()) { - $parameters['AdjustmentAmount' . '.' . 'CurrencyCode'] = $adjustmentAmountwriteOffDebtRequest->getCurrencyCode(); - } - if ($adjustmentAmountwriteOffDebtRequest->isSetValue()) { - $parameters['AdjustmentAmount' . '.' . 'Value'] = $adjustmentAmountwriteOffDebtRequest->getValue(); - } - } - if ($request->isSetCallerReference()) { - $parameters['CallerReference'] = $request->getCallerReference(); - } - if ($request->isSetCallerDescription()) { - $parameters['CallerDescription'] = $request->getCallerDescription(); - } - - return $parameters; - } - - - /** - * Convert VerifySignatureRequest to name value pairs - */ - private function _convertVerifySignature($request) { - - $parameters = array(); - $parameters['Action'] = 'VerifySignature'; - if ($request->isSetUrlEndPoint()) { - $parameters['UrlEndPoint'] = $request->getUrlEndPoint(); - } - if ($request->isSetHttpParameters()) { - $parameters['HttpParameters'] = $request->getHttpParameters(); - } - - return $parameters; - } - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Exception.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Exception.php deleted file mode 100755 index 2aff36cb8b3a..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Exception.php +++ /dev/null @@ -1,140 +0,0 @@ - - *
          3. Message - (string) text message for an exception
          4. - *
          5. StatusCode - (int) HTTP status code at the time of exception
          6. - *
          7. ErrorCode - (string) specific error code returned by the service
          8. - *
          9. ErrorType - (string) Possible types: Sender, Receiver or Unknown
          10. - *
          11. RequestId - (string) request id returned by the service
          12. - *
          13. XML - (string) compete xml response at the time of exception
          14. - *
          15. Exception - (Exception) inner exception if any
          16. - * - * - */ - public function __construct(array $errorInfo = array()) - { - $this->_message = $errorInfo["Message"]; - parent::__construct($this->_message); - if (array_key_exists("Exception", $errorInfo)) { - $exception = $errorInfo["Exception"]; - if ($exception instanceof Amazon_FPS_Exception) { - $this->_statusCode = $exception->getStatusCode(); - $this->_errorCode = $exception->getErrorCode(); - $this->_errorType = $exception->getErrorType(); - $this->_requestId = $exception->getRequestId(); - $this->_xml= $exception->getXML(); - } - } else { - $this->_statusCode = $errorInfo["StatusCode"]; - $this->_errorCode = $errorInfo["ErrorCode"]; - $this->_errorType = $errorInfo["ErrorType"]; - $this->_requestId = $errorInfo["RequestId"]; - $this->_xml= $errorInfo["XML"]; - } - } - - /** - * Gets error type returned by the service if available. - * - * @return string Error Code returned by the service - */ - public function getErrorCode(){ - return $this->_errorCode; - } - - /** - * Gets error type returned by the service. - * - * @return string Error Type returned by the service. - * Possible types: Sender, Receiver or Unknown - */ - public function getErrorType(){ - return $this->_errorType; - } - - - /** - * Gets error message - * - * @return string Error message - */ - public function getErrorMessage() { - return $this->_message; - } - - /** - * Gets status code returned by the service if available. If status - * code is set to -1, it means that status code was unavailable at the - * time exception was thrown - * - * @return int status code returned by the service - */ - public function getStatusCode() { - return $this->_statusCode; - } - - /** - * Gets XML returned by the service if available. - * - * @return string XML returned by the service - */ - public function getXML() { - return $this->_xml; - } - - /** - * Gets Request ID returned by the service if available. - * - * @return string Request ID returned by the service - */ - public function getRequestId() { - return $this->_requestId; - } -} diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Interface.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Interface.php deleted file mode 100755 index 3449125485a7..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Interface.php +++ /dev/null @@ -1,438 +0,0 @@ -_invoke('Cancel')); - } - - - - - /** - * Cancel Subscription And Refund - * - * Cancels a subscription. - * - * @see http://docs.amazonwebservices.com/${docPath}CancelSubscriptionAndRefund.html - * @param mixed $request array of parameters for Amazon_FPS_Model_CancelSubscriptionAndRefund request or Amazon_FPS_Model_CancelSubscriptionAndRefund object itself - * @see Amazon_FPS_Model_CancelSubscriptionAndRefund - * @return Amazon_FPS_Model_CancelSubscriptionAndRefundResponse Amazon_FPS_Model_CancelSubscriptionAndRefundResponse - * - * @throws Amazon_FPS_Exception - */ - public function cancelSubscriptionAndRefund($request) - { - require_once ('Amazon/FPS/Model/CancelSubscriptionAndRefundResponse.php'); - return Amazon_FPS_Model_CancelSubscriptionAndRefundResponse::fromXML($this->_invoke('CancelSubscriptionAndRefund')); - } - - - - /** - * Get Transaction Status - * - * Gets the latest status of a transaction. - * - * @see http://docs.amazonwebservices.com/${docPath}GetTransactionStatus.html - * @param mixed $request array of parameters for Amazon_FPS_Model_GetTransactionStatus request or Amazon_FPS_Model_GetTransactionStatus object itself - * @see Amazon_FPS_Model_GetTransactionStatus - * @return Amazon_FPS_Model_GetTransactionStatusResponse Amazon_FPS_Model_GetTransactionStatusResponse - * - * @throws Amazon_FPS_Exception - */ - public function getTransactionStatus($request) - { - require_once ('Amazon/FPS/Model/GetTransactionStatusResponse.php'); - return Amazon_FPS_Model_GetTransactionStatusResponse::fromXML($this->_invoke('GetTransactionStatus')); - } - - - - /** - * Refund - * - * Refunds a previously completed transaction. - * - * @see http://docs.amazonwebservices.com/${docPath}Refund.html - * @param mixed $request array of parameters for Amazon_FPS_Model_Refund request or Amazon_FPS_Model_Refund object itself - * @see Amazon_FPS_Model_Refund - * @return Amazon_FPS_Model_RefundResponse Amazon_FPS_Model_RefundResponse - * - * @throws Amazon_FPS_Exception - */ - public function refund($request) - { - require_once ('Amazon/FPS/Model/RefundResponse.php'); - return Amazon_FPS_Model_RefundResponse::fromXML($this->_invoke('Refund')); - } - - - - - /** - * Settle - * - * The Settle API is used in conjunction with the Reserve API and is used to settle previously reserved transaction. - * - * @see http://docs.amazonwebservices.com/${docPath}Settle.html - * @param mixed $request array of parameters for Amazon_FPS_Model_Settle request or Amazon_FPS_Model_Settle object itself - * @see Amazon_FPS_Model_Settle - * @return Amazon_FPS_Model_SettleResponse Amazon_FPS_Model_SettleResponse - * - * @throws Amazon_FPS_Exception - */ - public function settle($request) - { - require_once ('Amazon/FPS/Model/SettleResponse.php'); - return Amazon_FPS_Model_SettleResponse::fromXML($this->_invoke('Settle')); - } - - - - - /** - * Verify Signature - * - * Verify the signature that FPS sent in IPN or callback urls. - * - * @see http://docs.amazonwebservices.com/${docPath}VerifySignature.html - * @param mixed $request array of parameters for Amazon_FPS_Model_VerifySignature request or Amazon_FPS_Model_VerifySignature object itself - * @see Amazon_FPS_Model_VerifySignature - * @return Amazon_FPS_Model_VerifySignatureResponse Amazon_FPS_Model_VerifySignatureResponse - * - * @throws Amazon_FPS_Exception - */ - public function verifySignature($request) - { - require_once ('Amazon/FPS/Model/VerifySignatureResponse.php'); - return Amazon_FPS_Model_VerifySignatureResponse::fromXML($this->_invoke('VerifySignature')); - } - - // Private API ------------------------------------------------------------// - - private function _invoke($actionName) - { - return $xml = file_get_contents('Amazon/FPS/Mock/' . $actionName . 'Response.xml', /** search include path */ TRUE); - } -} diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/CancelResponse.xml b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/CancelResponse.xml deleted file mode 100755 index 0443b5f6ea21..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/CancelResponse.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - string - - string - - - string - - \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/ErrorResponse.xml b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/ErrorResponse.xml deleted file mode 100755 index 596a22fd660e..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/ErrorResponse.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - string - string - string - - - - - - - string - \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/GetTransactionStatusResponse.xml b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/GetTransactionStatusResponse.xml deleted file mode 100755 index 8547ac6029a7..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/GetTransactionStatusResponse.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - string - string - string - - string - - string - - - string - - \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/RefundResponse.xml b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/RefundResponse.xml deleted file mode 100755 index 4e069299d584..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/RefundResponse.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - string - string - - - string - - \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/SettleResponse.xml b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/SettleResponse.xml deleted file mode 100755 index e0dc887ea8e4..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/SettleResponse.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - string - string - - - string - - \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/VerifySignatureResponse.xml b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/VerifySignatureResponse.xml deleted file mode 100755 index 7ec98d84de31..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/VerifySignatureResponse.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - string - - - string - - \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model.php deleted file mode 100755 index 394bf260bea0..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model.php +++ /dev/null @@ -1,299 +0,0 @@ -_isAssociativeArray($data)) { - $this->_fromAssociativeArray($data); - } elseif ($this->_isDOMElement($data)) { - $this->_fromDOMElement($data); - } else { - throw new Exception ("Unable to construct from provided data. - Please be sure to pass associative array or DOMElement"); - } - - } - } - - /** - * Support for virtual properties getters. - * - * Virtual property call example: - * - * $action->Property - * - * Direct getter(preferred): - * - * $action->getProperty() - * - * @param string $propertyName name of the property - */ - public function __get($propertyName) - { - $getter = "get$propertyName"; - return $this->$getter(); - } - - /** - * Support for virtual properties setters. - * - * Virtual property call example: - * - * $action->Property = 'ABC' - * - * Direct setter (preferred): - * - * $action->setProperty('ABC') - * - * @param string $propertyName name of the property - */ - public function __set($propertyName, $propertyValue) - { - $setter = "set$propertyName"; - $this->$setter($propertyValue); - return $this; - } - - - /** - * XML fragment representation of this object - * Note, name of the root determined by caller - * This fragment returns inner fields representation only - * @return string XML fragment for this object - */ - protected function _toXMLFragment() - { - $xml = ""; - foreach ($this->_fields as $fieldName => $field) { - $fieldValue = $field['FieldValue']; - if (!is_null($fieldValue)) { - $fieldType = $field['FieldType']; - if (is_array($fieldType)) { - if ($this->_isComplexType($fieldType[0])) { - foreach ($fieldValue as $item) { - $xml .= "<$fieldName>"; - $xml .= $item->_toXMLFragment(); - $xml .= ""; - } - } else { - foreach ($fieldValue as $item) { - $xml .= "<$fieldName>"; - $xml .= $this->_escapeXML($item); - $xml .= ""; - } - } - } else { - if ($this->_isComplexType($fieldType)) { - $xml .= "<$fieldName>"; - $xml .= $fieldValue->_toXMLFragment(); - $xml .= ""; - } else { - $xml .= "<$fieldName>"; - $xml .= $this->_escapeXML($fieldValue); - $xml .= ""; - } - } - } - } - return $xml; - } - - - /** - * Escape special XML characters - * @return string with escaped XML characters - */ - private function _escapeXML($str) - { - $from = array( "&", "<", ">", "'", "\""); - $to = array( "&", "<", ">", "'", """); - return str_replace($from, $to, $str); - } - - - - /** - * Construct from DOMElement - * - * This function iterates over object fields and queries XML - * for corresponding tag value. If query succeeds, value extracted - * from xml, and field value properly constructed based on field type. - * - * Field types defined as arrays always constructed as arrays, - * even if XML contains a single element - to make sure that - * data structure is predictable, and no is_array checks are - * required. - * - * @param DOMElement $dom XML element to construct from - */ - private function _fromDOMElement(DOMElement $dom) - { - $xpath = new DOMXPath($dom->ownerDocument); - $xpath->registerNamespace('a', 'http://fps.amazonaws.com/doc/2008-09-17/'); - - foreach ($this->_fields as $fieldName => $field) { - $fieldType = $field['FieldType']; - if (is_array($fieldType)) { - if ($this->_isComplexType($fieldType[0])) { - $elements = $xpath->query("./a:$fieldName", $dom); - if ($elements->length >= 1) { - require_once (str_replace('_', DIRECTORY_SEPARATOR, $fieldType[0]) . ".php"); - foreach ($elements as $element) { - $this->_fields[$fieldName]['FieldValue'][] = new $fieldType[0]($element); - } - } - } else { - $elements = $xpath->query("./a:$fieldName", $dom); - if ($elements->length >= 1) { - foreach ($elements as $element) { - $text = $xpath->query('./text()', $element); - $this->_fields[$fieldName]['FieldValue'][] = $text->item(0)->data; - } - } - } - } else { - if ($this->_isComplexType($fieldType)) { - $elements = $xpath->query("./a:$fieldName", $dom); - if ($elements->length == 1) { - require_once (str_replace('_', DIRECTORY_SEPARATOR, $fieldType) . ".php"); - $this->_fields[$fieldName]['FieldValue'] = new $fieldType($elements->item(0)); - } - } else { - $element = $xpath->query("./a:$fieldName/text()", $dom); - if ($element->length == 1) { - $this->_fields[$fieldName]['FieldValue'] = $element->item(0)->data; - } - } - } - } - } - - - /** - * Construct from Associative Array - * - * - * @param array $array associative array to construct from - */ - private function _fromAssociativeArray(array $array) - { - foreach ($this->_fields as $fieldName => $field) { - $fieldType = $field['FieldType']; - if (is_array($fieldType)) { - if ($this->_isComplexType($fieldType[0])) { - if (array_key_exists($fieldName, $array)) { - $elements = $array[$fieldName]; - if (!$this->_isNumericArray($elements)) { - $elements = array($elements); - } - if (count ($elements) >= 1) { - require_once (str_replace('_', DIRECTORY_SEPARATOR, $fieldType[0]) . ".php"); - foreach ($elements as $element) { - $this->_fields[$fieldName]['FieldValue'][] = new $fieldType[0]($element); - } - } - } - } else { - if (array_key_exists($fieldName, $array)) { - $elements = $array[$fieldName]; - if (!$this->_isNumericArray($elements)) { - $elements = array($elements); - } - if (count ($elements) >= 1) { - foreach ($elements as $element) { - $this->_fields[$fieldName]['FieldValue'][] = $element; - } - } - } - } - } else { - if ($this->_isComplexType($fieldType)) { - if (array_key_exists($fieldName, $array)) { - require_once (str_replace('_', DIRECTORY_SEPARATOR, $fieldType) . ".php"); - $this->_fields[$fieldName]['FieldValue'] = new $fieldType($array[$fieldName]); - } - } else { - if (array_key_exists($fieldName, $array)) { - $this->_fields[$fieldName]['FieldValue'] = $array[$fieldName]; - } - } - } - } - } - - - - /** - * Determines if field is complex type - * - * @param string $fieldType field type name - */ - private function _isComplexType ($fieldType) - { - return preg_match('/^Amazon_FPS_Model_/', $fieldType); - } - - /** - * Checks whether passed variable is an associative array - * - * @param mixed $var - * @return TRUE if passed variable is an associative array - */ - private function _isAssociativeArray($var) { - return is_array($var) && array_keys($var) !== range(0, sizeof($var) - 1); - } - - /** - * Checks whether passed variable is DOMElement - * - * @param mixed $var - * @return TRUE if passed variable is DOMElement - */ - private function _isDOMElement($var) { - return $var instanceof DOMElement; - } - - /** - * Checks whether passed variable is numeric array - * - * @param mixed $var - * @return TRUE if passed variable is an numeric array - */ - protected function _isNumericArray($var) { - return is_array($var) && array_keys($var) === range(0, sizeof($var) - 1); - } -} diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/AccountBalance.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/AccountBalance.php deleted file mode 100755 index f71e5883bdee..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/AccountBalance.php +++ /dev/null @@ -1,260 +0,0 @@ - - * - *
          17. TotalBalance: Amazon_FPS_Model_Amount
          18. - *
          19. PendingInBalance: Amazon_FPS_Model_Amount
          20. - *
          21. PendingOutBalance: Amazon_FPS_Model_Amount
          22. - *
          23. AvailableBalances: Amazon_FPS_Model_AvailableBalances
          24. - * - * - */ -class Amazon_FPS_Model_AccountBalance extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_AccountBalance - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • TotalBalance: Amazon_FPS_Model_Amount
            • - *
            • PendingInBalance: Amazon_FPS_Model_Amount
            • - *
            • PendingOutBalance: Amazon_FPS_Model_Amount
            • - *
            • AvailableBalances: Amazon_FPS_Model_AvailableBalances
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'TotalBalance' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'PendingInBalance' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'PendingOutBalance' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'AvailableBalances' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_AvailableBalances'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the TotalBalance. - * - * @return Amount TotalBalance - */ - public function getTotalBalance() - { - return $this->_fields['TotalBalance']['FieldValue']; - } - - /** - * Sets the value of the TotalBalance. - * - * @param Amount TotalBalance - * @return void - */ - public function setTotalBalance($value) - { - $this->_fields['TotalBalance']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the TotalBalance and returns this instance - * - * @param Amount $value TotalBalance - * @return Amazon_FPS_Model_AccountBalance instance - */ - public function withTotalBalance($value) - { - $this->setTotalBalance($value); - return $this; - } - - - /** - * Checks if TotalBalance is set - * - * @return bool true if TotalBalance property is set - */ - public function isSetTotalBalance() - { - return !is_null($this->_fields['TotalBalance']['FieldValue']); - - } - - /** - * Gets the value of the PendingInBalance. - * - * @return Amount PendingInBalance - */ - public function getPendingInBalance() - { - return $this->_fields['PendingInBalance']['FieldValue']; - } - - /** - * Sets the value of the PendingInBalance. - * - * @param Amount PendingInBalance - * @return void - */ - public function setPendingInBalance($value) - { - $this->_fields['PendingInBalance']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the PendingInBalance and returns this instance - * - * @param Amount $value PendingInBalance - * @return Amazon_FPS_Model_AccountBalance instance - */ - public function withPendingInBalance($value) - { - $this->setPendingInBalance($value); - return $this; - } - - - /** - * Checks if PendingInBalance is set - * - * @return bool true if PendingInBalance property is set - */ - public function isSetPendingInBalance() - { - return !is_null($this->_fields['PendingInBalance']['FieldValue']); - - } - - /** - * Gets the value of the PendingOutBalance. - * - * @return Amount PendingOutBalance - */ - public function getPendingOutBalance() - { - return $this->_fields['PendingOutBalance']['FieldValue']; - } - - /** - * Sets the value of the PendingOutBalance. - * - * @param Amount PendingOutBalance - * @return void - */ - public function setPendingOutBalance($value) - { - $this->_fields['PendingOutBalance']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the PendingOutBalance and returns this instance - * - * @param Amount $value PendingOutBalance - * @return Amazon_FPS_Model_AccountBalance instance - */ - public function withPendingOutBalance($value) - { - $this->setPendingOutBalance($value); - return $this; - } - - - /** - * Checks if PendingOutBalance is set - * - * @return bool true if PendingOutBalance property is set - */ - public function isSetPendingOutBalance() - { - return !is_null($this->_fields['PendingOutBalance']['FieldValue']); - - } - - /** - * Gets the value of the AvailableBalances. - * - * @return AvailableBalances AvailableBalances - */ - public function getAvailableBalances() - { - return $this->_fields['AvailableBalances']['FieldValue']; - } - - /** - * Sets the value of the AvailableBalances. - * - * @param AvailableBalances AvailableBalances - * @return void - */ - public function setAvailableBalances($value) - { - $this->_fields['AvailableBalances']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the AvailableBalances and returns this instance - * - * @param AvailableBalances $value AvailableBalances - * @return Amazon_FPS_Model_AccountBalance instance - */ - public function withAvailableBalances($value) - { - $this->setAvailableBalances($value); - return $this; - } - - - /** - * Checks if AvailableBalances is set - * - * @return bool true if AvailableBalances property is set - */ - public function isSetAvailableBalances() - { - return !is_null($this->_fields['AvailableBalances']['FieldValue']); - - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Amount.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Amount.php deleted file mode 100755 index 26fc406e65ed..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Amount.php +++ /dev/null @@ -1,160 +0,0 @@ - - * - *
          25. CurrencyCode: string
          26. - *
          27. Value: string
          28. - * - * - */ -class Amazon_FPS_Model_Amount extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_Amount - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • CurrencyCode: string
            • - *
            • Value: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'CurrencyCode' => array('FieldValue' => null, 'FieldType' => 'string'), - 'Value' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the CurrencyCode property. - * - * @return string CurrencyCode - */ - public function getCurrencyCode() - { - return $this->_fields['CurrencyCode']['FieldValue']; - } - - /** - * Sets the value of the CurrencyCode property. - * - * @param string CurrencyCode - * @return this instance - */ - public function setCurrencyCode($value) - { - $this->_fields['CurrencyCode']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the CurrencyCode and returns this instance - * - * @param string $value CurrencyCode - * @return Amazon_FPS_Model_Amount instance - */ - public function withCurrencyCode($value) - { - $this->setCurrencyCode($value); - return $this; - } - - - /** - * Checks if CurrencyCode is set - * - * @return bool true if CurrencyCode is set - */ - public function isSetCurrencyCode() - { - return !is_null($this->_fields['CurrencyCode']['FieldValue']); - } - - /** - * Gets the value of the Value property. - * - * @return string Value - */ - public function getValue() - { - return $this->_fields['Value']['FieldValue']; - } - - /** - * Sets the value of the Value property. - * - * @param string Value - * @return this instance - */ - public function setValue($value) - { - $this->_fields['Value']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the Value and returns this instance - * - * @param string $value Value - * @return Amazon_FPS_Model_Amount instance - */ - public function withValue($value) - { - $this->setValue($value); - return $this; - } - - - /** - * Checks if Value is set - * - * @return bool true if Value is set - */ - public function isSetValue() - { - return !is_null($this->_fields['Value']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/AvailableBalances.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/AvailableBalances.php deleted file mode 100755 index 60023f0383cb..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/AvailableBalances.php +++ /dev/null @@ -1,162 +0,0 @@ - - * - *
          29. DisburseBalance: Amazon_FPS_Model_Amount
          30. - *
          31. RefundBalance: Amazon_FPS_Model_Amount
          32. - * - * - */ -class Amazon_FPS_Model_AvailableBalances extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_AvailableBalances - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • DisburseBalance: Amazon_FPS_Model_Amount
            • - *
            • RefundBalance: Amazon_FPS_Model_Amount
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'DisburseBalance' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'RefundBalance' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the DisburseBalance. - * - * @return Amount DisburseBalance - */ - public function getDisburseBalance() - { - return $this->_fields['DisburseBalance']['FieldValue']; - } - - /** - * Sets the value of the DisburseBalance. - * - * @param Amount DisburseBalance - * @return void - */ - public function setDisburseBalance($value) - { - $this->_fields['DisburseBalance']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the DisburseBalance and returns this instance - * - * @param Amount $value DisburseBalance - * @return Amazon_FPS_Model_AvailableBalances instance - */ - public function withDisburseBalance($value) - { - $this->setDisburseBalance($value); - return $this; - } - - - /** - * Checks if DisburseBalance is set - * - * @return bool true if DisburseBalance property is set - */ - public function isSetDisburseBalance() - { - return !is_null($this->_fields['DisburseBalance']['FieldValue']); - - } - - /** - * Gets the value of the RefundBalance. - * - * @return Amount RefundBalance - */ - public function getRefundBalance() - { - return $this->_fields['RefundBalance']['FieldValue']; - } - - /** - * Sets the value of the RefundBalance. - * - * @param Amount RefundBalance - * @return void - */ - public function setRefundBalance($value) - { - $this->_fields['RefundBalance']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the RefundBalance and returns this instance - * - * @param Amount $value RefundBalance - * @return Amazon_FPS_Model_AvailableBalances instance - */ - public function withRefundBalance($value) - { - $this->setRefundBalance($value); - return $this; - } - - - /** - * Checks if RefundBalance is set - * - * @return bool true if RefundBalance property is set - */ - public function isSetRefundBalance() - { - return !is_null($this->_fields['RefundBalance']['FieldValue']); - - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/CancelRequest.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/CancelRequest.php deleted file mode 100755 index 9adb6ad7905c..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/CancelRequest.php +++ /dev/null @@ -1,160 +0,0 @@ - - * - *
          33. TransactionId: string
          34. - *
          35. Description: string
          36. - * - * - */ -class Amazon_FPS_Model_CancelRequest extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_CancelRequest - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • TransactionId: string
            • - *
            • Description: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'TransactionId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'Description' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the TransactionId property. - * - * @return string TransactionId - */ - public function getTransactionId() - { - return $this->_fields['TransactionId']['FieldValue']; - } - - /** - * Sets the value of the TransactionId property. - * - * @param string TransactionId - * @return this instance - */ - public function setTransactionId($value) - { - $this->_fields['TransactionId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionId and returns this instance - * - * @param string $value TransactionId - * @return Amazon_FPS_Model_CancelRequest instance - */ - public function withTransactionId($value) - { - $this->setTransactionId($value); - return $this; - } - - - /** - * Checks if TransactionId is set - * - * @return bool true if TransactionId is set - */ - public function isSetTransactionId() - { - return !is_null($this->_fields['TransactionId']['FieldValue']); - } - - /** - * Gets the value of the Description property. - * - * @return string Description - */ - public function getDescription() - { - return $this->_fields['Description']['FieldValue']; - } - - /** - * Sets the value of the Description property. - * - * @param string Description - * @return this instance - */ - public function setDescription($value) - { - $this->_fields['Description']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the Description and returns this instance - * - * @param string $value Description - * @return Amazon_FPS_Model_CancelRequest instance - */ - public function withDescription($value) - { - $this->setDescription($value); - return $this; - } - - - /** - * Checks if Description is set - * - * @return bool true if Description is set - */ - public function isSetDescription() - { - return !is_null($this->_fields['Description']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/CancelResponse.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/CancelResponse.php deleted file mode 100755 index cd3fb6f9a847..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/CancelResponse.php +++ /dev/null @@ -1,198 +0,0 @@ - - * - *
          37. CancelResult: Amazon_FPS_Model_CancelResult
          38. - *
          39. ResponseMetadata: Amazon_FPS_Model_ResponseMetadata
          40. - * - * - */ -class Amazon_FPS_Model_CancelResponse extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_CancelResponse - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • CancelResult: Amazon_FPS_Model_CancelResult
            • - *
            • ResponseMetadata: Amazon_FPS_Model_ResponseMetadata
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'CancelResult' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_CancelResult'), - 'ResponseMetadata' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_ResponseMetadata'), - ); - parent::__construct($data); - } - - - /** - * Construct Amazon_FPS_Model_CancelResponse from XML string - * - * @param string $xml XML string to construct from - * @return Amazon_FPS_Model_CancelResponse - */ - public static function fromXML($xml) - { - $dom = new DOMDocument(); - $dom->loadXML($xml); - $xpath = new DOMXPath($dom); - $xpath->registerNamespace('a', 'http://fps.amazonaws.com/doc/2008-09-17/'); - $response = $xpath->query('//a:CancelResponse'); - if ($response->length == 1) { - return new Amazon_FPS_Model_CancelResponse(($response->item(0))); - } else { - throw new Exception ("Unable to construct Amazon_FPS_Model_CancelResponse from provided XML. - Make sure that CancelResponse is a root element"); - } - - } - - /** - * Gets the value of the CancelResult. - * - * @return CancelResult CancelResult - */ - public function getCancelResult() - { - return $this->_fields['CancelResult']['FieldValue']; - } - - /** - * Sets the value of the CancelResult. - * - * @param CancelResult CancelResult - * @return void - */ - public function setCancelResult($value) - { - $this->_fields['CancelResult']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the CancelResult and returns this instance - * - * @param CancelResult $value CancelResult - * @return Amazon_FPS_Model_CancelResponse instance - */ - public function withCancelResult($value) - { - $this->setCancelResult($value); - return $this; - } - - - /** - * Checks if CancelResult is set - * - * @return bool true if CancelResult property is set - */ - public function isSetCancelResult() - { - return !is_null($this->_fields['CancelResult']['FieldValue']); - - } - - /** - * Gets the value of the ResponseMetadata. - * - * @return ResponseMetadata ResponseMetadata - */ - public function getResponseMetadata() - { - return $this->_fields['ResponseMetadata']['FieldValue']; - } - - /** - * Sets the value of the ResponseMetadata. - * - * @param ResponseMetadata ResponseMetadata - * @return void - */ - public function setResponseMetadata($value) - { - $this->_fields['ResponseMetadata']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the ResponseMetadata and returns this instance - * - * @param ResponseMetadata $value ResponseMetadata - * @return Amazon_FPS_Model_CancelResponse instance - */ - public function withResponseMetadata($value) - { - $this->setResponseMetadata($value); - return $this; - } - - - /** - * Checks if ResponseMetadata is set - * - * @return bool true if ResponseMetadata property is set - */ - public function isSetResponseMetadata() - { - return !is_null($this->_fields['ResponseMetadata']['FieldValue']); - - } - - - - /** - * XML Representation for this object - * - * @return string XML for this object - */ - public function toXML() - { - $xml = ""; - $xml .= ""; - $xml .= $this->_toXMLFragment(); - $xml .= ""; - return $xml; - } - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/CancelResult.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/CancelResult.php deleted file mode 100755 index e4f0368ac2ab..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/CancelResult.php +++ /dev/null @@ -1,160 +0,0 @@ - - * - *
          41. TransactionId: string
          42. - *
          43. TransactionStatus: string
          44. - * - * - */ -class Amazon_FPS_Model_CancelResult extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_CancelResult - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • TransactionId: string
            • - *
            • TransactionStatus: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'TransactionId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'TransactionStatus' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the TransactionId property. - * - * @return string TransactionId - */ - public function getTransactionId() - { - return $this->_fields['TransactionId']['FieldValue']; - } - - /** - * Sets the value of the TransactionId property. - * - * @param string TransactionId - * @return this instance - */ - public function setTransactionId($value) - { - $this->_fields['TransactionId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionId and returns this instance - * - * @param string $value TransactionId - * @return Amazon_FPS_Model_CancelResult instance - */ - public function withTransactionId($value) - { - $this->setTransactionId($value); - return $this; - } - - - /** - * Checks if TransactionId is set - * - * @return bool true if TransactionId is set - */ - public function isSetTransactionId() - { - return !is_null($this->_fields['TransactionId']['FieldValue']); - } - - /** - * Gets the value of the TransactionStatus property. - * - * @return string TransactionStatus - */ - public function getTransactionStatus() - { - return $this->_fields['TransactionStatus']['FieldValue']; - } - - /** - * Sets the value of the TransactionStatus property. - * - * @param string TransactionStatus - * @return this instance - */ - public function setTransactionStatus($value) - { - $this->_fields['TransactionStatus']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionStatus and returns this instance - * - * @param string $value TransactionStatus - * @return Amazon_FPS_Model_CancelResult instance - */ - public function withTransactionStatus($value) - { - $this->setTransactionStatus($value); - return $this; - } - - - /** - * Checks if TransactionStatus is set - * - * @return bool true if TransactionStatus is set - */ - public function isSetTransactionStatus() - { - return !is_null($this->_fields['TransactionStatus']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/DebtBalance.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/DebtBalance.php deleted file mode 100755 index 43075ac09853..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/DebtBalance.php +++ /dev/null @@ -1,162 +0,0 @@ - - * - *
          45. AvailableBalance: Amazon_FPS_Model_Amount
          46. - *
          47. PendingOutBalance: Amazon_FPS_Model_Amount
          48. - * - * - */ -class Amazon_FPS_Model_DebtBalance extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_DebtBalance - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • AvailableBalance: Amazon_FPS_Model_Amount
            • - *
            • PendingOutBalance: Amazon_FPS_Model_Amount
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'AvailableBalance' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'PendingOutBalance' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the AvailableBalance. - * - * @return Amount AvailableBalance - */ - public function getAvailableBalance() - { - return $this->_fields['AvailableBalance']['FieldValue']; - } - - /** - * Sets the value of the AvailableBalance. - * - * @param Amount AvailableBalance - * @return void - */ - public function setAvailableBalance($value) - { - $this->_fields['AvailableBalance']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the AvailableBalance and returns this instance - * - * @param Amount $value AvailableBalance - * @return Amazon_FPS_Model_DebtBalance instance - */ - public function withAvailableBalance($value) - { - $this->setAvailableBalance($value); - return $this; - } - - - /** - * Checks if AvailableBalance is set - * - * @return bool true if AvailableBalance property is set - */ - public function isSetAvailableBalance() - { - return !is_null($this->_fields['AvailableBalance']['FieldValue']); - - } - - /** - * Gets the value of the PendingOutBalance. - * - * @return Amount PendingOutBalance - */ - public function getPendingOutBalance() - { - return $this->_fields['PendingOutBalance']['FieldValue']; - } - - /** - * Sets the value of the PendingOutBalance. - * - * @param Amount PendingOutBalance - * @return void - */ - public function setPendingOutBalance($value) - { - $this->_fields['PendingOutBalance']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the PendingOutBalance and returns this instance - * - * @param Amount $value PendingOutBalance - * @return Amazon_FPS_Model_DebtBalance instance - */ - public function withPendingOutBalance($value) - { - $this->setPendingOutBalance($value); - return $this; - } - - - /** - * Checks if PendingOutBalance is set - * - * @return bool true if PendingOutBalance property is set - */ - public function isSetPendingOutBalance() - { - return !is_null($this->_fields['PendingOutBalance']['FieldValue']); - - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/DescriptorPolicy.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/DescriptorPolicy.php deleted file mode 100755 index 08b5f543b010..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/DescriptorPolicy.php +++ /dev/null @@ -1,160 +0,0 @@ - - * - *
          49. SoftDescriptorType: string
          50. - *
          51. CSOwner: string
          52. - * - * - */ -class Amazon_FPS_Model_DescriptorPolicy extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_DescriptorPolicy - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • SoftDescriptorType: string
            • - *
            • CSOwner: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'SoftDescriptorType' => array('FieldValue' => null, 'FieldType' => 'string'), - 'CSOwner' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the SoftDescriptorType property. - * - * @return string SoftDescriptorType - */ - public function getSoftDescriptorType() - { - return $this->_fields['SoftDescriptorType']['FieldValue']; - } - - /** - * Sets the value of the SoftDescriptorType property. - * - * @param string SoftDescriptorType - * @return this instance - */ - public function setSoftDescriptorType($value) - { - $this->_fields['SoftDescriptorType']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the SoftDescriptorType and returns this instance - * - * @param string $value SoftDescriptorType - * @return Amazon_FPS_Model_DescriptorPolicy instance - */ - public function withSoftDescriptorType($value) - { - $this->setSoftDescriptorType($value); - return $this; - } - - - /** - * Checks if SoftDescriptorType is set - * - * @return bool true if SoftDescriptorType is set - */ - public function isSetSoftDescriptorType() - { - return !is_null($this->_fields['SoftDescriptorType']['FieldValue']); - } - - /** - * Gets the value of the CSOwner property. - * - * @return string CSOwner - */ - public function getCSOwner() - { - return $this->_fields['CSOwner']['FieldValue']; - } - - /** - * Sets the value of the CSOwner property. - * - * @param string CSOwner - * @return this instance - */ - public function setCSOwner($value) - { - $this->_fields['CSOwner']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the CSOwner and returns this instance - * - * @param string $value CSOwner - * @return Amazon_FPS_Model_DescriptorPolicy instance - */ - public function withCSOwner($value) - { - $this->setCSOwner($value); - return $this; - } - - - /** - * Checks if CSOwner is set - * - * @return bool true if CSOwner is set - */ - public function isSetCSOwner() - { - return !is_null($this->_fields['CSOwner']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Error.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Error.php deleted file mode 100755 index 7b966dea575a..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Error.php +++ /dev/null @@ -1,257 +0,0 @@ - - * - *
          53. Type: string
          54. - *
          55. Code: string
          56. - *
          57. Message: string
          58. - *
          59. Detail: Amazon_FPS_Model_Object
          60. - * - * - */ -class Amazon_FPS_Model_Error extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_Error - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • Type: string
            • - *
            • Code: string
            • - *
            • Message: string
            • - *
            • Detail: Amazon_FPS_Model_Object
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'Type' => array('FieldValue' => null, 'FieldType' => 'string'), - 'Code' => array('FieldValue' => null, 'FieldType' => 'string'), - 'Message' => array('FieldValue' => null, 'FieldType' => 'string'), - 'Detail' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Object'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the Type property. - * - * @return string Type - */ - public function getType() - { - return $this->_fields['Type']['FieldValue']; - } - - /** - * Sets the value of the Type property. - * - * @param string Type - * @return this instance - */ - public function setType($value) - { - $this->_fields['Type']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the Type and returns this instance - * - * @param string $value Type - * @return Amazon_FPS_Model_Error instance - */ - public function withType($value) - { - $this->setType($value); - return $this; - } - - - /** - * Checks if Type is set - * - * @return bool true if Type is set - */ - public function isSetType() - { - return !is_null($this->_fields['Type']['FieldValue']); - } - - /** - * Gets the value of the Code property. - * - * @return string Code - */ - public function getCode() - { - return $this->_fields['Code']['FieldValue']; - } - - /** - * Sets the value of the Code property. - * - * @param string Code - * @return this instance - */ - public function setCode($value) - { - $this->_fields['Code']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the Code and returns this instance - * - * @param string $value Code - * @return Amazon_FPS_Model_Error instance - */ - public function withCode($value) - { - $this->setCode($value); - return $this; - } - - - /** - * Checks if Code is set - * - * @return bool true if Code is set - */ - public function isSetCode() - { - return !is_null($this->_fields['Code']['FieldValue']); - } - - /** - * Gets the value of the Message property. - * - * @return string Message - */ - public function getMessage() - { - return $this->_fields['Message']['FieldValue']; - } - - /** - * Sets the value of the Message property. - * - * @param string Message - * @return this instance - */ - public function setMessage($value) - { - $this->_fields['Message']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the Message and returns this instance - * - * @param string $value Message - * @return Amazon_FPS_Model_Error instance - */ - public function withMessage($value) - { - $this->setMessage($value); - return $this; - } - - - /** - * Checks if Message is set - * - * @return bool true if Message is set - */ - public function isSetMessage() - { - return !is_null($this->_fields['Message']['FieldValue']); - } - - /** - * Gets the value of the Detail. - * - * @return Error.Detail Detail - */ - public function getDetail() - { - return $this->_fields['Detail']['FieldValue']; - } - - /** - * Sets the value of the Detail. - * - * @param Error.Detail Detail - * @return void - */ - public function setDetail($value) - { - $this->_fields['Detail']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the Detail and returns this instance - * - * @param Object $value Detail - * @return Amazon_FPS_Model_Error instance - */ - public function withDetail($value) - { - $this->setDetail($value); - return $this; - } - - - /** - * Checks if Detail is set - * - * @return bool true if Detail property is set - */ - public function isSetDetail() - { - return !is_null($this->_fields['Detail']['FieldValue']); - - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/GetTransactionStatusRequest.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/GetTransactionStatusRequest.php deleted file mode 100755 index 3a056fa1dc25..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/GetTransactionStatusRequest.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - *
          61. TransactionId: string
          62. - * - * - */ -class Amazon_FPS_Model_GetTransactionStatusRequest extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_GetTransactionStatusRequest - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • TransactionId: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'TransactionId' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the TransactionId property. - * - * @return string TransactionId - */ - public function getTransactionId() - { - return $this->_fields['TransactionId']['FieldValue']; - } - - /** - * Sets the value of the TransactionId property. - * - * @param string TransactionId - * @return this instance - */ - public function setTransactionId($value) - { - $this->_fields['TransactionId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionId and returns this instance - * - * @param string $value TransactionId - * @return Amazon_FPS_Model_GetTransactionStatusRequest instance - */ - public function withTransactionId($value) - { - $this->setTransactionId($value); - return $this; - } - - - /** - * Checks if TransactionId is set - * - * @return bool true if TransactionId is set - */ - public function isSetTransactionId() - { - return !is_null($this->_fields['TransactionId']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/GetTransactionStatusResponse.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/GetTransactionStatusResponse.php deleted file mode 100755 index 742be16afb6b..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/GetTransactionStatusResponse.php +++ /dev/null @@ -1,198 +0,0 @@ - - * - *
          63. GetTransactionStatusResult: Amazon_FPS_Model_GetTransactionStatusResult
          64. - *
          65. ResponseMetadata: Amazon_FPS_Model_ResponseMetadata
          66. - * - * - */ -class Amazon_FPS_Model_GetTransactionStatusResponse extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_GetTransactionStatusResponse - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • GetTransactionStatusResult: Amazon_FPS_Model_GetTransactionStatusResult
            • - *
            • ResponseMetadata: Amazon_FPS_Model_ResponseMetadata
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'GetTransactionStatusResult' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_GetTransactionStatusResult'), - 'ResponseMetadata' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_ResponseMetadata'), - ); - parent::__construct($data); - } - - - /** - * Construct Amazon_FPS_Model_GetTransactionStatusResponse from XML string - * - * @param string $xml XML string to construct from - * @return Amazon_FPS_Model_GetTransactionStatusResponse - */ - public static function fromXML($xml) - { - $dom = new DOMDocument(); - $dom->loadXML($xml); - $xpath = new DOMXPath($dom); - $xpath->registerNamespace('a', 'http://fps.amazonaws.com/doc/2008-09-17/'); - $response = $xpath->query('//a:GetTransactionStatusResponse'); - if ($response->length == 1) { - return new Amazon_FPS_Model_GetTransactionStatusResponse(($response->item(0))); - } else { - throw new Exception ("Unable to construct Amazon_FPS_Model_GetTransactionStatusResponse from provided XML. - Make sure that GetTransactionStatusResponse is a root element"); - } - - } - - /** - * Gets the value of the GetTransactionStatusResult. - * - * @return GetTransactionStatusResult GetTransactionStatusResult - */ - public function getGetTransactionStatusResult() - { - return $this->_fields['GetTransactionStatusResult']['FieldValue']; - } - - /** - * Sets the value of the GetTransactionStatusResult. - * - * @param GetTransactionStatusResult GetTransactionStatusResult - * @return void - */ - public function setGetTransactionStatusResult($value) - { - $this->_fields['GetTransactionStatusResult']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the GetTransactionStatusResult and returns this instance - * - * @param GetTransactionStatusResult $value GetTransactionStatusResult - * @return Amazon_FPS_Model_GetTransactionStatusResponse instance - */ - public function withGetTransactionStatusResult($value) - { - $this->setGetTransactionStatusResult($value); - return $this; - } - - - /** - * Checks if GetTransactionStatusResult is set - * - * @return bool true if GetTransactionStatusResult property is set - */ - public function isSetGetTransactionStatusResult() - { - return !is_null($this->_fields['GetTransactionStatusResult']['FieldValue']); - - } - - /** - * Gets the value of the ResponseMetadata. - * - * @return ResponseMetadata ResponseMetadata - */ - public function getResponseMetadata() - { - return $this->_fields['ResponseMetadata']['FieldValue']; - } - - /** - * Sets the value of the ResponseMetadata. - * - * @param ResponseMetadata ResponseMetadata - * @return void - */ - public function setResponseMetadata($value) - { - $this->_fields['ResponseMetadata']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the ResponseMetadata and returns this instance - * - * @param ResponseMetadata $value ResponseMetadata - * @return Amazon_FPS_Model_GetTransactionStatusResponse instance - */ - public function withResponseMetadata($value) - { - $this->setResponseMetadata($value); - return $this; - } - - - /** - * Checks if ResponseMetadata is set - * - * @return bool true if ResponseMetadata property is set - */ - public function isSetResponseMetadata() - { - return !is_null($this->_fields['ResponseMetadata']['FieldValue']); - - } - - - - /** - * XML Representation for this object - * - * @return string XML for this object - */ - public function toXML() - { - $xml = ""; - $xml .= ""; - $xml .= $this->_toXMLFragment(); - $xml .= ""; - return $xml; - } - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/GetTransactionStatusResult.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/GetTransactionStatusResult.php deleted file mode 100755 index ed540c22af4b..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/GetTransactionStatusResult.php +++ /dev/null @@ -1,304 +0,0 @@ - - * - *
          67. TransactionId: string
          68. - *
          69. TransactionStatus: string
          70. - *
          71. CallerReference: string
          72. - *
          73. StatusCode: string
          74. - *
          75. StatusMessage: string
          76. - * - * - */ -class Amazon_FPS_Model_GetTransactionStatusResult extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_GetTransactionStatusResult - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • TransactionId: string
            • - *
            • TransactionStatus: string
            • - *
            • CallerReference: string
            • - *
            • StatusCode: string
            • - *
            • StatusMessage: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'TransactionId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'TransactionStatus' => array('FieldValue' => null, 'FieldType' => 'string'), - 'CallerReference' => array('FieldValue' => null, 'FieldType' => 'string'), - 'StatusCode' => array('FieldValue' => null, 'FieldType' => 'string'), - 'StatusMessage' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the TransactionId property. - * - * @return string TransactionId - */ - public function getTransactionId() - { - return $this->_fields['TransactionId']['FieldValue']; - } - - /** - * Sets the value of the TransactionId property. - * - * @param string TransactionId - * @return this instance - */ - public function setTransactionId($value) - { - $this->_fields['TransactionId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionId and returns this instance - * - * @param string $value TransactionId - * @return Amazon_FPS_Model_GetTransactionStatusResult instance - */ - public function withTransactionId($value) - { - $this->setTransactionId($value); - return $this; - } - - - /** - * Checks if TransactionId is set - * - * @return bool true if TransactionId is set - */ - public function isSetTransactionId() - { - return !is_null($this->_fields['TransactionId']['FieldValue']); - } - - /** - * Gets the value of the TransactionStatus property. - * - * @return string TransactionStatus - */ - public function getTransactionStatus() - { - return $this->_fields['TransactionStatus']['FieldValue']; - } - - /** - * Sets the value of the TransactionStatus property. - * - * @param string TransactionStatus - * @return this instance - */ - public function setTransactionStatus($value) - { - $this->_fields['TransactionStatus']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionStatus and returns this instance - * - * @param string $value TransactionStatus - * @return Amazon_FPS_Model_GetTransactionStatusResult instance - */ - public function withTransactionStatus($value) - { - $this->setTransactionStatus($value); - return $this; - } - - - /** - * Checks if TransactionStatus is set - * - * @return bool true if TransactionStatus is set - */ - public function isSetTransactionStatus() - { - return !is_null($this->_fields['TransactionStatus']['FieldValue']); - } - - /** - * Gets the value of the CallerReference property. - * - * @return string CallerReference - */ - public function getCallerReference() - { - return $this->_fields['CallerReference']['FieldValue']; - } - - /** - * Sets the value of the CallerReference property. - * - * @param string CallerReference - * @return this instance - */ - public function setCallerReference($value) - { - $this->_fields['CallerReference']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the CallerReference and returns this instance - * - * @param string $value CallerReference - * @return Amazon_FPS_Model_GetTransactionStatusResult instance - */ - public function withCallerReference($value) - { - $this->setCallerReference($value); - return $this; - } - - - /** - * Checks if CallerReference is set - * - * @return bool true if CallerReference is set - */ - public function isSetCallerReference() - { - return !is_null($this->_fields['CallerReference']['FieldValue']); - } - - /** - * Gets the value of the StatusCode property. - * - * @return string StatusCode - */ - public function getStatusCode() - { - return $this->_fields['StatusCode']['FieldValue']; - } - - /** - * Sets the value of the StatusCode property. - * - * @param string StatusCode - * @return this instance - */ - public function setStatusCode($value) - { - $this->_fields['StatusCode']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the StatusCode and returns this instance - * - * @param string $value StatusCode - * @return Amazon_FPS_Model_GetTransactionStatusResult instance - */ - public function withStatusCode($value) - { - $this->setStatusCode($value); - return $this; - } - - - /** - * Checks if StatusCode is set - * - * @return bool true if StatusCode is set - */ - public function isSetStatusCode() - { - return !is_null($this->_fields['StatusCode']['FieldValue']); - } - - /** - * Gets the value of the StatusMessage property. - * - * @return string StatusMessage - */ - public function getStatusMessage() - { - return $this->_fields['StatusMessage']['FieldValue']; - } - - /** - * Sets the value of the StatusMessage property. - * - * @param string StatusMessage - * @return this instance - */ - public function setStatusMessage($value) - { - $this->_fields['StatusMessage']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the StatusMessage and returns this instance - * - * @param string $value StatusMessage - * @return Amazon_FPS_Model_GetTransactionStatusResult instance - */ - public function withStatusMessage($value) - { - $this->setStatusMessage($value); - return $this; - } - - - /** - * Checks if StatusMessage is set - * - * @return bool true if StatusMessage is set - */ - public function isSetStatusMessage() - { - return !is_null($this->_fields['StatusMessage']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/OutstandingDebtBalance.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/OutstandingDebtBalance.php deleted file mode 100755 index 042431b1669e..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/OutstandingDebtBalance.php +++ /dev/null @@ -1,162 +0,0 @@ - - * - *
          77. OutstandingBalance: Amazon_FPS_Model_Amount
          78. - *
          79. PendingOutBalance: Amazon_FPS_Model_Amount
          80. - * - * - */ -class Amazon_FPS_Model_OutstandingDebtBalance extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_OutstandingDebtBalance - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • OutstandingBalance: Amazon_FPS_Model_Amount
            • - *
            • PendingOutBalance: Amazon_FPS_Model_Amount
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'OutstandingBalance' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'PendingOutBalance' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the OutstandingBalance. - * - * @return Amount OutstandingBalance - */ - public function getOutstandingBalance() - { - return $this->_fields['OutstandingBalance']['FieldValue']; - } - - /** - * Sets the value of the OutstandingBalance. - * - * @param Amount OutstandingBalance - * @return void - */ - public function setOutstandingBalance($value) - { - $this->_fields['OutstandingBalance']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the OutstandingBalance and returns this instance - * - * @param Amount $value OutstandingBalance - * @return Amazon_FPS_Model_OutstandingDebtBalance instance - */ - public function withOutstandingBalance($value) - { - $this->setOutstandingBalance($value); - return $this; - } - - - /** - * Checks if OutstandingBalance is set - * - * @return bool true if OutstandingBalance property is set - */ - public function isSetOutstandingBalance() - { - return !is_null($this->_fields['OutstandingBalance']['FieldValue']); - - } - - /** - * Gets the value of the PendingOutBalance. - * - * @return Amount PendingOutBalance - */ - public function getPendingOutBalance() - { - return $this->_fields['PendingOutBalance']['FieldValue']; - } - - /** - * Sets the value of the PendingOutBalance. - * - * @param Amount PendingOutBalance - * @return void - */ - public function setPendingOutBalance($value) - { - $this->_fields['PendingOutBalance']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the PendingOutBalance and returns this instance - * - * @param Amount $value PendingOutBalance - * @return Amazon_FPS_Model_OutstandingDebtBalance instance - */ - public function withPendingOutBalance($value) - { - $this->setPendingOutBalance($value); - return $this; - } - - - /** - * Checks if PendingOutBalance is set - * - * @return bool true if PendingOutBalance property is set - */ - public function isSetPendingOutBalance() - { - return !is_null($this->_fields['PendingOutBalance']['FieldValue']); - - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/OutstandingPrepaidLiability.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/OutstandingPrepaidLiability.php deleted file mode 100755 index 810582763f7a..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/OutstandingPrepaidLiability.php +++ /dev/null @@ -1,162 +0,0 @@ - - * - *
          81. OutstandingBalance: Amazon_FPS_Model_Amount
          82. - *
          83. PendingInBalance: Amazon_FPS_Model_Amount
          84. - * - * - */ -class Amazon_FPS_Model_OutstandingPrepaidLiability extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_OutstandingPrepaidLiability - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • OutstandingBalance: Amazon_FPS_Model_Amount
            • - *
            • PendingInBalance: Amazon_FPS_Model_Amount
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'OutstandingBalance' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'PendingInBalance' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the OutstandingBalance. - * - * @return Amount OutstandingBalance - */ - public function getOutstandingBalance() - { - return $this->_fields['OutstandingBalance']['FieldValue']; - } - - /** - * Sets the value of the OutstandingBalance. - * - * @param Amount OutstandingBalance - * @return void - */ - public function setOutstandingBalance($value) - { - $this->_fields['OutstandingBalance']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the OutstandingBalance and returns this instance - * - * @param Amount $value OutstandingBalance - * @return Amazon_FPS_Model_OutstandingPrepaidLiability instance - */ - public function withOutstandingBalance($value) - { - $this->setOutstandingBalance($value); - return $this; - } - - - /** - * Checks if OutstandingBalance is set - * - * @return bool true if OutstandingBalance property is set - */ - public function isSetOutstandingBalance() - { - return !is_null($this->_fields['OutstandingBalance']['FieldValue']); - - } - - /** - * Gets the value of the PendingInBalance. - * - * @return Amount PendingInBalance - */ - public function getPendingInBalance() - { - return $this->_fields['PendingInBalance']['FieldValue']; - } - - /** - * Sets the value of the PendingInBalance. - * - * @param Amount PendingInBalance - * @return void - */ - public function setPendingInBalance($value) - { - $this->_fields['PendingInBalance']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the PendingInBalance and returns this instance - * - * @param Amount $value PendingInBalance - * @return Amazon_FPS_Model_OutstandingPrepaidLiability instance - */ - public function withPendingInBalance($value) - { - $this->setPendingInBalance($value); - return $this; - } - - - /** - * Checks if PendingInBalance is set - * - * @return bool true if PendingInBalance property is set - */ - public function isSetPendingInBalance() - { - return !is_null($this->_fields['PendingInBalance']['FieldValue']); - - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/PrepaidBalance.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/PrepaidBalance.php deleted file mode 100755 index d578a1056b91..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/PrepaidBalance.php +++ /dev/null @@ -1,162 +0,0 @@ - - * - *
          85. AvailableBalance: Amazon_FPS_Model_Amount
          86. - *
          87. PendingInBalance: Amazon_FPS_Model_Amount
          88. - * - * - */ -class Amazon_FPS_Model_PrepaidBalance extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_PrepaidBalance - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • AvailableBalance: Amazon_FPS_Model_Amount
            • - *
            • PendingInBalance: Amazon_FPS_Model_Amount
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'AvailableBalance' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'PendingInBalance' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the AvailableBalance. - * - * @return Amount AvailableBalance - */ - public function getAvailableBalance() - { - return $this->_fields['AvailableBalance']['FieldValue']; - } - - /** - * Sets the value of the AvailableBalance. - * - * @param Amount AvailableBalance - * @return void - */ - public function setAvailableBalance($value) - { - $this->_fields['AvailableBalance']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the AvailableBalance and returns this instance - * - * @param Amount $value AvailableBalance - * @return Amazon_FPS_Model_PrepaidBalance instance - */ - public function withAvailableBalance($value) - { - $this->setAvailableBalance($value); - return $this; - } - - - /** - * Checks if AvailableBalance is set - * - * @return bool true if AvailableBalance property is set - */ - public function isSetAvailableBalance() - { - return !is_null($this->_fields['AvailableBalance']['FieldValue']); - - } - - /** - * Gets the value of the PendingInBalance. - * - * @return Amount PendingInBalance - */ - public function getPendingInBalance() - { - return $this->_fields['PendingInBalance']['FieldValue']; - } - - /** - * Sets the value of the PendingInBalance. - * - * @param Amount PendingInBalance - * @return void - */ - public function setPendingInBalance($value) - { - $this->_fields['PendingInBalance']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the PendingInBalance and returns this instance - * - * @param Amount $value PendingInBalance - * @return Amazon_FPS_Model_PrepaidBalance instance - */ - public function withPendingInBalance($value) - { - $this->setPendingInBalance($value); - return $this; - } - - - /** - * Checks if PendingInBalance is set - * - * @return bool true if PendingInBalance property is set - */ - public function isSetPendingInBalance() - { - return !is_null($this->_fields['PendingInBalance']['FieldValue']); - - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RefundRequest.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RefundRequest.php deleted file mode 100755 index 21ab19b92191..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RefundRequest.php +++ /dev/null @@ -1,305 +0,0 @@ - - * - *
          89. TransactionId: string
          90. - *
          91. RefundAmount: Amazon_FPS_Model_Amount
          92. - *
          93. CallerReference: string
          94. - *
          95. CallerDescription: string
          96. - *
          97. MarketplaceRefundPolicy: string
          98. - * - * - */ -class Amazon_FPS_Model_RefundRequest extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_RefundRequest - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • TransactionId: string
            • - *
            • RefundAmount: Amazon_FPS_Model_Amount
            • - *
            • CallerReference: string
            • - *
            • CallerDescription: string
            • - *
            • MarketplaceRefundPolicy: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'TransactionId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'RefundAmount' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'CallerReference' => array('FieldValue' => null, 'FieldType' => 'string'), - 'CallerDescription' => array('FieldValue' => null, 'FieldType' => 'string'), - 'MarketplaceRefundPolicy' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the TransactionId property. - * - * @return string TransactionId - */ - public function getTransactionId() - { - return $this->_fields['TransactionId']['FieldValue']; - } - - /** - * Sets the value of the TransactionId property. - * - * @param string TransactionId - * @return this instance - */ - public function setTransactionId($value) - { - $this->_fields['TransactionId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionId and returns this instance - * - * @param string $value TransactionId - * @return Amazon_FPS_Model_RefundRequest instance - */ - public function withTransactionId($value) - { - $this->setTransactionId($value); - return $this; - } - - - /** - * Checks if TransactionId is set - * - * @return bool true if TransactionId is set - */ - public function isSetTransactionId() - { - return !is_null($this->_fields['TransactionId']['FieldValue']); - } - - /** - * Gets the value of the RefundAmount. - * - * @return Amount RefundAmount - */ - public function getRefundAmount() - { - return $this->_fields['RefundAmount']['FieldValue']; - } - - /** - * Sets the value of the RefundAmount. - * - * @param Amount RefundAmount - * @return void - */ - public function setRefundAmount($value) - { - $this->_fields['RefundAmount']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the RefundAmount and returns this instance - * - * @param Amount $value RefundAmount - * @return Amazon_FPS_Model_RefundRequest instance - */ - public function withRefundAmount($value) - { - $this->setRefundAmount($value); - return $this; - } - - - /** - * Checks if RefundAmount is set - * - * @return bool true if RefundAmount property is set - */ - public function isSetRefundAmount() - { - return !is_null($this->_fields['RefundAmount']['FieldValue']); - - } - - /** - * Gets the value of the CallerReference property. - * - * @return string CallerReference - */ - public function getCallerReference() - { - return $this->_fields['CallerReference']['FieldValue']; - } - - /** - * Sets the value of the CallerReference property. - * - * @param string CallerReference - * @return this instance - */ - public function setCallerReference($value) - { - $this->_fields['CallerReference']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the CallerReference and returns this instance - * - * @param string $value CallerReference - * @return Amazon_FPS_Model_RefundRequest instance - */ - public function withCallerReference($value) - { - $this->setCallerReference($value); - return $this; - } - - - /** - * Checks if CallerReference is set - * - * @return bool true if CallerReference is set - */ - public function isSetCallerReference() - { - return !is_null($this->_fields['CallerReference']['FieldValue']); - } - - /** - * Gets the value of the CallerDescription property. - * - * @return string CallerDescription - */ - public function getCallerDescription() - { - return $this->_fields['CallerDescription']['FieldValue']; - } - - /** - * Sets the value of the CallerDescription property. - * - * @param string CallerDescription - * @return this instance - */ - public function setCallerDescription($value) - { - $this->_fields['CallerDescription']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the CallerDescription and returns this instance - * - * @param string $value CallerDescription - * @return Amazon_FPS_Model_RefundRequest instance - */ - public function withCallerDescription($value) - { - $this->setCallerDescription($value); - return $this; - } - - - /** - * Checks if CallerDescription is set - * - * @return bool true if CallerDescription is set - */ - public function isSetCallerDescription() - { - return !is_null($this->_fields['CallerDescription']['FieldValue']); - } - - /** - * Gets the value of the MarketplaceRefundPolicy property. - * - * @return string MarketplaceRefundPolicy - */ - public function getMarketplaceRefundPolicy() - { - return $this->_fields['MarketplaceRefundPolicy']['FieldValue']; - } - - /** - * Sets the value of the MarketplaceRefundPolicy property. - * - * @param string MarketplaceRefundPolicy - * @return this instance - */ - public function setMarketplaceRefundPolicy($value) - { - $this->_fields['MarketplaceRefundPolicy']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the MarketplaceRefundPolicy and returns this instance - * - * @param string $value MarketplaceRefundPolicy - * @return Amazon_FPS_Model_RefundRequest instance - */ - public function withMarketplaceRefundPolicy($value) - { - $this->setMarketplaceRefundPolicy($value); - return $this; - } - - - /** - * Checks if MarketplaceRefundPolicy is set - * - * @return bool true if MarketplaceRefundPolicy is set - */ - public function isSetMarketplaceRefundPolicy() - { - return !is_null($this->_fields['MarketplaceRefundPolicy']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RefundResponse.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RefundResponse.php deleted file mode 100755 index 4cd66a04ef1b..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RefundResponse.php +++ /dev/null @@ -1,198 +0,0 @@ - - * - *
          99. RefundResult: Amazon_FPS_Model_RefundResult
          100. - *
          101. ResponseMetadata: Amazon_FPS_Model_ResponseMetadata
          102. - * - * - */ -class Amazon_FPS_Model_RefundResponse extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_RefundResponse - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • RefundResult: Amazon_FPS_Model_RefundResult
            • - *
            • ResponseMetadata: Amazon_FPS_Model_ResponseMetadata
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'RefundResult' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_RefundResult'), - 'ResponseMetadata' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_ResponseMetadata'), - ); - parent::__construct($data); - } - - - /** - * Construct Amazon_FPS_Model_RefundResponse from XML string - * - * @param string $xml XML string to construct from - * @return Amazon_FPS_Model_RefundResponse - */ - public static function fromXML($xml) - { - $dom = new DOMDocument(); - $dom->loadXML($xml); - $xpath = new DOMXPath($dom); - $xpath->registerNamespace('a', 'http://fps.amazonaws.com/doc/2008-09-17/'); - $response = $xpath->query('//a:RefundResponse'); - if ($response->length == 1) { - return new Amazon_FPS_Model_RefundResponse(($response->item(0))); - } else { - throw new Exception ("Unable to construct Amazon_FPS_Model_RefundResponse from provided XML. - Make sure that RefundResponse is a root element"); - } - - } - - /** - * Gets the value of the RefundResult. - * - * @return RefundResult RefundResult - */ - public function getRefundResult() - { - return $this->_fields['RefundResult']['FieldValue']; - } - - /** - * Sets the value of the RefundResult. - * - * @param RefundResult RefundResult - * @return void - */ - public function setRefundResult($value) - { - $this->_fields['RefundResult']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the RefundResult and returns this instance - * - * @param RefundResult $value RefundResult - * @return Amazon_FPS_Model_RefundResponse instance - */ - public function withRefundResult($value) - { - $this->setRefundResult($value); - return $this; - } - - - /** - * Checks if RefundResult is set - * - * @return bool true if RefundResult property is set - */ - public function isSetRefundResult() - { - return !is_null($this->_fields['RefundResult']['FieldValue']); - - } - - /** - * Gets the value of the ResponseMetadata. - * - * @return ResponseMetadata ResponseMetadata - */ - public function getResponseMetadata() - { - return $this->_fields['ResponseMetadata']['FieldValue']; - } - - /** - * Sets the value of the ResponseMetadata. - * - * @param ResponseMetadata ResponseMetadata - * @return void - */ - public function setResponseMetadata($value) - { - $this->_fields['ResponseMetadata']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the ResponseMetadata and returns this instance - * - * @param ResponseMetadata $value ResponseMetadata - * @return Amazon_FPS_Model_RefundResponse instance - */ - public function withResponseMetadata($value) - { - $this->setResponseMetadata($value); - return $this; - } - - - /** - * Checks if ResponseMetadata is set - * - * @return bool true if ResponseMetadata property is set - */ - public function isSetResponseMetadata() - { - return !is_null($this->_fields['ResponseMetadata']['FieldValue']); - - } - - - - /** - * XML Representation for this object - * - * @return string XML for this object - */ - public function toXML() - { - $xml = ""; - $xml .= ""; - $xml .= $this->_toXMLFragment(); - $xml .= ""; - return $xml; - } - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RefundResult.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RefundResult.php deleted file mode 100755 index bfe7b357a5f5..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RefundResult.php +++ /dev/null @@ -1,160 +0,0 @@ - - * - *
          103. TransactionId: string
          104. - *
          105. TransactionStatus: string
          106. - * - * - */ -class Amazon_FPS_Model_RefundResult extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_RefundResult - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • TransactionId: string
            • - *
            • TransactionStatus: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'TransactionId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'TransactionStatus' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the TransactionId property. - * - * @return string TransactionId - */ - public function getTransactionId() - { - return $this->_fields['TransactionId']['FieldValue']; - } - - /** - * Sets the value of the TransactionId property. - * - * @param string TransactionId - * @return this instance - */ - public function setTransactionId($value) - { - $this->_fields['TransactionId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionId and returns this instance - * - * @param string $value TransactionId - * @return Amazon_FPS_Model_RefundResult instance - */ - public function withTransactionId($value) - { - $this->setTransactionId($value); - return $this; - } - - - /** - * Checks if TransactionId is set - * - * @return bool true if TransactionId is set - */ - public function isSetTransactionId() - { - return !is_null($this->_fields['TransactionId']['FieldValue']); - } - - /** - * Gets the value of the TransactionStatus property. - * - * @return string TransactionStatus - */ - public function getTransactionStatus() - { - return $this->_fields['TransactionStatus']['FieldValue']; - } - - /** - * Sets the value of the TransactionStatus property. - * - * @param string TransactionStatus - * @return this instance - */ - public function setTransactionStatus($value) - { - $this->_fields['TransactionStatus']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionStatus and returns this instance - * - * @param string $value TransactionStatus - * @return Amazon_FPS_Model_RefundResult instance - */ - public function withTransactionStatus($value) - { - $this->setTransactionStatus($value); - return $this; - } - - - /** - * Checks if TransactionStatus is set - * - * @return bool true if TransactionStatus is set - */ - public function isSetTransactionStatus() - { - return !is_null($this->_fields['TransactionStatus']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RelatedTransaction.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RelatedTransaction.php deleted file mode 100755 index 3e7d5cb7bb37..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RelatedTransaction.php +++ /dev/null @@ -1,160 +0,0 @@ - - * - *
          107. TransactionId: string
          108. - *
          109. RelationType: string
          110. - * - * - */ -class Amazon_FPS_Model_RelatedTransaction extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_RelatedTransaction - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • TransactionId: string
            • - *
            • RelationType: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'TransactionId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'RelationType' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the TransactionId property. - * - * @return string TransactionId - */ - public function getTransactionId() - { - return $this->_fields['TransactionId']['FieldValue']; - } - - /** - * Sets the value of the TransactionId property. - * - * @param string TransactionId - * @return this instance - */ - public function setTransactionId($value) - { - $this->_fields['TransactionId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionId and returns this instance - * - * @param string $value TransactionId - * @return Amazon_FPS_Model_RelatedTransaction instance - */ - public function withTransactionId($value) - { - $this->setTransactionId($value); - return $this; - } - - - /** - * Checks if TransactionId is set - * - * @return bool true if TransactionId is set - */ - public function isSetTransactionId() - { - return !is_null($this->_fields['TransactionId']['FieldValue']); - } - - /** - * Gets the value of the RelationType property. - * - * @return string RelationType - */ - public function getRelationType() - { - return $this->_fields['RelationType']['FieldValue']; - } - - /** - * Sets the value of the RelationType property. - * - * @param string RelationType - * @return this instance - */ - public function setRelationType($value) - { - $this->_fields['RelationType']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the RelationType and returns this instance - * - * @param string $value RelationType - * @return Amazon_FPS_Model_RelatedTransaction instance - */ - public function withRelationType($value) - { - $this->setRelationType($value); - return $this; - } - - - /** - * Checks if RelationType is set - * - * @return bool true if RelationType is set - */ - public function isSetRelationType() - { - return !is_null($this->_fields['RelationType']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/ResponseMetadata.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/ResponseMetadata.php deleted file mode 100755 index 05206c7a4f91..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/ResponseMetadata.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - *
          111. RequestId: string
          112. - * - * - */ -class Amazon_FPS_Model_ResponseMetadata extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_ResponseMetadata - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • RequestId: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'RequestId' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the RequestId property. - * - * @return string RequestId - */ - public function getRequestId() - { - return $this->_fields['RequestId']['FieldValue']; - } - - /** - * Sets the value of the RequestId property. - * - * @param string RequestId - * @return this instance - */ - public function setRequestId($value) - { - $this->_fields['RequestId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the RequestId and returns this instance - * - * @param string $value RequestId - * @return Amazon_FPS_Model_ResponseMetadata instance - */ - public function withRequestId($value) - { - $this->setRequestId($value); - return $this; - } - - - /** - * Checks if RequestId is set - * - * @return bool true if RequestId is set - */ - public function isSetRequestId() - { - return !is_null($this->_fields['RequestId']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/SettleRequest.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/SettleRequest.php deleted file mode 100755 index 50f04e2b4150..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/SettleRequest.php +++ /dev/null @@ -1,161 +0,0 @@ - - * - *
          113. ReserveTransactionId: string
          114. - *
          115. TransactionAmount: Amazon_FPS_Model_Amount
          116. - * - * - */ -class Amazon_FPS_Model_SettleRequest extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_SettleRequest - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • ReserveTransactionId: string
            • - *
            • TransactionAmount: Amazon_FPS_Model_Amount
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'ReserveTransactionId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'TransactionAmount' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the ReserveTransactionId property. - * - * @return string ReserveTransactionId - */ - public function getReserveTransactionId() - { - return $this->_fields['ReserveTransactionId']['FieldValue']; - } - - /** - * Sets the value of the ReserveTransactionId property. - * - * @param string ReserveTransactionId - * @return this instance - */ - public function setReserveTransactionId($value) - { - $this->_fields['ReserveTransactionId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the ReserveTransactionId and returns this instance - * - * @param string $value ReserveTransactionId - * @return Amazon_FPS_Model_SettleRequest instance - */ - public function withReserveTransactionId($value) - { - $this->setReserveTransactionId($value); - return $this; - } - - - /** - * Checks if ReserveTransactionId is set - * - * @return bool true if ReserveTransactionId is set - */ - public function isSetReserveTransactionId() - { - return !is_null($this->_fields['ReserveTransactionId']['FieldValue']); - } - - /** - * Gets the value of the TransactionAmount. - * - * @return Amount TransactionAmount - */ - public function getTransactionAmount() - { - return $this->_fields['TransactionAmount']['FieldValue']; - } - - /** - * Sets the value of the TransactionAmount. - * - * @param Amount TransactionAmount - * @return void - */ - public function setTransactionAmount($value) - { - $this->_fields['TransactionAmount']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the TransactionAmount and returns this instance - * - * @param Amount $value TransactionAmount - * @return Amazon_FPS_Model_SettleRequest instance - */ - public function withTransactionAmount($value) - { - $this->setTransactionAmount($value); - return $this; - } - - - /** - * Checks if TransactionAmount is set - * - * @return bool true if TransactionAmount property is set - */ - public function isSetTransactionAmount() - { - return !is_null($this->_fields['TransactionAmount']['FieldValue']); - - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/SettleResponse.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/SettleResponse.php deleted file mode 100755 index bd0de43f6e67..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/SettleResponse.php +++ /dev/null @@ -1,198 +0,0 @@ - - * - *
          117. SettleResult: Amazon_FPS_Model_SettleResult
          118. - *
          119. ResponseMetadata: Amazon_FPS_Model_ResponseMetadata
          120. - * - * - */ -class Amazon_FPS_Model_SettleResponse extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_SettleResponse - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • SettleResult: Amazon_FPS_Model_SettleResult
            • - *
            • ResponseMetadata: Amazon_FPS_Model_ResponseMetadata
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'SettleResult' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_SettleResult'), - 'ResponseMetadata' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_ResponseMetadata'), - ); - parent::__construct($data); - } - - - /** - * Construct Amazon_FPS_Model_SettleResponse from XML string - * - * @param string $xml XML string to construct from - * @return Amazon_FPS_Model_SettleResponse - */ - public static function fromXML($xml) - { - $dom = new DOMDocument(); - $dom->loadXML($xml); - $xpath = new DOMXPath($dom); - $xpath->registerNamespace('a', 'http://fps.amazonaws.com/doc/2008-09-17/'); - $response = $xpath->query('//a:SettleResponse'); - if ($response->length == 1) { - return new Amazon_FPS_Model_SettleResponse(($response->item(0))); - } else { - throw new Exception ("Unable to construct Amazon_FPS_Model_SettleResponse from provided XML. - Make sure that SettleResponse is a root element"); - } - - } - - /** - * Gets the value of the SettleResult. - * - * @return SettleResult SettleResult - */ - public function getSettleResult() - { - return $this->_fields['SettleResult']['FieldValue']; - } - - /** - * Sets the value of the SettleResult. - * - * @param SettleResult SettleResult - * @return void - */ - public function setSettleResult($value) - { - $this->_fields['SettleResult']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the SettleResult and returns this instance - * - * @param SettleResult $value SettleResult - * @return Amazon_FPS_Model_SettleResponse instance - */ - public function withSettleResult($value) - { - $this->setSettleResult($value); - return $this; - } - - - /** - * Checks if SettleResult is set - * - * @return bool true if SettleResult property is set - */ - public function isSetSettleResult() - { - return !is_null($this->_fields['SettleResult']['FieldValue']); - - } - - /** - * Gets the value of the ResponseMetadata. - * - * @return ResponseMetadata ResponseMetadata - */ - public function getResponseMetadata() - { - return $this->_fields['ResponseMetadata']['FieldValue']; - } - - /** - * Sets the value of the ResponseMetadata. - * - * @param ResponseMetadata ResponseMetadata - * @return void - */ - public function setResponseMetadata($value) - { - $this->_fields['ResponseMetadata']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the ResponseMetadata and returns this instance - * - * @param ResponseMetadata $value ResponseMetadata - * @return Amazon_FPS_Model_SettleResponse instance - */ - public function withResponseMetadata($value) - { - $this->setResponseMetadata($value); - return $this; - } - - - /** - * Checks if ResponseMetadata is set - * - * @return bool true if ResponseMetadata property is set - */ - public function isSetResponseMetadata() - { - return !is_null($this->_fields['ResponseMetadata']['FieldValue']); - - } - - - - /** - * XML Representation for this object - * - * @return string XML for this object - */ - public function toXML() - { - $xml = ""; - $xml .= ""; - $xml .= $this->_toXMLFragment(); - $xml .= ""; - return $xml; - } - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/SettleResult.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/SettleResult.php deleted file mode 100755 index 2c869619ad81..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/SettleResult.php +++ /dev/null @@ -1,160 +0,0 @@ - - * - *
          121. TransactionId: string
          122. - *
          123. TransactionStatus: string
          124. - * - * - */ -class Amazon_FPS_Model_SettleResult extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_SettleResult - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • TransactionId: string
            • - *
            • TransactionStatus: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'TransactionId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'TransactionStatus' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the TransactionId property. - * - * @return string TransactionId - */ - public function getTransactionId() - { - return $this->_fields['TransactionId']['FieldValue']; - } - - /** - * Sets the value of the TransactionId property. - * - * @param string TransactionId - * @return this instance - */ - public function setTransactionId($value) - { - $this->_fields['TransactionId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionId and returns this instance - * - * @param string $value TransactionId - * @return Amazon_FPS_Model_SettleResult instance - */ - public function withTransactionId($value) - { - $this->setTransactionId($value); - return $this; - } - - - /** - * Checks if TransactionId is set - * - * @return bool true if TransactionId is set - */ - public function isSetTransactionId() - { - return !is_null($this->_fields['TransactionId']['FieldValue']); - } - - /** - * Gets the value of the TransactionStatus property. - * - * @return string TransactionStatus - */ - public function getTransactionStatus() - { - return $this->_fields['TransactionStatus']['FieldValue']; - } - - /** - * Sets the value of the TransactionStatus property. - * - * @param string TransactionStatus - * @return this instance - */ - public function setTransactionStatus($value) - { - $this->_fields['TransactionStatus']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionStatus and returns this instance - * - * @param string $value TransactionStatus - * @return Amazon_FPS_Model_SettleResult instance - */ - public function withTransactionStatus($value) - { - $this->setTransactionStatus($value); - return $this; - } - - - /** - * Checks if TransactionStatus is set - * - * @return bool true if TransactionStatus is set - */ - public function isSetTransactionStatus() - { - return !is_null($this->_fields['TransactionStatus']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/StatusHistory.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/StatusHistory.php deleted file mode 100755 index 4bd65bc0e25a..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/StatusHistory.php +++ /dev/null @@ -1,257 +0,0 @@ - - * - *
          125. Date: string
          126. - *
          127. TransactionStatus: string
          128. - *
          129. StatusCode: string
          130. - *
          131. Amount: Amazon_FPS_Model_Amount
          132. - * - * - */ -class Amazon_FPS_Model_StatusHistory extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_StatusHistory - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • Date: string
            • - *
            • TransactionStatus: string
            • - *
            • StatusCode: string
            • - *
            • Amount: Amazon_FPS_Model_Amount
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'Date' => array('FieldValue' => null, 'FieldType' => 'string'), - 'TransactionStatus' => array('FieldValue' => null, 'FieldType' => 'string'), - 'StatusCode' => array('FieldValue' => null, 'FieldType' => 'string'), - 'Amount' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the Date property. - * - * @return string Date - */ - public function getDate() - { - return $this->_fields['Date']['FieldValue']; - } - - /** - * Sets the value of the Date property. - * - * @param string Date - * @return this instance - */ - public function setDate($value) - { - $this->_fields['Date']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the Date and returns this instance - * - * @param string $value Date - * @return Amazon_FPS_Model_StatusHistory instance - */ - public function withDate($value) - { - $this->setDate($value); - return $this; - } - - - /** - * Checks if Date is set - * - * @return bool true if Date is set - */ - public function isSetDate() - { - return !is_null($this->_fields['Date']['FieldValue']); - } - - /** - * Gets the value of the TransactionStatus property. - * - * @return string TransactionStatus - */ - public function getTransactionStatus() - { - return $this->_fields['TransactionStatus']['FieldValue']; - } - - /** - * Sets the value of the TransactionStatus property. - * - * @param string TransactionStatus - * @return this instance - */ - public function setTransactionStatus($value) - { - $this->_fields['TransactionStatus']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionStatus and returns this instance - * - * @param string $value TransactionStatus - * @return Amazon_FPS_Model_StatusHistory instance - */ - public function withTransactionStatus($value) - { - $this->setTransactionStatus($value); - return $this; - } - - - /** - * Checks if TransactionStatus is set - * - * @return bool true if TransactionStatus is set - */ - public function isSetTransactionStatus() - { - return !is_null($this->_fields['TransactionStatus']['FieldValue']); - } - - /** - * Gets the value of the StatusCode property. - * - * @return string StatusCode - */ - public function getStatusCode() - { - return $this->_fields['StatusCode']['FieldValue']; - } - - /** - * Sets the value of the StatusCode property. - * - * @param string StatusCode - * @return this instance - */ - public function setStatusCode($value) - { - $this->_fields['StatusCode']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the StatusCode and returns this instance - * - * @param string $value StatusCode - * @return Amazon_FPS_Model_StatusHistory instance - */ - public function withStatusCode($value) - { - $this->setStatusCode($value); - return $this; - } - - - /** - * Checks if StatusCode is set - * - * @return bool true if StatusCode is set - */ - public function isSetStatusCode() - { - return !is_null($this->_fields['StatusCode']['FieldValue']); - } - - /** - * Gets the value of the Amount. - * - * @return Amount Amount - */ - public function getAmount() - { - return $this->_fields['Amount']['FieldValue']; - } - - /** - * Sets the value of the Amount. - * - * @param Amount Amount - * @return void - */ - public function setAmount($value) - { - $this->_fields['Amount']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the Amount and returns this instance - * - * @param Amount $value Amount - * @return Amazon_FPS_Model_StatusHistory instance - */ - public function withAmount($value) - { - $this->setAmount($value); - return $this; - } - - - /** - * Checks if Amount is set - * - * @return bool true if Amount property is set - */ - public function isSetAmount() - { - return !is_null($this->_fields['Amount']['FieldValue']); - - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Token.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Token.php deleted file mode 100755 index ebe6929c8b4c..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Token.php +++ /dev/null @@ -1,448 +0,0 @@ - - * - *
          133. TokenId: string
          134. - *
          135. FriendlyName: string
          136. - *
          137. TokenStatus: string
          138. - *
          139. DateInstalled: string
          140. - *
          141. CallerReference: string
          142. - *
          143. TokenType: string
          144. - *
          145. OldTokenId: string
          146. - *
          147. PaymentReason: string
          148. - * - * - */ -class Amazon_FPS_Model_Token extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_Token - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • TokenId: string
            • - *
            • FriendlyName: string
            • - *
            • TokenStatus: string
            • - *
            • DateInstalled: string
            • - *
            • CallerReference: string
            • - *
            • TokenType: string
            • - *
            • OldTokenId: string
            • - *
            • PaymentReason: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'TokenId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'FriendlyName' => array('FieldValue' => null, 'FieldType' => 'string'), - 'TokenStatus' => array('FieldValue' => null, 'FieldType' => 'string'), - 'DateInstalled' => array('FieldValue' => null, 'FieldType' => 'string'), - 'CallerReference' => array('FieldValue' => null, 'FieldType' => 'string'), - 'TokenType' => array('FieldValue' => null, 'FieldType' => 'string'), - 'OldTokenId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'PaymentReason' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the TokenId property. - * - * @return string TokenId - */ - public function getTokenId() - { - return $this->_fields['TokenId']['FieldValue']; - } - - /** - * Sets the value of the TokenId property. - * - * @param string TokenId - * @return this instance - */ - public function setTokenId($value) - { - $this->_fields['TokenId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TokenId and returns this instance - * - * @param string $value TokenId - * @return Amazon_FPS_Model_Token instance - */ - public function withTokenId($value) - { - $this->setTokenId($value); - return $this; - } - - - /** - * Checks if TokenId is set - * - * @return bool true if TokenId is set - */ - public function isSetTokenId() - { - return !is_null($this->_fields['TokenId']['FieldValue']); - } - - /** - * Gets the value of the FriendlyName property. - * - * @return string FriendlyName - */ - public function getFriendlyName() - { - return $this->_fields['FriendlyName']['FieldValue']; - } - - /** - * Sets the value of the FriendlyName property. - * - * @param string FriendlyName - * @return this instance - */ - public function setFriendlyName($value) - { - $this->_fields['FriendlyName']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the FriendlyName and returns this instance - * - * @param string $value FriendlyName - * @return Amazon_FPS_Model_Token instance - */ - public function withFriendlyName($value) - { - $this->setFriendlyName($value); - return $this; - } - - - /** - * Checks if FriendlyName is set - * - * @return bool true if FriendlyName is set - */ - public function isSetFriendlyName() - { - return !is_null($this->_fields['FriendlyName']['FieldValue']); - } - - /** - * Gets the value of the TokenStatus property. - * - * @return string TokenStatus - */ - public function getTokenStatus() - { - return $this->_fields['TokenStatus']['FieldValue']; - } - - /** - * Sets the value of the TokenStatus property. - * - * @param string TokenStatus - * @return this instance - */ - public function setTokenStatus($value) - { - $this->_fields['TokenStatus']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TokenStatus and returns this instance - * - * @param string $value TokenStatus - * @return Amazon_FPS_Model_Token instance - */ - public function withTokenStatus($value) - { - $this->setTokenStatus($value); - return $this; - } - - - /** - * Checks if TokenStatus is set - * - * @return bool true if TokenStatus is set - */ - public function isSetTokenStatus() - { - return !is_null($this->_fields['TokenStatus']['FieldValue']); - } - - /** - * Gets the value of the DateInstalled property. - * - * @return string DateInstalled - */ - public function getDateInstalled() - { - return $this->_fields['DateInstalled']['FieldValue']; - } - - /** - * Sets the value of the DateInstalled property. - * - * @param string DateInstalled - * @return this instance - */ - public function setDateInstalled($value) - { - $this->_fields['DateInstalled']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the DateInstalled and returns this instance - * - * @param string $value DateInstalled - * @return Amazon_FPS_Model_Token instance - */ - public function withDateInstalled($value) - { - $this->setDateInstalled($value); - return $this; - } - - - /** - * Checks if DateInstalled is set - * - * @return bool true if DateInstalled is set - */ - public function isSetDateInstalled() - { - return !is_null($this->_fields['DateInstalled']['FieldValue']); - } - - /** - * Gets the value of the CallerReference property. - * - * @return string CallerReference - */ - public function getCallerReference() - { - return $this->_fields['CallerReference']['FieldValue']; - } - - /** - * Sets the value of the CallerReference property. - * - * @param string CallerReference - * @return this instance - */ - public function setCallerReference($value) - { - $this->_fields['CallerReference']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the CallerReference and returns this instance - * - * @param string $value CallerReference - * @return Amazon_FPS_Model_Token instance - */ - public function withCallerReference($value) - { - $this->setCallerReference($value); - return $this; - } - - - /** - * Checks if CallerReference is set - * - * @return bool true if CallerReference is set - */ - public function isSetCallerReference() - { - return !is_null($this->_fields['CallerReference']['FieldValue']); - } - - /** - * Gets the value of the TokenType property. - * - * @return string TokenType - */ - public function getTokenType() - { - return $this->_fields['TokenType']['FieldValue']; - } - - /** - * Sets the value of the TokenType property. - * - * @param string TokenType - * @return this instance - */ - public function setTokenType($value) - { - $this->_fields['TokenType']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TokenType and returns this instance - * - * @param string $value TokenType - * @return Amazon_FPS_Model_Token instance - */ - public function withTokenType($value) - { - $this->setTokenType($value); - return $this; - } - - - /** - * Checks if TokenType is set - * - * @return bool true if TokenType is set - */ - public function isSetTokenType() - { - return !is_null($this->_fields['TokenType']['FieldValue']); - } - - /** - * Gets the value of the OldTokenId property. - * - * @return string OldTokenId - */ - public function getOldTokenId() - { - return $this->_fields['OldTokenId']['FieldValue']; - } - - /** - * Sets the value of the OldTokenId property. - * - * @param string OldTokenId - * @return this instance - */ - public function setOldTokenId($value) - { - $this->_fields['OldTokenId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the OldTokenId and returns this instance - * - * @param string $value OldTokenId - * @return Amazon_FPS_Model_Token instance - */ - public function withOldTokenId($value) - { - $this->setOldTokenId($value); - return $this; - } - - - /** - * Checks if OldTokenId is set - * - * @return bool true if OldTokenId is set - */ - public function isSetOldTokenId() - { - return !is_null($this->_fields['OldTokenId']['FieldValue']); - } - - /** - * Gets the value of the PaymentReason property. - * - * @return string PaymentReason - */ - public function getPaymentReason() - { - return $this->_fields['PaymentReason']['FieldValue']; - } - - /** - * Sets the value of the PaymentReason property. - * - * @param string PaymentReason - * @return this instance - */ - public function setPaymentReason($value) - { - $this->_fields['PaymentReason']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the PaymentReason and returns this instance - * - * @param string $value PaymentReason - * @return Amazon_FPS_Model_Token instance - */ - public function withPaymentReason($value) - { - $this->setPaymentReason($value); - return $this; - } - - - /** - * Checks if PaymentReason is set - * - * @return bool true if PaymentReason is set - */ - public function isSetPaymentReason() - { - return !is_null($this->_fields['PaymentReason']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/TokenUsageLimit.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/TokenUsageLimit.php deleted file mode 100755 index 434c17814469..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/TokenUsageLimit.php +++ /dev/null @@ -1,306 +0,0 @@ - - * - *
          149. Count: int
          150. - *
          151. Amount: Amazon_FPS_Model_Amount
          152. - *
          153. LastResetCount: int
          154. - *
          155. LastResetAmount: Amazon_FPS_Model_Amount
          156. - *
          157. LastResetTimestamp: string
          158. - * - * - */ -class Amazon_FPS_Model_TokenUsageLimit extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_TokenUsageLimit - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • Count: int
            • - *
            • Amount: Amazon_FPS_Model_Amount
            • - *
            • LastResetCount: int
            • - *
            • LastResetAmount: Amazon_FPS_Model_Amount
            • - *
            • LastResetTimestamp: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'Count' => array('FieldValue' => null, 'FieldType' => 'int'), - 'Amount' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'LastResetCount' => array('FieldValue' => null, 'FieldType' => 'int'), - 'LastResetAmount' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'LastResetTimestamp' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the Count property. - * - * @return int Count - */ - public function getCount() - { - return $this->_fields['Count']['FieldValue']; - } - - /** - * Sets the value of the Count property. - * - * @param int Count - * @return this instance - */ - public function setCount($value) - { - $this->_fields['Count']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the Count and returns this instance - * - * @param int $value Count - * @return Amazon_FPS_Model_TokenUsageLimit instance - */ - public function withCount($value) - { - $this->setCount($value); - return $this; - } - - - /** - * Checks if Count is set - * - * @return bool true if Count is set - */ - public function isSetCount() - { - return !is_null($this->_fields['Count']['FieldValue']); - } - - /** - * Gets the value of the Amount. - * - * @return Amount Amount - */ - public function getAmount() - { - return $this->_fields['Amount']['FieldValue']; - } - - /** - * Sets the value of the Amount. - * - * @param Amount Amount - * @return void - */ - public function setAmount($value) - { - $this->_fields['Amount']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the Amount and returns this instance - * - * @param Amount $value Amount - * @return Amazon_FPS_Model_TokenUsageLimit instance - */ - public function withAmount($value) - { - $this->setAmount($value); - return $this; - } - - - /** - * Checks if Amount is set - * - * @return bool true if Amount property is set - */ - public function isSetAmount() - { - return !is_null($this->_fields['Amount']['FieldValue']); - - } - - /** - * Gets the value of the LastResetCount property. - * - * @return int LastResetCount - */ - public function getLastResetCount() - { - return $this->_fields['LastResetCount']['FieldValue']; - } - - /** - * Sets the value of the LastResetCount property. - * - * @param int LastResetCount - * @return this instance - */ - public function setLastResetCount($value) - { - $this->_fields['LastResetCount']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the LastResetCount and returns this instance - * - * @param int $value LastResetCount - * @return Amazon_FPS_Model_TokenUsageLimit instance - */ - public function withLastResetCount($value) - { - $this->setLastResetCount($value); - return $this; - } - - - /** - * Checks if LastResetCount is set - * - * @return bool true if LastResetCount is set - */ - public function isSetLastResetCount() - { - return !is_null($this->_fields['LastResetCount']['FieldValue']); - } - - /** - * Gets the value of the LastResetAmount. - * - * @return Amount LastResetAmount - */ - public function getLastResetAmount() - { - return $this->_fields['LastResetAmount']['FieldValue']; - } - - /** - * Sets the value of the LastResetAmount. - * - * @param Amount LastResetAmount - * @return void - */ - public function setLastResetAmount($value) - { - $this->_fields['LastResetAmount']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the LastResetAmount and returns this instance - * - * @param Amount $value LastResetAmount - * @return Amazon_FPS_Model_TokenUsageLimit instance - */ - public function withLastResetAmount($value) - { - $this->setLastResetAmount($value); - return $this; - } - - - /** - * Checks if LastResetAmount is set - * - * @return bool true if LastResetAmount property is set - */ - public function isSetLastResetAmount() - { - return !is_null($this->_fields['LastResetAmount']['FieldValue']); - - } - - /** - * Gets the value of the LastResetTimestamp property. - * - * @return string LastResetTimestamp - */ - public function getLastResetTimestamp() - { - return $this->_fields['LastResetTimestamp']['FieldValue']; - } - - /** - * Sets the value of the LastResetTimestamp property. - * - * @param string LastResetTimestamp - * @return this instance - */ - public function setLastResetTimestamp($value) - { - $this->_fields['LastResetTimestamp']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the LastResetTimestamp and returns this instance - * - * @param string $value LastResetTimestamp - * @return Amazon_FPS_Model_TokenUsageLimit instance - */ - public function withLastResetTimestamp($value) - { - $this->setLastResetTimestamp($value); - return $this; - } - - - /** - * Checks if LastResetTimestamp is set - * - * @return bool true if LastResetTimestamp is set - */ - public function isSetLastResetTimestamp() - { - return !is_null($this->_fields['LastResetTimestamp']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Transaction.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Transaction.php deleted file mode 100755 index e14285d7d422..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Transaction.php +++ /dev/null @@ -1,988 +0,0 @@ - - * - *
          159. TransactionId: string
          160. - *
          161. CallerTransactionDate: string
          162. - *
          163. DateReceived: string
          164. - *
          165. DateCompleted: string
          166. - *
          167. TransactionAmount: Amazon_FPS_Model_Amount
          168. - *
          169. FPSOperation: string
          170. - *
          171. TransactionStatus: string
          172. - *
          173. StatusMessage: string
          174. - *
          175. StatusCode: string
          176. - *
          177. OriginalTransactionId: string
          178. - *
          179. TransactionPart: Amazon_FPS_Model_TransactionPart
          180. - *
          181. PaymentMethod: string
          182. - *
          183. SenderName: string
          184. - *
          185. CallerName: string
          186. - *
          187. RecipientName: string
          188. - *
          189. FPSFees: Amazon_FPS_Model_Amount
          190. - *
          191. Balance: Amazon_FPS_Model_Amount
          192. - *
          193. SenderTokenId: string
          194. - *
          195. RecipientTokenId: string
          196. - * - * - */ -class Amazon_FPS_Model_Transaction extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_Transaction - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • TransactionId: string
            • - *
            • CallerTransactionDate: string
            • - *
            • DateReceived: string
            • - *
            • DateCompleted: string
            • - *
            • TransactionAmount: Amazon_FPS_Model_Amount
            • - *
            • FPSOperation: string
            • - *
            • TransactionStatus: string
            • - *
            • StatusMessage: string
            • - *
            • StatusCode: string
            • - *
            • OriginalTransactionId: string
            • - *
            • TransactionPart: Amazon_FPS_Model_TransactionPart
            • - *
            • PaymentMethod: string
            • - *
            • SenderName: string
            • - *
            • CallerName: string
            • - *
            • RecipientName: string
            • - *
            • FPSFees: Amazon_FPS_Model_Amount
            • - *
            • Balance: Amazon_FPS_Model_Amount
            • - *
            • SenderTokenId: string
            • - *
            • RecipientTokenId: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'TransactionId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'CallerTransactionDate' => array('FieldValue' => null, 'FieldType' => 'string'), - 'DateReceived' => array('FieldValue' => null, 'FieldType' => 'string'), - 'DateCompleted' => array('FieldValue' => null, 'FieldType' => 'string'), - 'TransactionAmount' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'FPSOperation' => array('FieldValue' => null, 'FieldType' => 'string'), - 'TransactionStatus' => array('FieldValue' => null, 'FieldType' => 'string'), - 'StatusMessage' => array('FieldValue' => null, 'FieldType' => 'string'), - 'StatusCode' => array('FieldValue' => null, 'FieldType' => 'string'), - 'OriginalTransactionId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'TransactionPart' => array('FieldValue' => array(), 'FieldType' => array('Amazon_FPS_Model_TransactionPart')), - 'PaymentMethod' => array('FieldValue' => null, 'FieldType' => 'string'), - 'SenderName' => array('FieldValue' => null, 'FieldType' => 'string'), - 'CallerName' => array('FieldValue' => null, 'FieldType' => 'string'), - 'RecipientName' => array('FieldValue' => null, 'FieldType' => 'string'), - 'FPSFees' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'Balance' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'SenderTokenId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'RecipientTokenId' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the TransactionId property. - * - * @return string TransactionId - */ - public function getTransactionId() - { - return $this->_fields['TransactionId']['FieldValue']; - } - - /** - * Sets the value of the TransactionId property. - * - * @param string TransactionId - * @return this instance - */ - public function setTransactionId($value) - { - $this->_fields['TransactionId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionId and returns this instance - * - * @param string $value TransactionId - * @return Amazon_FPS_Model_Transaction instance - */ - public function withTransactionId($value) - { - $this->setTransactionId($value); - return $this; - } - - - /** - * Checks if TransactionId is set - * - * @return bool true if TransactionId is set - */ - public function isSetTransactionId() - { - return !is_null($this->_fields['TransactionId']['FieldValue']); - } - - /** - * Gets the value of the CallerTransactionDate property. - * - * @return string CallerTransactionDate - */ - public function getCallerTransactionDate() - { - return $this->_fields['CallerTransactionDate']['FieldValue']; - } - - /** - * Sets the value of the CallerTransactionDate property. - * - * @param string CallerTransactionDate - * @return this instance - */ - public function setCallerTransactionDate($value) - { - $this->_fields['CallerTransactionDate']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the CallerTransactionDate and returns this instance - * - * @param string $value CallerTransactionDate - * @return Amazon_FPS_Model_Transaction instance - */ - public function withCallerTransactionDate($value) - { - $this->setCallerTransactionDate($value); - return $this; - } - - - /** - * Checks if CallerTransactionDate is set - * - * @return bool true if CallerTransactionDate is set - */ - public function isSetCallerTransactionDate() - { - return !is_null($this->_fields['CallerTransactionDate']['FieldValue']); - } - - /** - * Gets the value of the DateReceived property. - * - * @return string DateReceived - */ - public function getDateReceived() - { - return $this->_fields['DateReceived']['FieldValue']; - } - - /** - * Sets the value of the DateReceived property. - * - * @param string DateReceived - * @return this instance - */ - public function setDateReceived($value) - { - $this->_fields['DateReceived']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the DateReceived and returns this instance - * - * @param string $value DateReceived - * @return Amazon_FPS_Model_Transaction instance - */ - public function withDateReceived($value) - { - $this->setDateReceived($value); - return $this; - } - - - /** - * Checks if DateReceived is set - * - * @return bool true if DateReceived is set - */ - public function isSetDateReceived() - { - return !is_null($this->_fields['DateReceived']['FieldValue']); - } - - /** - * Gets the value of the DateCompleted property. - * - * @return string DateCompleted - */ - public function getDateCompleted() - { - return $this->_fields['DateCompleted']['FieldValue']; - } - - /** - * Sets the value of the DateCompleted property. - * - * @param string DateCompleted - * @return this instance - */ - public function setDateCompleted($value) - { - $this->_fields['DateCompleted']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the DateCompleted and returns this instance - * - * @param string $value DateCompleted - * @return Amazon_FPS_Model_Transaction instance - */ - public function withDateCompleted($value) - { - $this->setDateCompleted($value); - return $this; - } - - - /** - * Checks if DateCompleted is set - * - * @return bool true if DateCompleted is set - */ - public function isSetDateCompleted() - { - return !is_null($this->_fields['DateCompleted']['FieldValue']); - } - - /** - * Gets the value of the TransactionAmount. - * - * @return Amount TransactionAmount - */ - public function getTransactionAmount() - { - return $this->_fields['TransactionAmount']['FieldValue']; - } - - /** - * Sets the value of the TransactionAmount. - * - * @param Amount TransactionAmount - * @return void - */ - public function setTransactionAmount($value) - { - $this->_fields['TransactionAmount']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the TransactionAmount and returns this instance - * - * @param Amount $value TransactionAmount - * @return Amazon_FPS_Model_Transaction instance - */ - public function withTransactionAmount($value) - { - $this->setTransactionAmount($value); - return $this; - } - - - /** - * Checks if TransactionAmount is set - * - * @return bool true if TransactionAmount property is set - */ - public function isSetTransactionAmount() - { - return !is_null($this->_fields['TransactionAmount']['FieldValue']); - - } - - /** - * Gets the value of the FPSOperation property. - * - * @return string FPSOperation - */ - public function getFPSOperation() - { - return $this->_fields['FPSOperation']['FieldValue']; - } - - /** - * Sets the value of the FPSOperation property. - * - * @param string FPSOperation - * @return this instance - */ - public function setFPSOperation($value) - { - $this->_fields['FPSOperation']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the FPSOperation and returns this instance - * - * @param string $value FPSOperation - * @return Amazon_FPS_Model_Transaction instance - */ - public function withFPSOperation($value) - { - $this->setFPSOperation($value); - return $this; - } - - - /** - * Checks if FPSOperation is set - * - * @return bool true if FPSOperation is set - */ - public function isSetFPSOperation() - { - return !is_null($this->_fields['FPSOperation']['FieldValue']); - } - - /** - * Gets the value of the TransactionStatus property. - * - * @return string TransactionStatus - */ - public function getTransactionStatus() - { - return $this->_fields['TransactionStatus']['FieldValue']; - } - - /** - * Sets the value of the TransactionStatus property. - * - * @param string TransactionStatus - * @return this instance - */ - public function setTransactionStatus($value) - { - $this->_fields['TransactionStatus']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionStatus and returns this instance - * - * @param string $value TransactionStatus - * @return Amazon_FPS_Model_Transaction instance - */ - public function withTransactionStatus($value) - { - $this->setTransactionStatus($value); - return $this; - } - - - /** - * Checks if TransactionStatus is set - * - * @return bool true if TransactionStatus is set - */ - public function isSetTransactionStatus() - { - return !is_null($this->_fields['TransactionStatus']['FieldValue']); - } - - /** - * Gets the value of the StatusMessage property. - * - * @return string StatusMessage - */ - public function getStatusMessage() - { - return $this->_fields['StatusMessage']['FieldValue']; - } - - /** - * Sets the value of the StatusMessage property. - * - * @param string StatusMessage - * @return this instance - */ - public function setStatusMessage($value) - { - $this->_fields['StatusMessage']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the StatusMessage and returns this instance - * - * @param string $value StatusMessage - * @return Amazon_FPS_Model_Transaction instance - */ - public function withStatusMessage($value) - { - $this->setStatusMessage($value); - return $this; - } - - - /** - * Checks if StatusMessage is set - * - * @return bool true if StatusMessage is set - */ - public function isSetStatusMessage() - { - return !is_null($this->_fields['StatusMessage']['FieldValue']); - } - - /** - * Gets the value of the StatusCode property. - * - * @return string StatusCode - */ - public function getStatusCode() - { - return $this->_fields['StatusCode']['FieldValue']; - } - - /** - * Sets the value of the StatusCode property. - * - * @param string StatusCode - * @return this instance - */ - public function setStatusCode($value) - { - $this->_fields['StatusCode']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the StatusCode and returns this instance - * - * @param string $value StatusCode - * @return Amazon_FPS_Model_Transaction instance - */ - public function withStatusCode($value) - { - $this->setStatusCode($value); - return $this; - } - - - /** - * Checks if StatusCode is set - * - * @return bool true if StatusCode is set - */ - public function isSetStatusCode() - { - return !is_null($this->_fields['StatusCode']['FieldValue']); - } - - /** - * Gets the value of the OriginalTransactionId property. - * - * @return string OriginalTransactionId - */ - public function getOriginalTransactionId() - { - return $this->_fields['OriginalTransactionId']['FieldValue']; - } - - /** - * Sets the value of the OriginalTransactionId property. - * - * @param string OriginalTransactionId - * @return this instance - */ - public function setOriginalTransactionId($value) - { - $this->_fields['OriginalTransactionId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the OriginalTransactionId and returns this instance - * - * @param string $value OriginalTransactionId - * @return Amazon_FPS_Model_Transaction instance - */ - public function withOriginalTransactionId($value) - { - $this->setOriginalTransactionId($value); - return $this; - } - - - /** - * Checks if OriginalTransactionId is set - * - * @return bool true if OriginalTransactionId is set - */ - public function isSetOriginalTransactionId() - { - return !is_null($this->_fields['OriginalTransactionId']['FieldValue']); - } - - /** - * Gets the value of the TransactionPart. - * - * @return array of TransactionPart TransactionPart - */ - public function getTransactionPart() - { - return $this->_fields['TransactionPart']['FieldValue']; - } - - /** - * Sets the value of the TransactionPart. - * - * @param mixed TransactionPart or an array of TransactionPart TransactionPart - * @return this instance - */ - public function setTransactionPart($transactionPart) - { - if (!$this->_isNumericArray($transactionPart)) { - $transactionPart = array ($transactionPart); - } - $this->_fields['TransactionPart']['FieldValue'] = $transactionPart; - return $this; - } - - - /** - * Sets single or multiple values of TransactionPart list via variable number of arguments. - * For example, to set the list with two elements, simply pass two values as arguments to this function - * withTransactionPart($transactionPart1, $transactionPart2) - * - * @param TransactionPart $transactionPartArgs one or more TransactionPart - * @return Amazon_FPS_Model_Transaction instance - */ - public function withTransactionPart($transactionPartArgs) - { - foreach (func_get_args() as $transactionPart) { - $this->_fields['TransactionPart']['FieldValue'][] = $transactionPart; - } - return $this; - } - - - - /** - * Checks if TransactionPart list is non-empty - * - * @return bool true if TransactionPart list is non-empty - */ - public function isSetTransactionPart() - { - return count ($this->_fields['TransactionPart']['FieldValue']) > 0; - } - - /** - * Gets the value of the PaymentMethod property. - * - * @return string PaymentMethod - */ - public function getPaymentMethod() - { - return $this->_fields['PaymentMethod']['FieldValue']; - } - - /** - * Sets the value of the PaymentMethod property. - * - * @param string PaymentMethod - * @return this instance - */ - public function setPaymentMethod($value) - { - $this->_fields['PaymentMethod']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the PaymentMethod and returns this instance - * - * @param string $value PaymentMethod - * @return Amazon_FPS_Model_Transaction instance - */ - public function withPaymentMethod($value) - { - $this->setPaymentMethod($value); - return $this; - } - - - /** - * Checks if PaymentMethod is set - * - * @return bool true if PaymentMethod is set - */ - public function isSetPaymentMethod() - { - return !is_null($this->_fields['PaymentMethod']['FieldValue']); - } - - /** - * Gets the value of the SenderName property. - * - * @return string SenderName - */ - public function getSenderName() - { - return $this->_fields['SenderName']['FieldValue']; - } - - /** - * Sets the value of the SenderName property. - * - * @param string SenderName - * @return this instance - */ - public function setSenderName($value) - { - $this->_fields['SenderName']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the SenderName and returns this instance - * - * @param string $value SenderName - * @return Amazon_FPS_Model_Transaction instance - */ - public function withSenderName($value) - { - $this->setSenderName($value); - return $this; - } - - - /** - * Checks if SenderName is set - * - * @return bool true if SenderName is set - */ - public function isSetSenderName() - { - return !is_null($this->_fields['SenderName']['FieldValue']); - } - - /** - * Gets the value of the CallerName property. - * - * @return string CallerName - */ - public function getCallerName() - { - return $this->_fields['CallerName']['FieldValue']; - } - - /** - * Sets the value of the CallerName property. - * - * @param string CallerName - * @return this instance - */ - public function setCallerName($value) - { - $this->_fields['CallerName']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the CallerName and returns this instance - * - * @param string $value CallerName - * @return Amazon_FPS_Model_Transaction instance - */ - public function withCallerName($value) - { - $this->setCallerName($value); - return $this; - } - - - /** - * Checks if CallerName is set - * - * @return bool true if CallerName is set - */ - public function isSetCallerName() - { - return !is_null($this->_fields['CallerName']['FieldValue']); - } - - /** - * Gets the value of the RecipientName property. - * - * @return string RecipientName - */ - public function getRecipientName() - { - return $this->_fields['RecipientName']['FieldValue']; - } - - /** - * Sets the value of the RecipientName property. - * - * @param string RecipientName - * @return this instance - */ - public function setRecipientName($value) - { - $this->_fields['RecipientName']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the RecipientName and returns this instance - * - * @param string $value RecipientName - * @return Amazon_FPS_Model_Transaction instance - */ - public function withRecipientName($value) - { - $this->setRecipientName($value); - return $this; - } - - - /** - * Checks if RecipientName is set - * - * @return bool true if RecipientName is set - */ - public function isSetRecipientName() - { - return !is_null($this->_fields['RecipientName']['FieldValue']); - } - - /** - * Gets the value of the FPSFees. - * - * @return Amount FPSFees - */ - public function getFPSFees() - { - return $this->_fields['FPSFees']['FieldValue']; - } - - /** - * Sets the value of the FPSFees. - * - * @param Amount FPSFees - * @return void - */ - public function setFPSFees($value) - { - $this->_fields['FPSFees']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the FPSFees and returns this instance - * - * @param Amount $value FPSFees - * @return Amazon_FPS_Model_Transaction instance - */ - public function withFPSFees($value) - { - $this->setFPSFees($value); - return $this; - } - - - /** - * Checks if FPSFees is set - * - * @return bool true if FPSFees property is set - */ - public function isSetFPSFees() - { - return !is_null($this->_fields['FPSFees']['FieldValue']); - - } - - /** - * Gets the value of the Balance. - * - * @return Amount Balance - */ - public function getBalance() - { - return $this->_fields['Balance']['FieldValue']; - } - - /** - * Sets the value of the Balance. - * - * @param Amount Balance - * @return void - */ - public function setBalance($value) - { - $this->_fields['Balance']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the Balance and returns this instance - * - * @param Amount $value Balance - * @return Amazon_FPS_Model_Transaction instance - */ - public function withBalance($value) - { - $this->setBalance($value); - return $this; - } - - - /** - * Checks if Balance is set - * - * @return bool true if Balance property is set - */ - public function isSetBalance() - { - return !is_null($this->_fields['Balance']['FieldValue']); - - } - - /** - * Gets the value of the SenderTokenId property. - * - * @return string SenderTokenId - */ - public function getSenderTokenId() - { - return $this->_fields['SenderTokenId']['FieldValue']; - } - - /** - * Sets the value of the SenderTokenId property. - * - * @param string SenderTokenId - * @return this instance - */ - public function setSenderTokenId($value) - { - $this->_fields['SenderTokenId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the SenderTokenId and returns this instance - * - * @param string $value SenderTokenId - * @return Amazon_FPS_Model_Transaction instance - */ - public function withSenderTokenId($value) - { - $this->setSenderTokenId($value); - return $this; - } - - - /** - * Checks if SenderTokenId is set - * - * @return bool true if SenderTokenId is set - */ - public function isSetSenderTokenId() - { - return !is_null($this->_fields['SenderTokenId']['FieldValue']); - } - - /** - * Gets the value of the RecipientTokenId property. - * - * @return string RecipientTokenId - */ - public function getRecipientTokenId() - { - return $this->_fields['RecipientTokenId']['FieldValue']; - } - - /** - * Sets the value of the RecipientTokenId property. - * - * @param string RecipientTokenId - * @return this instance - */ - public function setRecipientTokenId($value) - { - $this->_fields['RecipientTokenId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the RecipientTokenId and returns this instance - * - * @param string $value RecipientTokenId - * @return Amazon_FPS_Model_Transaction instance - */ - public function withRecipientTokenId($value) - { - $this->setRecipientTokenId($value); - return $this; - } - - - /** - * Checks if RecipientTokenId is set - * - * @return bool true if RecipientTokenId is set - */ - public function isSetRecipientTokenId() - { - return !is_null($this->_fields['RecipientTokenId']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/TransactionDetail.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/TransactionDetail.php deleted file mode 100755 index eae04d69eb6f..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/TransactionDetail.php +++ /dev/null @@ -1,1333 +0,0 @@ - - * - *
          197. TransactionId: string
          198. - *
          199. CallerReference: string
          200. - *
          201. CallerDescription: string
          202. - *
          203. SenderDescription: string
          204. - *
          205. DateReceived: string
          206. - *
          207. DateCompleted: string
          208. - *
          209. TransactionAmount: Amazon_FPS_Model_Amount
          210. - *
          211. FPSFees: Amazon_FPS_Model_Amount
          212. - *
          213. MarketplaceFees: Amazon_FPS_Model_Amount
          214. - *
          215. FPSFeesPaidBy: string
          216. - *
          217. SenderTokenId: string
          218. - *
          219. RecipientTokenId: string
          220. - *
          221. PrepaidInstrumentId: string
          222. - *
          223. CreditInstrumentId: string
          224. - *
          225. FPSOperation: string
          226. - *
          227. PaymentMethod: string
          228. - *
          229. TransactionStatus: string
          230. - *
          231. StatusCode: string
          232. - *
          233. StatusMessage: string
          234. - *
          235. SenderName: string
          236. - *
          237. SenderEmail: string
          238. - *
          239. CallerName: string
          240. - *
          241. RecipientName: string
          242. - *
          243. RecipientEmail: string
          244. - *
          245. RelatedTransaction: Amazon_FPS_Model_RelatedTransaction
          246. - *
          247. StatusHistory: Amazon_FPS_Model_StatusHistory
          248. - * - * - */ -class Amazon_FPS_Model_TransactionDetail extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_TransactionDetail - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • TransactionId: string
            • - *
            • CallerReference: string
            • - *
            • CallerDescription: string
            • - *
            • SenderDescription: string
            • - *
            • DateReceived: string
            • - *
            • DateCompleted: string
            • - *
            • TransactionAmount: Amazon_FPS_Model_Amount
            • - *
            • FPSFees: Amazon_FPS_Model_Amount
            • - *
            • MarketplaceFees: Amazon_FPS_Model_Amount
            • - *
            • FPSFeesPaidBy: string
            • - *
            • SenderTokenId: string
            • - *
            • RecipientTokenId: string
            • - *
            • PrepaidInstrumentId: string
            • - *
            • CreditInstrumentId: string
            • - *
            • FPSOperation: string
            • - *
            • PaymentMethod: string
            • - *
            • TransactionStatus: string
            • - *
            • StatusCode: string
            • - *
            • StatusMessage: string
            • - *
            • SenderName: string
            • - *
            • SenderEmail: string
            • - *
            • CallerName: string
            • - *
            • RecipientName: string
            • - *
            • RecipientEmail: string
            • - *
            • RelatedTransaction: Amazon_FPS_Model_RelatedTransaction
            • - *
            • StatusHistory: Amazon_FPS_Model_StatusHistory
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'TransactionId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'CallerReference' => array('FieldValue' => null, 'FieldType' => 'string'), - 'CallerDescription' => array('FieldValue' => null, 'FieldType' => 'string'), - 'SenderDescription' => array('FieldValue' => null, 'FieldType' => 'string'), - 'DateReceived' => array('FieldValue' => null, 'FieldType' => 'string'), - 'DateCompleted' => array('FieldValue' => null, 'FieldType' => 'string'), - 'TransactionAmount' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'FPSFees' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'MarketplaceFees' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - 'FPSFeesPaidBy' => array('FieldValue' => null, 'FieldType' => 'string'), - 'SenderTokenId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'RecipientTokenId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'PrepaidInstrumentId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'CreditInstrumentId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'FPSOperation' => array('FieldValue' => null, 'FieldType' => 'string'), - 'PaymentMethod' => array('FieldValue' => null, 'FieldType' => 'string'), - 'TransactionStatus' => array('FieldValue' => null, 'FieldType' => 'string'), - 'StatusCode' => array('FieldValue' => null, 'FieldType' => 'string'), - 'StatusMessage' => array('FieldValue' => null, 'FieldType' => 'string'), - 'SenderName' => array('FieldValue' => null, 'FieldType' => 'string'), - 'SenderEmail' => array('FieldValue' => null, 'FieldType' => 'string'), - 'CallerName' => array('FieldValue' => null, 'FieldType' => 'string'), - 'RecipientName' => array('FieldValue' => null, 'FieldType' => 'string'), - 'RecipientEmail' => array('FieldValue' => null, 'FieldType' => 'string'), - 'RelatedTransaction' => array('FieldValue' => array(), 'FieldType' => array('Amazon_FPS_Model_RelatedTransaction')), - 'StatusHistory' => array('FieldValue' => array(), 'FieldType' => array('Amazon_FPS_Model_StatusHistory')), - ); - parent::__construct($data); - } - - /** - * Gets the value of the TransactionId property. - * - * @return string TransactionId - */ - public function getTransactionId() - { - return $this->_fields['TransactionId']['FieldValue']; - } - - /** - * Sets the value of the TransactionId property. - * - * @param string TransactionId - * @return this instance - */ - public function setTransactionId($value) - { - $this->_fields['TransactionId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionId and returns this instance - * - * @param string $value TransactionId - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withTransactionId($value) - { - $this->setTransactionId($value); - return $this; - } - - - /** - * Checks if TransactionId is set - * - * @return bool true if TransactionId is set - */ - public function isSetTransactionId() - { - return !is_null($this->_fields['TransactionId']['FieldValue']); - } - - /** - * Gets the value of the CallerReference property. - * - * @return string CallerReference - */ - public function getCallerReference() - { - return $this->_fields['CallerReference']['FieldValue']; - } - - /** - * Sets the value of the CallerReference property. - * - * @param string CallerReference - * @return this instance - */ - public function setCallerReference($value) - { - $this->_fields['CallerReference']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the CallerReference and returns this instance - * - * @param string $value CallerReference - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withCallerReference($value) - { - $this->setCallerReference($value); - return $this; - } - - - /** - * Checks if CallerReference is set - * - * @return bool true if CallerReference is set - */ - public function isSetCallerReference() - { - return !is_null($this->_fields['CallerReference']['FieldValue']); - } - - /** - * Gets the value of the CallerDescription property. - * - * @return string CallerDescription - */ - public function getCallerDescription() - { - return $this->_fields['CallerDescription']['FieldValue']; - } - - /** - * Sets the value of the CallerDescription property. - * - * @param string CallerDescription - * @return this instance - */ - public function setCallerDescription($value) - { - $this->_fields['CallerDescription']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the CallerDescription and returns this instance - * - * @param string $value CallerDescription - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withCallerDescription($value) - { - $this->setCallerDescription($value); - return $this; - } - - - /** - * Checks if CallerDescription is set - * - * @return bool true if CallerDescription is set - */ - public function isSetCallerDescription() - { - return !is_null($this->_fields['CallerDescription']['FieldValue']); - } - - /** - * Gets the value of the SenderDescription property. - * - * @return string SenderDescription - */ - public function getSenderDescription() - { - return $this->_fields['SenderDescription']['FieldValue']; - } - - /** - * Sets the value of the SenderDescription property. - * - * @param string SenderDescription - * @return this instance - */ - public function setSenderDescription($value) - { - $this->_fields['SenderDescription']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the SenderDescription and returns this instance - * - * @param string $value SenderDescription - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withSenderDescription($value) - { - $this->setSenderDescription($value); - return $this; - } - - - /** - * Checks if SenderDescription is set - * - * @return bool true if SenderDescription is set - */ - public function isSetSenderDescription() - { - return !is_null($this->_fields['SenderDescription']['FieldValue']); - } - - /** - * Gets the value of the DateReceived property. - * - * @return string DateReceived - */ - public function getDateReceived() - { - return $this->_fields['DateReceived']['FieldValue']; - } - - /** - * Sets the value of the DateReceived property. - * - * @param string DateReceived - * @return this instance - */ - public function setDateReceived($value) - { - $this->_fields['DateReceived']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the DateReceived and returns this instance - * - * @param string $value DateReceived - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withDateReceived($value) - { - $this->setDateReceived($value); - return $this; - } - - - /** - * Checks if DateReceived is set - * - * @return bool true if DateReceived is set - */ - public function isSetDateReceived() - { - return !is_null($this->_fields['DateReceived']['FieldValue']); - } - - /** - * Gets the value of the DateCompleted property. - * - * @return string DateCompleted - */ - public function getDateCompleted() - { - return $this->_fields['DateCompleted']['FieldValue']; - } - - /** - * Sets the value of the DateCompleted property. - * - * @param string DateCompleted - * @return this instance - */ - public function setDateCompleted($value) - { - $this->_fields['DateCompleted']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the DateCompleted and returns this instance - * - * @param string $value DateCompleted - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withDateCompleted($value) - { - $this->setDateCompleted($value); - return $this; - } - - - /** - * Checks if DateCompleted is set - * - * @return bool true if DateCompleted is set - */ - public function isSetDateCompleted() - { - return !is_null($this->_fields['DateCompleted']['FieldValue']); - } - - /** - * Gets the value of the TransactionAmount. - * - * @return Amount TransactionAmount - */ - public function getTransactionAmount() - { - return $this->_fields['TransactionAmount']['FieldValue']; - } - - /** - * Sets the value of the TransactionAmount. - * - * @param Amount TransactionAmount - * @return void - */ - public function setTransactionAmount($value) - { - $this->_fields['TransactionAmount']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the TransactionAmount and returns this instance - * - * @param Amount $value TransactionAmount - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withTransactionAmount($value) - { - $this->setTransactionAmount($value); - return $this; - } - - - /** - * Checks if TransactionAmount is set - * - * @return bool true if TransactionAmount property is set - */ - public function isSetTransactionAmount() - { - return !is_null($this->_fields['TransactionAmount']['FieldValue']); - - } - - /** - * Gets the value of the FPSFees. - * - * @return Amount FPSFees - */ - public function getFPSFees() - { - return $this->_fields['FPSFees']['FieldValue']; - } - - /** - * Sets the value of the FPSFees. - * - * @param Amount FPSFees - * @return void - */ - public function setFPSFees($value) - { - $this->_fields['FPSFees']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the FPSFees and returns this instance - * - * @param Amount $value FPSFees - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withFPSFees($value) - { - $this->setFPSFees($value); - return $this; - } - - - /** - * Checks if FPSFees is set - * - * @return bool true if FPSFees property is set - */ - public function isSetFPSFees() - { - return !is_null($this->_fields['FPSFees']['FieldValue']); - - } - - /** - * Gets the value of the MarketplaceFees. - * - * @return Amount MarketplaceFees - */ - public function getMarketplaceFees() - { - return $this->_fields['MarketplaceFees']['FieldValue']; - } - - /** - * Sets the value of the MarketplaceFees. - * - * @param Amount MarketplaceFees - * @return void - */ - public function setMarketplaceFees($value) - { - $this->_fields['MarketplaceFees']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the MarketplaceFees and returns this instance - * - * @param Amount $value MarketplaceFees - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withMarketplaceFees($value) - { - $this->setMarketplaceFees($value); - return $this; - } - - - /** - * Checks if MarketplaceFees is set - * - * @return bool true if MarketplaceFees property is set - */ - public function isSetMarketplaceFees() - { - return !is_null($this->_fields['MarketplaceFees']['FieldValue']); - - } - - /** - * Gets the value of the FPSFeesPaidBy property. - * - * @return string FPSFeesPaidBy - */ - public function getFPSFeesPaidBy() - { - return $this->_fields['FPSFeesPaidBy']['FieldValue']; - } - - /** - * Sets the value of the FPSFeesPaidBy property. - * - * @param string FPSFeesPaidBy - * @return this instance - */ - public function setFPSFeesPaidBy($value) - { - $this->_fields['FPSFeesPaidBy']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the FPSFeesPaidBy and returns this instance - * - * @param string $value FPSFeesPaidBy - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withFPSFeesPaidBy($value) - { - $this->setFPSFeesPaidBy($value); - return $this; - } - - - /** - * Checks if FPSFeesPaidBy is set - * - * @return bool true if FPSFeesPaidBy is set - */ - public function isSetFPSFeesPaidBy() - { - return !is_null($this->_fields['FPSFeesPaidBy']['FieldValue']); - } - - /** - * Gets the value of the SenderTokenId property. - * - * @return string SenderTokenId - */ - public function getSenderTokenId() - { - return $this->_fields['SenderTokenId']['FieldValue']; - } - - /** - * Sets the value of the SenderTokenId property. - * - * @param string SenderTokenId - * @return this instance - */ - public function setSenderTokenId($value) - { - $this->_fields['SenderTokenId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the SenderTokenId and returns this instance - * - * @param string $value SenderTokenId - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withSenderTokenId($value) - { - $this->setSenderTokenId($value); - return $this; - } - - - /** - * Checks if SenderTokenId is set - * - * @return bool true if SenderTokenId is set - */ - public function isSetSenderTokenId() - { - return !is_null($this->_fields['SenderTokenId']['FieldValue']); - } - - /** - * Gets the value of the RecipientTokenId property. - * - * @return string RecipientTokenId - */ - public function getRecipientTokenId() - { - return $this->_fields['RecipientTokenId']['FieldValue']; - } - - /** - * Sets the value of the RecipientTokenId property. - * - * @param string RecipientTokenId - * @return this instance - */ - public function setRecipientTokenId($value) - { - $this->_fields['RecipientTokenId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the RecipientTokenId and returns this instance - * - * @param string $value RecipientTokenId - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withRecipientTokenId($value) - { - $this->setRecipientTokenId($value); - return $this; - } - - - /** - * Checks if RecipientTokenId is set - * - * @return bool true if RecipientTokenId is set - */ - public function isSetRecipientTokenId() - { - return !is_null($this->_fields['RecipientTokenId']['FieldValue']); - } - - /** - * Gets the value of the PrepaidInstrumentId property. - * - * @return string PrepaidInstrumentId - */ - public function getPrepaidInstrumentId() - { - return $this->_fields['PrepaidInstrumentId']['FieldValue']; - } - - /** - * Sets the value of the PrepaidInstrumentId property. - * - * @param string PrepaidInstrumentId - * @return this instance - */ - public function setPrepaidInstrumentId($value) - { - $this->_fields['PrepaidInstrumentId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the PrepaidInstrumentId and returns this instance - * - * @param string $value PrepaidInstrumentId - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withPrepaidInstrumentId($value) - { - $this->setPrepaidInstrumentId($value); - return $this; - } - - - /** - * Checks if PrepaidInstrumentId is set - * - * @return bool true if PrepaidInstrumentId is set - */ - public function isSetPrepaidInstrumentId() - { - return !is_null($this->_fields['PrepaidInstrumentId']['FieldValue']); - } - - /** - * Gets the value of the CreditInstrumentId property. - * - * @return string CreditInstrumentId - */ - public function getCreditInstrumentId() - { - return $this->_fields['CreditInstrumentId']['FieldValue']; - } - - /** - * Sets the value of the CreditInstrumentId property. - * - * @param string CreditInstrumentId - * @return this instance - */ - public function setCreditInstrumentId($value) - { - $this->_fields['CreditInstrumentId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the CreditInstrumentId and returns this instance - * - * @param string $value CreditInstrumentId - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withCreditInstrumentId($value) - { - $this->setCreditInstrumentId($value); - return $this; - } - - - /** - * Checks if CreditInstrumentId is set - * - * @return bool true if CreditInstrumentId is set - */ - public function isSetCreditInstrumentId() - { - return !is_null($this->_fields['CreditInstrumentId']['FieldValue']); - } - - /** - * Gets the value of the FPSOperation property. - * - * @return string FPSOperation - */ - public function getFPSOperation() - { - return $this->_fields['FPSOperation']['FieldValue']; - } - - /** - * Sets the value of the FPSOperation property. - * - * @param string FPSOperation - * @return this instance - */ - public function setFPSOperation($value) - { - $this->_fields['FPSOperation']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the FPSOperation and returns this instance - * - * @param string $value FPSOperation - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withFPSOperation($value) - { - $this->setFPSOperation($value); - return $this; - } - - - /** - * Checks if FPSOperation is set - * - * @return bool true if FPSOperation is set - */ - public function isSetFPSOperation() - { - return !is_null($this->_fields['FPSOperation']['FieldValue']); - } - - /** - * Gets the value of the PaymentMethod property. - * - * @return string PaymentMethod - */ - public function getPaymentMethod() - { - return $this->_fields['PaymentMethod']['FieldValue']; - } - - /** - * Sets the value of the PaymentMethod property. - * - * @param string PaymentMethod - * @return this instance - */ - public function setPaymentMethod($value) - { - $this->_fields['PaymentMethod']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the PaymentMethod and returns this instance - * - * @param string $value PaymentMethod - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withPaymentMethod($value) - { - $this->setPaymentMethod($value); - return $this; - } - - - /** - * Checks if PaymentMethod is set - * - * @return bool true if PaymentMethod is set - */ - public function isSetPaymentMethod() - { - return !is_null($this->_fields['PaymentMethod']['FieldValue']); - } - - /** - * Gets the value of the TransactionStatus property. - * - * @return string TransactionStatus - */ - public function getTransactionStatus() - { - return $this->_fields['TransactionStatus']['FieldValue']; - } - - /** - * Sets the value of the TransactionStatus property. - * - * @param string TransactionStatus - * @return this instance - */ - public function setTransactionStatus($value) - { - $this->_fields['TransactionStatus']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the TransactionStatus and returns this instance - * - * @param string $value TransactionStatus - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withTransactionStatus($value) - { - $this->setTransactionStatus($value); - return $this; - } - - - /** - * Checks if TransactionStatus is set - * - * @return bool true if TransactionStatus is set - */ - public function isSetTransactionStatus() - { - return !is_null($this->_fields['TransactionStatus']['FieldValue']); - } - - /** - * Gets the value of the StatusCode property. - * - * @return string StatusCode - */ - public function getStatusCode() - { - return $this->_fields['StatusCode']['FieldValue']; - } - - /** - * Sets the value of the StatusCode property. - * - * @param string StatusCode - * @return this instance - */ - public function setStatusCode($value) - { - $this->_fields['StatusCode']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the StatusCode and returns this instance - * - * @param string $value StatusCode - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withStatusCode($value) - { - $this->setStatusCode($value); - return $this; - } - - - /** - * Checks if StatusCode is set - * - * @return bool true if StatusCode is set - */ - public function isSetStatusCode() - { - return !is_null($this->_fields['StatusCode']['FieldValue']); - } - - /** - * Gets the value of the StatusMessage property. - * - * @return string StatusMessage - */ - public function getStatusMessage() - { - return $this->_fields['StatusMessage']['FieldValue']; - } - - /** - * Sets the value of the StatusMessage property. - * - * @param string StatusMessage - * @return this instance - */ - public function setStatusMessage($value) - { - $this->_fields['StatusMessage']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the StatusMessage and returns this instance - * - * @param string $value StatusMessage - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withStatusMessage($value) - { - $this->setStatusMessage($value); - return $this; - } - - - /** - * Checks if StatusMessage is set - * - * @return bool true if StatusMessage is set - */ - public function isSetStatusMessage() - { - return !is_null($this->_fields['StatusMessage']['FieldValue']); - } - - /** - * Gets the value of the SenderName property. - * - * @return string SenderName - */ - public function getSenderName() - { - return $this->_fields['SenderName']['FieldValue']; - } - - /** - * Sets the value of the SenderName property. - * - * @param string SenderName - * @return this instance - */ - public function setSenderName($value) - { - $this->_fields['SenderName']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the SenderName and returns this instance - * - * @param string $value SenderName - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withSenderName($value) - { - $this->setSenderName($value); - return $this; - } - - - /** - * Checks if SenderName is set - * - * @return bool true if SenderName is set - */ - public function isSetSenderName() - { - return !is_null($this->_fields['SenderName']['FieldValue']); - } - - /** - * Gets the value of the SenderEmail property. - * - * @return string SenderEmail - */ - public function getSenderEmail() - { - return $this->_fields['SenderEmail']['FieldValue']; - } - - /** - * Sets the value of the SenderEmail property. - * - * @param string SenderEmail - * @return this instance - */ - public function setSenderEmail($value) - { - $this->_fields['SenderEmail']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the SenderEmail and returns this instance - * - * @param string $value SenderEmail - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withSenderEmail($value) - { - $this->setSenderEmail($value); - return $this; - } - - - /** - * Checks if SenderEmail is set - * - * @return bool true if SenderEmail is set - */ - public function isSetSenderEmail() - { - return !is_null($this->_fields['SenderEmail']['FieldValue']); - } - - /** - * Gets the value of the CallerName property. - * - * @return string CallerName - */ - public function getCallerName() - { - return $this->_fields['CallerName']['FieldValue']; - } - - /** - * Sets the value of the CallerName property. - * - * @param string CallerName - * @return this instance - */ - public function setCallerName($value) - { - $this->_fields['CallerName']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the CallerName and returns this instance - * - * @param string $value CallerName - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withCallerName($value) - { - $this->setCallerName($value); - return $this; - } - - - /** - * Checks if CallerName is set - * - * @return bool true if CallerName is set - */ - public function isSetCallerName() - { - return !is_null($this->_fields['CallerName']['FieldValue']); - } - - /** - * Gets the value of the RecipientName property. - * - * @return string RecipientName - */ - public function getRecipientName() - { - return $this->_fields['RecipientName']['FieldValue']; - } - - /** - * Sets the value of the RecipientName property. - * - * @param string RecipientName - * @return this instance - */ - public function setRecipientName($value) - { - $this->_fields['RecipientName']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the RecipientName and returns this instance - * - * @param string $value RecipientName - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withRecipientName($value) - { - $this->setRecipientName($value); - return $this; - } - - - /** - * Checks if RecipientName is set - * - * @return bool true if RecipientName is set - */ - public function isSetRecipientName() - { - return !is_null($this->_fields['RecipientName']['FieldValue']); - } - - /** - * Gets the value of the RecipientEmail property. - * - * @return string RecipientEmail - */ - public function getRecipientEmail() - { - return $this->_fields['RecipientEmail']['FieldValue']; - } - - /** - * Sets the value of the RecipientEmail property. - * - * @param string RecipientEmail - * @return this instance - */ - public function setRecipientEmail($value) - { - $this->_fields['RecipientEmail']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the RecipientEmail and returns this instance - * - * @param string $value RecipientEmail - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withRecipientEmail($value) - { - $this->setRecipientEmail($value); - return $this; - } - - - /** - * Checks if RecipientEmail is set - * - * @return bool true if RecipientEmail is set - */ - public function isSetRecipientEmail() - { - return !is_null($this->_fields['RecipientEmail']['FieldValue']); - } - - /** - * Gets the value of the RelatedTransaction. - * - * @return array of RelatedTransaction RelatedTransaction - */ - public function getRelatedTransaction() - { - return $this->_fields['RelatedTransaction']['FieldValue']; - } - - /** - * Sets the value of the RelatedTransaction. - * - * @param mixed RelatedTransaction or an array of RelatedTransaction RelatedTransaction - * @return this instance - */ - public function setRelatedTransaction($relatedTransaction) - { - if (!$this->_isNumericArray($relatedTransaction)) { - $relatedTransaction = array ($relatedTransaction); - } - $this->_fields['RelatedTransaction']['FieldValue'] = $relatedTransaction; - return $this; - } - - - /** - * Sets single or multiple values of RelatedTransaction list via variable number of arguments. - * For example, to set the list with two elements, simply pass two values as arguments to this function - * withRelatedTransaction($relatedTransaction1, $relatedTransaction2) - * - * @param RelatedTransaction $relatedTransactionArgs one or more RelatedTransaction - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withRelatedTransaction($relatedTransactionArgs) - { - foreach (func_get_args() as $relatedTransaction) { - $this->_fields['RelatedTransaction']['FieldValue'][] = $relatedTransaction; - } - return $this; - } - - - - /** - * Checks if RelatedTransaction list is non-empty - * - * @return bool true if RelatedTransaction list is non-empty - */ - public function isSetRelatedTransaction() - { - return count ($this->_fields['RelatedTransaction']['FieldValue']) > 0; - } - - /** - * Gets the value of the StatusHistory. - * - * @return array of StatusHistory StatusHistory - */ - public function getStatusHistory() - { - return $this->_fields['StatusHistory']['FieldValue']; - } - - /** - * Sets the value of the StatusHistory. - * - * @param mixed StatusHistory or an array of StatusHistory StatusHistory - * @return this instance - */ - public function setStatusHistory($statusHistory) - { - if (!$this->_isNumericArray($statusHistory)) { - $statusHistory = array ($statusHistory); - } - $this->_fields['StatusHistory']['FieldValue'] = $statusHistory; - return $this; - } - - - /** - * Sets single or multiple values of StatusHistory list via variable number of arguments. - * For example, to set the list with two elements, simply pass two values as arguments to this function - * withStatusHistory($statusHistory1, $statusHistory2) - * - * @param StatusHistory $statusHistoryArgs one or more StatusHistory - * @return Amazon_FPS_Model_TransactionDetail instance - */ - public function withStatusHistory($statusHistoryArgs) - { - foreach (func_get_args() as $statusHistory) { - $this->_fields['StatusHistory']['FieldValue'][] = $statusHistory; - } - return $this; - } - - - - /** - * Checks if StatusHistory list is non-empty - * - * @return bool true if StatusHistory list is non-empty - */ - public function isSetStatusHistory() - { - return count ($this->_fields['StatusHistory']['FieldValue']) > 0; - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/TransactionPart.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/TransactionPart.php deleted file mode 100755 index 35c1b766bbed..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/TransactionPart.php +++ /dev/null @@ -1,353 +0,0 @@ - - * - *
          249. InstrumentId: string
          250. - *
          251. Role: string
          252. - *
          253. Name: string
          254. - *
          255. Reference: string
          256. - *
          257. Description: string
          258. - *
          259. FeesPaid: Amazon_FPS_Model_Amount
          260. - * - * - */ -class Amazon_FPS_Model_TransactionPart extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_TransactionPart - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • InstrumentId: string
            • - *
            • Role: string
            • - *
            • Name: string
            • - *
            • Reference: string
            • - *
            • Description: string
            • - *
            • FeesPaid: Amazon_FPS_Model_Amount
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'InstrumentId' => array('FieldValue' => null, 'FieldType' => 'string'), - 'Role' => array('FieldValue' => null, 'FieldType' => 'string'), - 'Name' => array('FieldValue' => null, 'FieldType' => 'string'), - 'Reference' => array('FieldValue' => null, 'FieldType' => 'string'), - 'Description' => array('FieldValue' => null, 'FieldType' => 'string'), - 'FeesPaid' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_Amount'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the InstrumentId property. - * - * @return string InstrumentId - */ - public function getInstrumentId() - { - return $this->_fields['InstrumentId']['FieldValue']; - } - - /** - * Sets the value of the InstrumentId property. - * - * @param string InstrumentId - * @return this instance - */ - public function setInstrumentId($value) - { - $this->_fields['InstrumentId']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the InstrumentId and returns this instance - * - * @param string $value InstrumentId - * @return Amazon_FPS_Model_TransactionPart instance - */ - public function withInstrumentId($value) - { - $this->setInstrumentId($value); - return $this; - } - - - /** - * Checks if InstrumentId is set - * - * @return bool true if InstrumentId is set - */ - public function isSetInstrumentId() - { - return !is_null($this->_fields['InstrumentId']['FieldValue']); - } - - /** - * Gets the value of the Role property. - * - * @return string Role - */ - public function getRole() - { - return $this->_fields['Role']['FieldValue']; - } - - /** - * Sets the value of the Role property. - * - * @param string Role - * @return this instance - */ - public function setRole($value) - { - $this->_fields['Role']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the Role and returns this instance - * - * @param string $value Role - * @return Amazon_FPS_Model_TransactionPart instance - */ - public function withRole($value) - { - $this->setRole($value); - return $this; - } - - - /** - * Checks if Role is set - * - * @return bool true if Role is set - */ - public function isSetRole() - { - return !is_null($this->_fields['Role']['FieldValue']); - } - - /** - * Gets the value of the Name property. - * - * @return string Name - */ - public function getName() - { - return $this->_fields['Name']['FieldValue']; - } - - /** - * Sets the value of the Name property. - * - * @param string Name - * @return this instance - */ - public function setName($value) - { - $this->_fields['Name']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the Name and returns this instance - * - * @param string $value Name - * @return Amazon_FPS_Model_TransactionPart instance - */ - public function withName($value) - { - $this->setName($value); - return $this; - } - - - /** - * Checks if Name is set - * - * @return bool true if Name is set - */ - public function isSetName() - { - return !is_null($this->_fields['Name']['FieldValue']); - } - - /** - * Gets the value of the Reference property. - * - * @return string Reference - */ - public function getReference() - { - return $this->_fields['Reference']['FieldValue']; - } - - /** - * Sets the value of the Reference property. - * - * @param string Reference - * @return this instance - */ - public function setReference($value) - { - $this->_fields['Reference']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the Reference and returns this instance - * - * @param string $value Reference - * @return Amazon_FPS_Model_TransactionPart instance - */ - public function withReference($value) - { - $this->setReference($value); - return $this; - } - - - /** - * Checks if Reference is set - * - * @return bool true if Reference is set - */ - public function isSetReference() - { - return !is_null($this->_fields['Reference']['FieldValue']); - } - - /** - * Gets the value of the Description property. - * - * @return string Description - */ - public function getDescription() - { - return $this->_fields['Description']['FieldValue']; - } - - /** - * Sets the value of the Description property. - * - * @param string Description - * @return this instance - */ - public function setDescription($value) - { - $this->_fields['Description']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the Description and returns this instance - * - * @param string $value Description - * @return Amazon_FPS_Model_TransactionPart instance - */ - public function withDescription($value) - { - $this->setDescription($value); - return $this; - } - - - /** - * Checks if Description is set - * - * @return bool true if Description is set - */ - public function isSetDescription() - { - return !is_null($this->_fields['Description']['FieldValue']); - } - - /** - * Gets the value of the FeesPaid. - * - * @return Amount FeesPaid - */ - public function getFeesPaid() - { - return $this->_fields['FeesPaid']['FieldValue']; - } - - /** - * Sets the value of the FeesPaid. - * - * @param Amount FeesPaid - * @return void - */ - public function setFeesPaid($value) - { - $this->_fields['FeesPaid']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the FeesPaid and returns this instance - * - * @param Amount $value FeesPaid - * @return Amazon_FPS_Model_TransactionPart instance - */ - public function withFeesPaid($value) - { - $this->setFeesPaid($value); - return $this; - } - - - /** - * Checks if FeesPaid is set - * - * @return bool true if FeesPaid property is set - */ - public function isSetFeesPaid() - { - return !is_null($this->_fields['FeesPaid']['FieldValue']); - - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/VerifySignatureRequest.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/VerifySignatureRequest.php deleted file mode 100755 index f6acd29a669c..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/VerifySignatureRequest.php +++ /dev/null @@ -1,160 +0,0 @@ - - * - *
          261. UrlEndPoint: string
          262. - *
          263. HttpParameters: string
          264. - * - * - */ -class Amazon_FPS_Model_VerifySignatureRequest extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_VerifySignatureRequest - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • UrlEndPoint: string
            • - *
            • HttpParameters: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'UrlEndPoint' => array('FieldValue' => null, 'FieldType' => 'string'), - 'HttpParameters' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the UrlEndPoint property. - * - * @return string UrlEndPoint - */ - public function getUrlEndPoint() - { - return $this->_fields['UrlEndPoint']['FieldValue']; - } - - /** - * Sets the value of the UrlEndPoint property. - * - * @param string UrlEndPoint - * @return this instance - */ - public function setUrlEndPoint($value) - { - $this->_fields['UrlEndPoint']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the UrlEndPoint and returns this instance - * - * @param string $value UrlEndPoint - * @return Amazon_FPS_Model_VerifySignatureRequest instance - */ - public function withUrlEndPoint($value) - { - $this->setUrlEndPoint($value); - return $this; - } - - - /** - * Checks if UrlEndPoint is set - * - * @return bool true if UrlEndPoint is set - */ - public function isSetUrlEndPoint() - { - return !is_null($this->_fields['UrlEndPoint']['FieldValue']); - } - - /** - * Gets the value of the HttpParameters property. - * - * @return string HttpParameters - */ - public function getHttpParameters() - { - return $this->_fields['HttpParameters']['FieldValue']; - } - - /** - * Sets the value of the HttpParameters property. - * - * @param string HttpParameters - * @return this instance - */ - public function setHttpParameters($value) - { - $this->_fields['HttpParameters']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the HttpParameters and returns this instance - * - * @param string $value HttpParameters - * @return Amazon_FPS_Model_VerifySignatureRequest instance - */ - public function withHttpParameters($value) - { - $this->setHttpParameters($value); - return $this; - } - - - /** - * Checks if HttpParameters is set - * - * @return bool true if HttpParameters is set - */ - public function isSetHttpParameters() - { - return !is_null($this->_fields['HttpParameters']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/VerifySignatureResponse.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/VerifySignatureResponse.php deleted file mode 100755 index f234e04d1f2f..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/VerifySignatureResponse.php +++ /dev/null @@ -1,198 +0,0 @@ - - * - *
          265. VerifySignatureResult: Amazon_FPS_Model_VerifySignatureResult
          266. - *
          267. ResponseMetadata: Amazon_FPS_Model_ResponseMetadata
          268. - * - * - */ -class Amazon_FPS_Model_VerifySignatureResponse extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_VerifySignatureResponse - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • VerifySignatureResult: Amazon_FPS_Model_VerifySignatureResult
            • - *
            • ResponseMetadata: Amazon_FPS_Model_ResponseMetadata
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'VerifySignatureResult' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_VerifySignatureResult'), - 'ResponseMetadata' => array('FieldValue' => null, 'FieldType' => 'Amazon_FPS_Model_ResponseMetadata'), - ); - parent::__construct($data); - } - - - /** - * Construct Amazon_FPS_Model_VerifySignatureResponse from XML string - * - * @param string $xml XML string to construct from - * @return Amazon_FPS_Model_VerifySignatureResponse - */ - public static function fromXML($xml) - { - $dom = new DOMDocument(); - $dom->loadXML($xml); - $xpath = new DOMXPath($dom); - $xpath->registerNamespace('a', 'http://fps.amazonaws.com/doc/2008-09-17/'); - $response = $xpath->query('//a:VerifySignatureResponse'); - if ($response->length == 1) { - return new Amazon_FPS_Model_VerifySignatureResponse(($response->item(0))); - } else { - throw new Exception ("Unable to construct Amazon_FPS_Model_VerifySignatureResponse from provided XML. - Make sure that VerifySignatureResponse is a root element"); - } - - } - - /** - * Gets the value of the VerifySignatureResult. - * - * @return VerifySignatureResult VerifySignatureResult - */ - public function getVerifySignatureResult() - { - return $this->_fields['VerifySignatureResult']['FieldValue']; - } - - /** - * Sets the value of the VerifySignatureResult. - * - * @param VerifySignatureResult VerifySignatureResult - * @return void - */ - public function setVerifySignatureResult($value) - { - $this->_fields['VerifySignatureResult']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the VerifySignatureResult and returns this instance - * - * @param VerifySignatureResult $value VerifySignatureResult - * @return Amazon_FPS_Model_VerifySignatureResponse instance - */ - public function withVerifySignatureResult($value) - { - $this->setVerifySignatureResult($value); - return $this; - } - - - /** - * Checks if VerifySignatureResult is set - * - * @return bool true if VerifySignatureResult property is set - */ - public function isSetVerifySignatureResult() - { - return !is_null($this->_fields['VerifySignatureResult']['FieldValue']); - - } - - /** - * Gets the value of the ResponseMetadata. - * - * @return ResponseMetadata ResponseMetadata - */ - public function getResponseMetadata() - { - return $this->_fields['ResponseMetadata']['FieldValue']; - } - - /** - * Sets the value of the ResponseMetadata. - * - * @param ResponseMetadata ResponseMetadata - * @return void - */ - public function setResponseMetadata($value) - { - $this->_fields['ResponseMetadata']['FieldValue'] = $value; - return; - } - - /** - * Sets the value of the ResponseMetadata and returns this instance - * - * @param ResponseMetadata $value ResponseMetadata - * @return Amazon_FPS_Model_VerifySignatureResponse instance - */ - public function withResponseMetadata($value) - { - $this->setResponseMetadata($value); - return $this; - } - - - /** - * Checks if ResponseMetadata is set - * - * @return bool true if ResponseMetadata property is set - */ - public function isSetResponseMetadata() - { - return !is_null($this->_fields['ResponseMetadata']['FieldValue']); - - } - - - - /** - * XML Representation for this object - * - * @return string XML for this object - */ - public function toXML() - { - $xml = ""; - $xml .= ""; - $xml .= $this->_toXMLFragment(); - $xml .= ""; - return $xml; - } - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/VerifySignatureResult.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/VerifySignatureResult.php deleted file mode 100755 index 984818aee2d2..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/VerifySignatureResult.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - *
          269. VerificationStatus: string
          270. - * - * - */ -class Amazon_FPS_Model_VerifySignatureResult extends Amazon_FPS_Model -{ - - - /** - * Construct new Amazon_FPS_Model_VerifySignatureResult - * - * @param mixed $data DOMElement or Associative Array to construct from. - * - * Valid properties: - *
              - * - *
            • VerificationStatus: string
            • - * - *
            - */ - public function __construct($data = null) - { - $this->_fields = array ( - 'VerificationStatus' => array('FieldValue' => null, 'FieldType' => 'string'), - ); - parent::__construct($data); - } - - /** - * Gets the value of the VerificationStatus property. - * - * @return string VerificationStatus - */ - public function getVerificationStatus() - { - return $this->_fields['VerificationStatus']['FieldValue']; - } - - /** - * Sets the value of the VerificationStatus property. - * - * @param string VerificationStatus - * @return this instance - */ - public function setVerificationStatus($value) - { - $this->_fields['VerificationStatus']['FieldValue'] = $value; - return $this; - } - - /** - * Sets the value of the VerificationStatus and returns this instance - * - * @param string $value VerificationStatus - * @return Amazon_FPS_Model_VerifySignatureResult instance - */ - public function withVerificationStatus($value) - { - $this->setVerificationStatus($value); - return $this; - } - - - /** - * Checks if VerificationStatus is set - * - * @return bool true if VerificationStatus is set - */ - public function isSetVerificationStatus() - { - return !is_null($this->_fields['VerificationStatus']['FieldValue']); - } - - - - -} \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/.config.inc.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/.config.inc.php deleted file mode 100755 index 49d738122f95..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/.config.inc.php +++ /dev/null @@ -1,48 +0,0 @@ -'); - define('AWS_SECRET_ACCESS_KEY', ''); - - - /************************************************************************ - * OPTIONAL ON SOME INSTALLATIONS - * - * Set include path to root of library, relative to Samples directory. - * Only needed when running library from local directory. - * If library is installed in PHP include path, this is not needed - ***********************************************************************/ - set_include_path(get_include_path() . PATH_SEPARATOR . '../../../.'); - - /************************************************************************ - * OPTIONAL ON SOME INSTALLATIONS - * - * Autoload function is reponsible for loading classes of the library on demand - * - * NOTE: Only one __autoload function is allowed by PHP per each PHP installation, - * and this function may need to be replaced with individual require_once statements - * in case where other framework that define an __autoload already loaded. - * - * However, since this library follow common naming convention for PHP classes it - * may be possible to simply re-use an autoload mechanism defined by other frameworks - * (provided library is installed in the PHP include path), and so classes may just - * be loaded even when this function is removed - ***********************************************************************/ - function __autoload($className){ - $filePath = str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php'; - $includePaths = explode(PATH_SEPARATOR, get_include_path()); - foreach($includePaths as $includePath){ - if(file_exists($includePath . DIRECTORY_SEPARATOR . $filePath)){ - require_once $filePath; - return; - } - } - } - - - diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/CancelSample.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/CancelSample.php deleted file mode 100755 index 1b7abbdb8c28..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/CancelSample.php +++ /dev/null @@ -1,110 +0,0 @@ -cancel($request); - - echo ("Service Response\n"); - echo ("=============================================================================\n"); - - echo(" CancelResponse\n"); - if ($response->isSetCancelResult()) { - echo(" CancelResult\n"); - $cancelResult = $response->getCancelResult(); - if ($cancelResult->isSetTransactionId()) - { - echo(" TransactionId\n"); - echo(" " . $cancelResult->getTransactionId() . "\n"); - } - if ($cancelResult->isSetTransactionStatus()) - { - echo(" TransactionStatus\n"); - echo(" " . $cancelResult->getTransactionStatus() . "\n"); - } - } - if ($response->isSetResponseMetadata()) { - echo(" ResponseMetadata\n"); - $responseMetadata = $response->getResponseMetadata(); - if ($responseMetadata->isSetRequestId()) - { - echo(" RequestId\n"); - echo(" " . $responseMetadata->getRequestId() . "\n"); - } - } - - } catch (Amazon_FPS_Exception $ex) { - echo("Caught Exception: " . $ex->getMessage() . "\n"); - echo("Response Status Code: " . $ex->getStatusCode() . "\n"); - echo("Error Code: " . $ex->getErrorCode() . "\n"); - echo("Error Type: " . $ex->getErrorType() . "\n"); - echo("Request ID: " . $ex->getRequestId() . "\n"); - echo("XML: " . $ex->getXML() . "\n"); - } - } - \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/GetTransactionStatusSample.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/GetTransactionStatusSample.php deleted file mode 100755 index 4ee5a87b4877..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/GetTransactionStatusSample.php +++ /dev/null @@ -1,125 +0,0 @@ -getTransactionStatus($request); - - echo ("Service Response\n"); - echo ("=============================================================================\n"); - - echo(" GetTransactionStatusResponse\n"); - if ($response->isSetGetTransactionStatusResult()) { - echo(" GetTransactionStatusResult\n"); - $getTransactionStatusResult = $response->getGetTransactionStatusResult(); - if ($getTransactionStatusResult->isSetTransactionId()) - { - echo(" TransactionId\n"); - echo(" " . $getTransactionStatusResult->getTransactionId() . "\n"); - } - if ($getTransactionStatusResult->isSetTransactionStatus()) - { - echo(" TransactionStatus\n"); - echo(" " . $getTransactionStatusResult->getTransactionStatus() . "\n"); - } - if ($getTransactionStatusResult->isSetCallerReference()) - { - echo(" CallerReference\n"); - echo(" " . $getTransactionStatusResult->getCallerReference() . "\n"); - } - if ($getTransactionStatusResult->isSetStatusCode()) - { - echo(" StatusCode\n"); - echo(" " . $getTransactionStatusResult->getStatusCode() . "\n"); - } - if ($getTransactionStatusResult->isSetStatusMessage()) - { - echo(" StatusMessage\n"); - echo(" " . $getTransactionStatusResult->getStatusMessage() . "\n"); - } - } - if ($response->isSetResponseMetadata()) { - echo(" ResponseMetadata\n"); - $responseMetadata = $response->getResponseMetadata(); - if ($responseMetadata->isSetRequestId()) - { - echo(" RequestId\n"); - echo(" " . $responseMetadata->getRequestId() . "\n"); - } - } - - } catch (Amazon_FPS_Exception $ex) { - echo("Caught Exception: " . $ex->getMessage() . "\n"); - echo("Response Status Code: " . $ex->getStatusCode() . "\n"); - echo("Error Code: " . $ex->getErrorCode() . "\n"); - echo("Error Type: " . $ex->getErrorType() . "\n"); - echo("Request ID: " . $ex->getRequestId() . "\n"); - echo("XML: " . $ex->getXML() . "\n"); - } - } - \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/RefundSample.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/RefundSample.php deleted file mode 100755 index 8fbaaee6e843..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/RefundSample.php +++ /dev/null @@ -1,110 +0,0 @@ -refund($request); - - echo ("Service Response\n"); - echo ("=============================================================================\n"); - - echo(" RefundResponse\n"); - if ($response->isSetRefundResult()) { - echo(" RefundResult\n"); - $refundResult = $response->getRefundResult(); - if ($refundResult->isSetTransactionId()) - { - echo(" TransactionId\n"); - echo(" " . $refundResult->getTransactionId() . "\n"); - } - if ($refundResult->isSetTransactionStatus()) - { - echo(" TransactionStatus\n"); - echo(" " . $refundResult->getTransactionStatus() . "\n"); - } - } - if ($response->isSetResponseMetadata()) { - echo(" ResponseMetadata\n"); - $responseMetadata = $response->getResponseMetadata(); - if ($responseMetadata->isSetRequestId()) - { - echo(" RequestId\n"); - echo(" " . $responseMetadata->getRequestId() . "\n"); - } - } - - } catch (Amazon_FPS_Exception $ex) { - echo("Caught Exception: " . $ex->getMessage() . "\n"); - echo("Response Status Code: " . $ex->getStatusCode() . "\n"); - echo("Error Code: " . $ex->getErrorCode() . "\n"); - echo("Error Type: " . $ex->getErrorType() . "\n"); - echo("Request ID: " . $ex->getRequestId() . "\n"); - echo("XML: " . $ex->getXML() . "\n"); - } - } - \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/SettleSample.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/SettleSample.php deleted file mode 100755 index 0155e8da35ae..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/SettleSample.php +++ /dev/null @@ -1,110 +0,0 @@ -settle($request); - - echo ("Service Response\n"); - echo ("=============================================================================\n"); - - echo(" SettleResponse\n"); - if ($response->isSetSettleResult()) { - echo(" SettleResult\n"); - $settleResult = $response->getSettleResult(); - if ($settleResult->isSetTransactionId()) - { - echo(" TransactionId\n"); - echo(" " . $settleResult->getTransactionId() . "\n"); - } - if ($settleResult->isSetTransactionStatus()) - { - echo(" TransactionStatus\n"); - echo(" " . $settleResult->getTransactionStatus() . "\n"); - } - } - if ($response->isSetResponseMetadata()) { - echo(" ResponseMetadata\n"); - $responseMetadata = $response->getResponseMetadata(); - if ($responseMetadata->isSetRequestId()) - { - echo(" RequestId\n"); - echo(" " . $responseMetadata->getRequestId() . "\n"); - } - } - - } catch (Amazon_FPS_Exception $ex) { - echo("Caught Exception: " . $ex->getMessage() . "\n"); - echo("Response Status Code: " . $ex->getStatusCode() . "\n"); - echo("Error Code: " . $ex->getErrorCode() . "\n"); - echo("Error Type: " . $ex->getErrorType() . "\n"); - echo("Request ID: " . $ex->getRequestId() . "\n"); - echo("XML: " . $ex->getXML() . "\n"); - } - } - \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/VerifySignatureSample.php b/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/VerifySignatureSample.php deleted file mode 100755 index c9d421442c9c..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/VerifySignatureSample.php +++ /dev/null @@ -1,105 +0,0 @@ -verifySignature($request); - - echo ("Service Response\n"); - echo ("=============================================================================\n"); - - echo(" VerifySignatureResponse\n"); - if ($response->isSetVerifySignatureResult()) { - echo(" VerifySignatureResult\n"); - $verifySignatureResult = $response->getVerifySignatureResult(); - if ($verifySignatureResult->isSetVerificationStatus()) - { - echo(" VerificationStatus\n"); - echo(" " . $verifySignatureResult->getVerificationStatus() . "\n"); - } - } - if ($response->isSetResponseMetadata()) { - echo(" ResponseMetadata\n"); - $responseMetadata = $response->getResponseMetadata(); - if ($responseMetadata->isSetRequestId()) - { - echo(" RequestId\n"); - echo(" " . $responseMetadata->getRequestId() . "\n"); - } - } - - } catch (Amazon_FPS_Exception $ex) { - echo("Caught Exception: " . $ex->getMessage() . "\n"); - echo("Response Status Code: " . $ex->getStatusCode() . "\n"); - echo("Error Code: " . $ex->getErrorCode() . "\n"); - echo("Error Type: " . $ex->getErrorType() . "\n"); - echo("Request ID: " . $ex->getRequestId() . "\n"); - echo("XML: " . $ex->getXML() . "\n"); - } - } - \ No newline at end of file diff --git a/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/Examples-IPN.html b/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/Examples-IPN.html deleted file mode 100755 index fbfdd92032bf..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/Examples-IPN.html +++ /dev/null @@ -1,132 +0,0 @@ - - - -Verifying IPN Signatures using Signature Version 2 - - - - - -

            Examples of IPNs signed with signature version 2

            - -

            This section includes examples to help you understand how to form the string -to sign with signature version 2. New lines have been inserted to make the -examples easier to read. Explicit '\n' is used wherever new line is required.

            - -

            Example IPN sent by ASP signed using signature version 2:

            -
            -    Instant Payment Notification URL: http://yourwebsite.com/ipn.jsp
            -    Parameters sent by ASP in IPN (using HTTP POST):
            -	transactionId: 14GPH3CZ83RPQ1ZH6J2G85NL1IO3KO8641R
            -	transactionDate: 1254987247
            -	signatureVersion: 2
            -	signatureMethod: RSA-SHA1
            -	status: PS
            -	buyerEmail: test-sender@amazon.com
            -	referenceId: test-reference123
            -	operation: pay
            -	transactionAmount: USD 1.100000
            -	recipientEmail: test-recipient@amazon.com
            -	buyerName: test sender
            -	signature: g2tEn6VVu8VKsxnkWeCPn8M9HABkzkVGbYTozSSKg9Y7B5Xsvq5GSoXkDlaz+izQM56wzvgFCou7
            -	9un06KI6CeE4lf0SSsonoPInqvTrKoS/XPZqBChtdfciCqSyWBpPZ2YaEbSYEZdk1YZW0W7oeezg
            -	QqgzBL/CLN9U128GyFllt3/Yxr6p+XBltBUjh0kGmdAFVuFgwYq7h7cyMwAyseIRU7vDW5qsTreA
            -	PBmae9h3v4oZly5CyNDP+4HhExyzakf2r+UBEqj9EwZtek3k9qj956dlG8Dd3QeEF9AqjLp0D+7M
            -	yZr0rupNcWNbO1wGX8aEda/FvoWMRxXB3sU9dw==
            -	recipientName: Test Business
            -	paymentMethod: CC
            -	certificateUrl: https://fps.sandbox.amazonaws.com/certs/090909/PKICert.pem
            -	paymentReason: Test Widget
            -
            - -

            String to sign in signature version 2:

            -
            -	POST\n
            -	yourwebsite.com\n
            -	/ipn.jsp\n
            -	buyerEmail=test-sender%40amazon.com&
            -	buyerName=test%20sender&
            -	certificateUrl=https%3A%2F%2Ffps.sandbox.amazonaws.com%2Fcerts%2F090909%2FPKICert.pem&
            -	operation=pay&
            -	paymentMethod=CC&
            -	paymentReason=Test%20Widget&
            -	recipientEmail=test-recipient%40amazon.com&
            -	recipientName=Test%20Business&
            -	referenceId=test-reference123&
            -	signatureMethod=RSA-SHA1&
            -	signatureVersion=2&
            -	status=PS&
            -	transactionAmount=USD%201.100000&
            -	transactionDate=1254987247&
            -	transactionId=14GPH3CZ83RPQ1ZH6J2G85NL1IO3KO8641R
            -
            - - - diff --git a/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/Examples-ReturnUrl.html b/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/Examples-ReturnUrl.html deleted file mode 100755 index 122423b3e1b8..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/Examples-ReturnUrl.html +++ /dev/null @@ -1,131 +0,0 @@ - - - -Verifying ReturnUrl Signatures using Signature Version 2 - - - - - -

            Examples of ReturnUrl redirect requests signed with signature version 2

            - -

            This section includes examples to help you understand how to form the string -to sign with signature version 2. New lines have been inserted to make the -examples easier to read. Explicit '\n' is used wherever new line is required.

            - -

            Example return url redirection request by ASP signed using signature version 2:

            -
            -    Return URL : http://yourwebsite.com/return.jsp
            -    Parameters sent by ASP in ReturnUrl (using HTTP GET):
            -	paymentReason = Test Widget
            -	transactionDate = 1254987247
            -	buyerName = test sender
            -	recipientEmail = test-recipient@amazon.com
            -	referenceId = test-reference123
            -	paymentMethod = Credit Card
            -	operation = pay
            -	signatureMethod = RSA-SHA1
            -	signature = VirmnCtqA/A+s+H+SE7Oj8Ku7Lfay6OKkJgP/Q0hyQeaR6evI8Usokg698utW6xzJsiUudXm0KpmqiWM33o1aby3AOxZ
            -	qWUC//aMZPO9vdw1NWR5fOJ++8AR9BAfcUtTHWc2QOHa1UyJalqeMsHuQj2IqQCMmOAUHPFkHhwAZMS9Ifkkxjqczg4S0vK9FoO39rFY
            -	kReYdL9SvuFyj6byAnqd3D7i/lgw+6jXjAlM9MqYiisMLyCGk0IQsrux5VbiQgI9LiGqUThGh7o2XkEFWvmPlKFmdQVnLxN9RNOK4pwr
            -	ktbjgrBfVKZu1BBBXjfwwy9xzin0Kw5uNlCD2ReoZA==
            -	buyerEmail = test-sender@amazon.com
            -	transactionAmount = USD 1.1
            -	status = PS
            -	recipientName = Test Business
            -	transactionId = 14GPH3CZ83RPQ1ZH6J2G85NL1IO3KO8641R
            -	signatureVersion = 2
            -	certificateUrl = https://fps.sandbox.amazonaws.com/certs/090909/PKICert.pem
            -
            - -

            String to sign in signature version 2:

            -
            -	GET\n
            -	yourwebsite.com\n
            -	/return.jsp\n
            -	buyerEmail=test-sender%40amazon.com&
            -	buyerName=test%20sender&
            -	certificateUrl=https%3A%2F%2Ffps.sandbox.amazonaws.com%2Fcerts%2F090909%2FPKICert.pem&
            -	operation=pay&
            -	paymentMethod=Credit%20Card&
            -	paymentReason=Test%20Widget&
            -	recipientEmail=test-recipient%40amazon.com&
            -	recipientName=Test%20Business&
            -	referenceId=test-reference123&
            -	signatureMethod=RSA-SHA1&
            -	signatureVersion=2&
            -	status=PS&
            -	transactionAmount=USD%201.1&
            -	transactionDate=1254987247&
            -	transactionId=14GPH3CZ83RPQ1ZH6J2G85NL1IO3KO8641R
            -
            - - - diff --git a/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/README.html b/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/README.html deleted file mode 100755 index 3c1d6e09fdfb..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/README.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - IPN and ReturnURL Validation PHP Library - - - - -

            About this Library

            -
              -
            • Signature validation helper for IPN and Return URL notifications signed using signature version 2.
            • -
            • Sample Code Version 2.0
            • -
            • Release Date : 2009-11-03
            • -
            -

            Prerequisites

            -
              -
            • php 5.2.6
            • -
            -

            Introduction:

            -

            Amazon FPS sends you outbound notifications in the form of GET and POST on your - ReturnURL and IPN endpoints respectively. When you handle these notifications, we - recommend you to validate the signature to ensure that the notification actually - originated from us. You can validate the signature using signature version 2 with a - server-side call to the VerifySignature API. In this call, you - send the entire URL including the HTTP parameters received to FPS VerifySignature - API and it will return a Boolean that indicates whether the signature was validated. - Samples using this API to validate the signature are included in the - src/com/amazonaws/ipnreturnurlvalidation folder. Their usage is described below.
            -

            -

            Contents of this package:

            -

            This package contains the following files to help you validate IPN and Return URL notifications using signature version 2. The samples are packaged under "IPNAndReturnURLValidation/src".

            -
              -
            1. SignatureUtilsForOutbound.php - This class contains the following helper functions for verifying signature.
            2. -
                -
              • validateRequest - Returns whether the signature specified in IPN or return url is correct or not. Takes a map of all the IPN/return url parameters. Takes additional parameters like httpMethod (GET or POST), url end point receiving the IPN or return url request (e.g. www.mysite.com/handle_ipn.jsp) for signature version 2.
              • -
              -
            3. IPNVerificationSampleCode.php - Verifies a sample IPN request for signature version 2
            4. -
            5. ReturnUrlVerificationSampleCode.php - Verifies a sample return url redirected request for signature version 2
            6. -
            - -

            Verifying Incoming Signatures

            -

            Steps to validate Return Url

            -
              -
            1. Open ReturnUrlVerificationSampleCode.php
            2. -
            3. Replace/add the parameters you received at your return url and also update urlEndPoint to your return url end point. -
              -//Parameters present in return url.
              -$params["transactionId"] = "14GPH3CZ83RPQ1ZH6J2G85NL1IO3KO8641R";
              -$params["transactionDate"] = "1254987247";
              -$params["status"] = "PS";
              -$params["signatureMethod"] = "RSA-SHA1";
              -$params["signatureVersion"] = "2";
              -$params["buyerEmail"] = "test-sender@amazon.com";
              -$params["recipientEmail"] = "test-recipient@amazon.com";
              -$params["operation"] = "pay";
              -$params["transactionAmount"] = "USD 1.1";
              -$params["referenceId"] = "test-reference123";
              -$params["buyerName"] = "test sender";
              -$params["recipientName"] = "Test Business";
              -$params["paymentMethod"] = "Credit Card";
              -$params["paymentReason"] = "Test Widget";
              -$params["certificateUrl"] = "https://fps.sandbox.amazonaws.com/certs/090909/PKICert.pem";
              -$params["signature"] = "VirmnCtqA/A+s+H+SE7Oj8Ku7Lfay6OKkJgP/Q0hyQeaR6evI8Usokg698utW6xzJsiUudXm0K"
              -. "pmqiWM33o1aby3AOxZqWUC//aMZPO9vdw1NWR5fOJ++8AR9BAfcUtTHWc2QOHa1UyJalqeMsHuQj2IqQCMmOAUHPFkHhwAZ"
              -. "MS9Ifkkxjqczg4S0vK9FoO39rFYkReYdL9SvuFyj6byAnqd3D7i/lgw+6jXjAlM9MqYiisMLyCGk0IQsrux5VbiQgI9LiGqU"
              -. "ThGh7o2XkEFWvmPlKFmdQVnLxN9RNOK4pwrktbjgrBfVKZu1BBBXjfwwy9xzin0Kw5uNlCD2ReoZA==";
              - 
              -$urlEndPoint = "http://yourwebsite.com/return.jsp"; //Your return url end point. 
              -print "Verifying return url signed using signature v2 ....\n";
              -//return url is sent as a http GET request and hence we specify GET as the http method.
              -//Signature verification does not require your secret key
              -print "Is signature correct: " . $utils->validateRequest($params, $urlEndPoint, "GET") . "\n";
              -
              -                
            4. -
            5. Run the sample.
            6. -
            7. Make sure the signature is valid.
            8. -
            - -

            Steps to validate IPN

            -
              -
            1. Open IPNVerificationSampleCode.php
            2. -
            3. Replace/add the parameters that you got in your IPN post. Also, set the urlEndPoint to your IPN end point. -
              -//Parameters present in ipn.
              -$params["transactionId"] = "14GPH3CZ83RPQ1ZH6J2G85NL1IO3KO8641R"; 
              -$params["transactionDate"] = "1254987247"; 
              -$params["status"] = "PS"; 
              -$params["signatureMethod"] = "RSA-SHA1"; 
              -$params["signatureVersion"] = "2"; 
              -$params["buyerEmail"] = "test-sender@amazon.com"; 
              -$params["recipientEmail"] = "test-recipient@amazon.com"; 
              -$params["operation"] = "pay"; 
              -$params["transactionAmount"] = "USD 1.100000"; 
              -$params["referenceId"] = "test-reference123"; 
              -$params["buyerName"] = "test sender"; 
              -$params["recipientName"] = "Test Business"; 
              -$params["paymentMethod"] = "CC"; 
              -$params["paymentReason"] = "Test Widget"; 
              -$params["certificateUrl"] = "https://fps.sandbox.amazonaws.com/certs/090909/PKICert.pem"; 
              -$params["signature"] ="g2tEn6VVu8VKsxnkWeCPn8M9HABkzkVGbYTozSSKg9Y7B5Xsvq5GSoXkDlaz+izQM56wzvgFCou"
              -. "79un06KI6CeE4lf0SSsonoPInqvTrKoS/XPZqBChtdfciCqSyWBpPZ2YaEbSYEZdk1YZW0W7oeezgQqgzBL/CLN9U128GyF"
              -. "llt3/Yxr6p+XBltBUjh0kGmdAFVuFgwYq7h7cyMwAyseIRU7vDW5qsTreAPBmae9h3v4oZly5CyNDP+4HhExyzakf2r+UBE"
              -. "qj9EwZtek3k9qj956dlG8Dd3QeEF9AqjLp0D+7MyZr0rupNcWNbO1wGX8aEda/FvoWMRxXB3sU9dw=="; 
              -
              -$urlEndPoint = "http://yourwebsite.com/ipn.jsp"; //Your url end point receiving the ipn.
              -      
              -print "Verifying IPN signed using signature v2 ....\n";
              -//IPN is sent as a http POST request and hence we specify POST as the http method.
              -//Signature verification does not require your secret key
              -print "Is signature correct: " . $utils->validateRequest($params, $urlEndPoint, "POST") . "\n";
              -
              -    
            4. -
            5. Run the sample.
            6. -
            7. Make sure the signature is valid.
            8. -
            - -

            Summary of the steps to validate the Return URL and IPN response:

            - - - - - - - - - - - - - -

            1

            Capture the notification on on your IPN endpoint

            2

            Pass all the parameters to the validateRequest method of SignatureUtilsForOutbound

            4

            Capture the boolean returned by the validateRequest method and process the IPN or discard based on its value

            -

            Examples

            - -

            Examples for ReturnUrl Signature Verification

            - -

            Examples for IPN Signature Verification

            - - - diff --git a/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/.config.inc.php b/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/.config.inc.php deleted file mode 100755 index 847569ff5262..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/.config.inc.php +++ /dev/null @@ -1,37 +0,0 @@ -validateRequest($params, $urlEndPoint, "POST") . "\n"; - } -} - -IPNVerificationSampleCode::test(); -?> diff --git a/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/ReturnUrlVerificationSampleCode.php b/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/ReturnUrlVerificationSampleCode.php deleted file mode 100755 index 90ed07ffcb4a..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/ReturnUrlVerificationSampleCode.php +++ /dev/null @@ -1,47 +0,0 @@ -validateRequest($params, $urlEndPoint, "GET") . "\n"; - } -} - -ReturnUrlVerificationSampleCode::test(); -?> diff --git a/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/SignatureUtilsForOutbound.php b/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/SignatureUtilsForOutbound.php deleted file mode 100755 index 3ef34a106cb6..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/SignatureUtilsForOutbound.php +++ /dev/null @@ -1,163 +0,0 @@ -verifySignature($parameters, $urlEndPoint); - if (!$verified){ - throw new SignatureException('Certificate could not be verified by the FPS service'); - } - - return $verified; - } - - private static function getSignatureAlgorithm($signatureMethod) { - if ("RSA-SHA1" == $signatureMethod) { - return OPENSSL_ALGO_SHA1; - } - return null; - } - private function httpsRequest($url){ - // Compose the cURL request - $curlHandle = curl_init(); - curl_setopt($curlHandle, CURLOPT_URL, $url); - curl_setopt($curlHandle, CURLOPT_FILETIME, false); - curl_setopt($curlHandle, CURLOPT_FRESH_CONNECT, true); - curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER, false); - curl_setopt($curlHandle, CURLOPT_SSL_VERIFYHOST, 0); - curl_setopt($curlHandle, CURLOPT_CAINFO, 'ca-bundle.crt'); - curl_setopt($curlHandle, CURLOPT_FOLLOWLOCATION, false); - curl_setopt($curlHandle, CURLOPT_MAXREDIRS, 0); - curl_setopt($curlHandle, CURLOPT_HEADER, true); - curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true); - curl_setopt($curlHandle, CURLOPT_NOSIGNAL, true); - curl_setopt($curlHandle, CURLOPT_USERAGENT, self::USER_AGENT_IDENTIFIER); - // Handle the encoding if we can. - if (extension_loaded('zlib')){ - curl_setopt($curlHandle, CURLOPT_ENCODING, ''); - } - - // Execute the request - $response = curl_exec($curlHandle); - - // Grab only the body - $headerSize = curl_getinfo($curlHandle, CURLINFO_HEADER_SIZE); - $responseBody = substr($response, $headerSize); - - // Close the cURL connection - curl_close($curlHandle); - - // Return the public key - return $responseBody; - } - - /** - * Method: verify_signature - */ - private function verifySignature($parameters, $urlEndPoint){ - // Switch hostnames - if (stripos($parameters[self::CERTIFICATE_URL_KEYNAME], self::FPS_SANDBOX_ENDPOINT) === 0){ - $fpsServiceEndPoint = self::FPS_SANDBOX_ENDPOINT; - } - elseif (stripos($parameters[self::CERTIFICATE_URL_KEYNAME], self::FPS_PROD_ENDPOINT) === 0){ - $fpsServiceEndPoint = self::FPS_PROD_ENDPOINT; - } - - $url = $fpsServiceEndPoint . '?Action=VerifySignature&UrlEndPoint=' . rawurlencode($urlEndPoint); - - $queryString = rawurlencode(http_build_query($parameters, '', '&')); - //$queryString = str_replace(array('%2F', '%2B'), array('%252F', '%252B'), $queryString); - - $url .= '&HttpParameters=' . $queryString . '&Version=2008-09-17'; - - $response = $this->httpsRequest($url); - $xml = new SimpleXMLElement($response); - $result = (string) $xml->VerifySignatureResult->VerificationStatus; - - return ($result === 'Success'); - } - -} -?> diff --git a/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/ca-bundle.crt b/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/ca-bundle.crt deleted file mode 100755 index 1e5553b2139d..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/ca-bundle.crt +++ /dev/null @@ -1,7989 +0,0 @@ -# This is a bundle of X.509 certificates of public Certificate -# Authorities. It was generated from the Mozilla root CA list. -# -# Source: mozilla/security/nss/lib/ckfw/builtins/certdata.txt -# -# Generated from certdata.txt RCS revision 1.39 -# -Certificate: - Data: - Version: 1 (0x0) - Serial Number: - 02:ad:66:7e:4e:45:fe:5e:57:6f:3c:98:19:5e:dd:c0 - Signature Algorithm: md2WithRSAEncryption - Issuer: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority - Validity - Not Before: Nov 9 00:00:00 1994 GMT - Not After : Jan 7 23:59:59 2010 GMT - Subject: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1000 bit) - Modulus (1000 bit): - 00:92:ce:7a:c1:ae:83:3e:5a:aa:89:83:57:ac:25: - 01:76:0c:ad:ae:8e:2c:37:ce:eb:35:78:64:54:03: - e5:84:40:51:c9:bf:8f:08:e2:8a:82:08:d2:16:86: - 37:55:e9:b1:21:02:ad:76:68:81:9a:05:a2:4b:c9: - 4b:25:66:22:56:6c:88:07:8f:f7:81:59:6d:84:07: - 65:70:13:71:76:3e:9b:77:4c:e3:50:89:56:98:48: - b9:1d:a7:29:1a:13:2e:4a:11:59:9c:1e:15:d5:49: - 54:2c:73:3a:69:82:b1:97:39:9c:6d:70:67:48:e5: - dd:2d:d6:c8:1e:7b - Exponent: 65537 (0x10001) - Signature Algorithm: md2WithRSAEncryption - 65:dd:7e:e1:b2:ec:b0:e2:3a:e0:ec:71:46:9a:19:11:b8:d3: - c7:a0:b4:03:40:26:02:3e:09:9c:e1:12:b3:d1:5a:f6:37:a5: - b7:61:03:b6:5b:16:69:3b:c6:44:08:0c:88:53:0c:6b:97:49: - c7:3e:35:dc:6c:b9:bb:aa:df:5c:bb:3a:2f:93:60:b6:a9:4b: - 4d:f2:20:f7:cd:5f:7f:64:7b:8e:dc:00:5c:d7:fa:77:ca:39: - 16:59:6f:0e:ea:d3:b5:83:7f:4d:4d:42:56:76:b4:c9:5f:04: - f8:38:f8:eb:d2:5f:75:5f:cd:7b:fc:e5:8e:80:7c:fc:50 -MD5 Fingerprint=74:7B:82:03:43:F0:00:9E:6B:B3:EC:47:BF:85:A5:93 ------BEGIN CERTIFICATE----- -MIICNDCCAaECEAKtZn5ORf5eV288mBle3cAwDQYJKoZIhvcNAQECBQAwXzELMAkG -A1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYD -VQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk0 -MTEwOTAwMDAwMFoXDTEwMDEwNzIzNTk1OVowXzELMAkGA1UEBhMCVVMxIDAeBgNV -BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2Vy -dmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGbMA0GCSqGSIb3DQEBAQUAA4GJ -ADCBhQJ+AJLOesGugz5aqomDV6wlAXYMra6OLDfO6zV4ZFQD5YRAUcm/jwjiioII -0haGN1XpsSECrXZogZoFokvJSyVmIlZsiAeP94FZbYQHZXATcXY+m3dM41CJVphI -uR2nKRoTLkoRWZweFdVJVCxzOmmCsZc5nG1wZ0jl3S3WyB57AgMBAAEwDQYJKoZI -hvcNAQECBQADfgBl3X7hsuyw4jrg7HFGmhkRuNPHoLQDQCYCPgmc4RKz0Vr2N6W3 -YQO2WxZpO8ZECAyIUwxrl0nHPjXcbLm7qt9cuzovk2C2qUtN8iD3zV9/ZHuO3ABc -1/p3yjkWWW8O6tO1g39NTUJWdrTJXwT4OPjr0l91X817/OWOgHz8UA== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: 419 (0x1a3) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=US, O=GTE Corporation, CN=GTE CyberTrust Root - Validity - Not Before: Feb 23 23:01:00 1996 GMT - Not After : Feb 23 23:59:00 2006 GMT - Subject: C=US, O=GTE Corporation, CN=GTE CyberTrust Root - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:b8:e6:4f:ba:db:98:7c:71:7c:af:44:b7:d3:0f: - 46:d9:64:e5:93:c1:42:8e:c7:ba:49:8d:35:2d:7a: - e7:8b:bd:e5:05:31:59:c6:b1:2f:0a:0c:fb:9f:a7: - 3f:a2:09:66:84:56:1e:37:29:1b:87:e9:7e:0c:ca: - 9a:9f:a5:7f:f5:15:94:a3:d5:a2:46:82:d8:68:4c: - d1:37:15:06:68:af:bd:f8:b0:b3:f0:29:f5:95:5a: - 09:16:61:77:0a:22:25:d4:4f:45:aa:c7:bd:e5:96: - df:f9:d4:a8:8e:42:cc:24:c0:1e:91:27:4a:b5:6d: - 06:80:63:39:c4:a2:5e:38:03 - Exponent: 65537 (0x10001) - Signature Algorithm: md5WithRSAEncryption - 12:b3:75:c6:5f:1d:e1:61:55:80:00:d4:81:4b:7b:31:0f:23: - 63:e7:3d:f3:03:f9:f4:36:a8:bb:d9:e3:a5:97:4d:ea:2b:29: - e0:d6:6a:73:81:e6:c0:89:a3:d3:f1:e0:a5:a5:22:37:9a:63: - c2:48:20:b4:db:72:e3:c8:f6:d9:7c:be:b1:af:53:da:14:b4: - 21:b8:d6:d5:96:e3:fe:4e:0c:59:62:b6:9a:4a:f9:42:dd:8c: - 6f:81:a9:71:ff:f4:0a:72:6d:6d:44:0e:9d:f3:74:74:a8:d5: - 34:49:e9:5e:9e:e9:b4:7a:e1:e5:5a:1f:84:30:9c:d3:9f:a5: - 25:d8 -MD5 Fingerprint=C4:D7:F0:B2:A3:C5:7D:61:67:F0:04:CD:43:D3:BA:58 ------BEGIN CERTIFICATE----- -MIIB+jCCAWMCAgGjMA0GCSqGSIb3DQEBBAUAMEUxCzAJBgNVBAYTAlVTMRgwFgYD -VQQKEw9HVEUgQ29ycG9yYXRpb24xHDAaBgNVBAMTE0dURSBDeWJlclRydXN0IFJv -b3QwHhcNOTYwMjIzMjMwMTAwWhcNMDYwMjIzMjM1OTAwWjBFMQswCQYDVQQGEwJV -UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMRwwGgYDVQQDExNHVEUgQ3liZXJU -cnVzdCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC45k+625h8cXyv -RLfTD0bZZOWTwUKOx7pJjTUteueLveUFMVnGsS8KDPufpz+iCWaEVh43KRuH6X4M -ypqfpX/1FZSj1aJGgthoTNE3FQZor734sLPwKfWVWgkWYXcKIiXUT0Wqx73llt/5 -1KiOQswkwB6RJ0q1bQaAYznEol44AwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABKz -dcZfHeFhVYAA1IFLezEPI2PnPfMD+fQ2qLvZ46WXTeorKeDWanOB5sCJo9Px4KWl -IjeaY8JIILTbcuPI9tl8vrGvU9oUtCG41tWW4/5ODFlitppK+ULdjG+BqXH/9Apy -bW1EDp3zdHSo1TRJ6V6e6bR64eVaH4QwnNOfpSXY ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: 421 (0x1a5) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=US, O=GTE Corporation, OU=GTE CyberTrust Solutions, Inc., CN=GTE CyberTrust Global Root - Validity - Not Before: Aug 13 00:29:00 1998 GMT - Not After : Aug 13 23:59:00 2018 GMT - Subject: C=US, O=GTE Corporation, OU=GTE CyberTrust Solutions, Inc., CN=GTE CyberTrust Global Root - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:95:0f:a0:b6:f0:50:9c:e8:7a:c7:88:cd:dd:17: - 0e:2e:b0:94:d0:1b:3d:0e:f6:94:c0:8a:94:c7:06: - c8:90:97:c8:b8:64:1a:7a:7e:6c:3c:53:e1:37:28: - 73:60:7f:b2:97:53:07:9f:53:f9:6d:58:94:d2:af: - 8d:6d:88:67:80:e6:ed:b2:95:cf:72:31:ca:a5:1c: - 72:ba:5c:02:e7:64:42:e7:f9:a9:2c:d6:3a:0d:ac: - 8d:42:aa:24:01:39:e6:9c:3f:01:85:57:0d:58:87: - 45:f8:d3:85:aa:93:69:26:85:70:48:80:3f:12:15: - c7:79:b4:1f:05:2f:3b:62:99 - Exponent: 65537 (0x10001) - Signature Algorithm: md5WithRSAEncryption - 6d:eb:1b:09:e9:5e:d9:51:db:67:22:61:a4:2a:3c:48:77:e3: - a0:7c:a6:de:73:a2:14:03:85:3d:fb:ab:0e:30:c5:83:16:33: - 81:13:08:9e:7b:34:4e:df:40:c8:74:d7:b9:7d:dc:f4:76:55: - 7d:9b:63:54:18:e9:f0:ea:f3:5c:b1:d9:8b:42:1e:b9:c0:95: - 4e:ba:fa:d5:e2:7c:f5:68:61:bf:8e:ec:05:97:5f:5b:b0:d7: - a3:85:34:c4:24:a7:0d:0f:95:93:ef:cb:94:d8:9e:1f:9d:5c: - 85:6d:c7:aa:ae:4f:1f:22:b5:cd:95:ad:ba:a7:cc:f9:ab:0b: - 7a:7f -MD5 Fingerprint=CA:3D:D3:68:F1:03:5C:D0:32:FA:B8:2B:59:E8:5A:DB ------BEGIN CERTIFICATE----- -MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD -VQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv -bHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv -b3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV -UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU -cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds -b2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH -iM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS -r41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4 -04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r -GwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9 -3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P -lZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Basic CA/emailAddress=personal-basic@thawte.com - Validity - Not Before: Jan 1 00:00:00 1996 GMT - Not After : Dec 31 23:59:59 2020 GMT - Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Basic CA/emailAddress=personal-basic@thawte.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:bc:bc:93:53:6d:c0:50:4f:82:15:e6:48:94:35: - a6:5a:be:6f:42:fa:0f:47:ee:77:75:72:dd:8d:49: - 9b:96:57:a0:78:d4:ca:3f:51:b3:69:0b:91:76:17: - 22:07:97:6a:c4:51:93:4b:e0:8d:ef:37:95:a1:0c: - 4d:da:34:90:1d:17:89:97:e0:35:38:57:4a:c0:f4: - 08:70:e9:3c:44:7b:50:7e:61:9a:90:e3:23:d3:88: - 11:46:27:f5:0b:07:0e:bb:dd:d1:7f:20:0a:88:b9: - 56:0b:2e:1c:80:da:f1:e3:9e:29:ef:14:bd:0a:44: - fb:1b:5b:18:d1:bf:23:93:21 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - Signature Algorithm: md5WithRSAEncryption - 2d:e2:99:6b:b0:3d:7a:89:d7:59:a2:94:01:1f:2b:dd:12:4b: - 53:c2:ad:7f:aa:a7:00:5c:91:40:57:25:4a:38:aa:84:70:b9: - d9:80:0f:a5:7b:5c:fb:73:c6:bd:d7:8a:61:5c:03:e3:2d:27: - a8:17:e0:84:85:42:dc:5e:9b:c6:b7:b2:6d:bb:74:af:e4:3f: - cb:a7:b7:b0:e0:5d:be:78:83:25:94:d2:db:81:0f:79:07:6d: - 4f:f4:39:15:5a:52:01:7b:de:32:d6:4d:38:f6:12:5c:06:50: - df:05:5b:bd:14:4b:a1:df:29:ba:3b:41:8d:f7:63:56:a1:df: - 22:b1 -MD5 Fingerprint=E6:0B:D2:C9:CA:2D:88:DB:1A:71:0E:4B:78:EB:02:41 ------BEGIN CERTIFICATE----- -MIIDITCCAoqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCByzELMAkGA1UEBhMCWkEx -FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD -VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT -ZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFBlcnNvbmFsIEJhc2lj -IENBMSgwJgYJKoZIhvcNAQkBFhlwZXJzb25hbC1iYXNpY0B0aGF3dGUuY29tMB4X -DTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgcsxCzAJBgNVBAYTAlpBMRUw -EwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UE -ChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2Vy -dmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQZXJzb25hbCBCYXNpYyBD -QTEoMCYGCSqGSIb3DQEJARYZcGVyc29uYWwtYmFzaWNAdGhhd3RlLmNvbTCBnzAN -BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvLyTU23AUE+CFeZIlDWmWr5vQvoPR+53 -dXLdjUmbllegeNTKP1GzaQuRdhciB5dqxFGTS+CN7zeVoQxN2jSQHReJl+A1OFdK -wPQIcOk8RHtQfmGakOMj04gRRif1CwcOu93RfyAKiLlWCy4cgNrx454p7xS9CkT7 -G1sY0b8jkyECAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQF -AAOBgQAt4plrsD16iddZopQBHyvdEktTwq1/qqcAXJFAVyVKOKqEcLnZgA+le1z7 -c8a914phXAPjLSeoF+CEhULcXpvGt7Jtu3Sv5D/Lp7ew4F2+eIMllNLbgQ95B21P -9DkVWlIBe94y1k049hJcBlDfBVu9FEuh3ym6O0GN92NWod8isQ== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Premium CA/emailAddress=personal-premium@thawte.com - Validity - Not Before: Jan 1 00:00:00 1996 GMT - Not After : Dec 31 23:59:59 2020 GMT - Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Premium CA/emailAddress=personal-premium@thawte.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:c9:66:d9:f8:07:44:cf:b9:8c:2e:f0:a1:ef:13: - 45:6c:05:df:de:27:16:51:36:41:11:6c:6c:3b:ed: - fe:10:7d:12:9e:e5:9b:42:9a:fe:60:31:c3:66:b7: - 73:3a:48:ae:4e:d0:32:37:94:88:b5:0d:b6:d9:f3: - f2:44:d9:d5:88:12:dd:76:4d:f2:1a:fc:6f:23:1e: - 7a:f1:d8:98:45:4e:07:10:ef:16:42:d0:43:75:6d: - 4a:de:e2:aa:c9:31:ff:1f:00:70:7c:66:cf:10:25: - 08:ba:fa:ee:00:e9:46:03:66:27:11:15:3b:aa:5b: - f2:98:dd:36:42:b2:da:88:75 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - Signature Algorithm: md5WithRSAEncryption - 69:36:89:f7:34:2a:33:72:2f:6d:3b:d4:22:b2:b8:6f:9a:c5: - 36:66:0e:1b:3c:a1:b1:75:5a:e6:fd:35:d3:f8:a8:f2:07:6f: - 85:67:8e:de:2b:b9:e2:17:b0:3a:a0:f0:0e:a2:00:9a:df:f3: - 14:15:6e:bb:c8:85:5a:98:80:f9:ff:be:74:1d:3d:f3:fe:30: - 25:d1:37:34:67:fa:a5:71:79:30:61:29:72:c0:e0:2c:4c:fb: - 56:e4:3a:a8:6f:e5:32:59:52:db:75:28:50:59:0c:f8:0b:19: - e4:ac:d9:af:96:8d:2f:50:db:07:c3:ea:1f:ab:33:e0:f5:2b: - 31:89 -MD5 Fingerprint=3A:B2:DE:22:9A:20:93:49:F9:ED:C8:D2:8A:E7:68:0D ------BEGIN CERTIFICATE----- -MIIDKTCCApKgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBzzELMAkGA1UEBhMCWkEx -FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD -VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT -ZXJ2aWNlcyBEaXZpc2lvbjEjMCEGA1UEAxMaVGhhd3RlIFBlcnNvbmFsIFByZW1p -dW0gQ0ExKjAoBgkqhkiG9w0BCQEWG3BlcnNvbmFsLXByZW1pdW1AdGhhd3RlLmNv -bTAeFw05NjAxMDEwMDAwMDBaFw0yMDEyMzEyMzU5NTlaMIHPMQswCQYDVQQGEwJa -QTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAY -BgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9u -IFNlcnZpY2VzIERpdmlzaW9uMSMwIQYDVQQDExpUaGF3dGUgUGVyc29uYWwgUHJl -bWl1bSBDQTEqMCgGCSqGSIb3DQEJARYbcGVyc29uYWwtcHJlbWl1bUB0aGF3dGUu -Y29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJZtn4B0TPuYwu8KHvE0Vs -Bd/eJxZRNkERbGw77f4QfRKe5ZtCmv5gMcNmt3M6SK5O0DI3lIi1DbbZ8/JE2dWI -Et12TfIa/G8jHnrx2JhFTgcQ7xZC0EN1bUre4qrJMf8fAHB8Zs8QJQi6+u4A6UYD -ZicRFTuqW/KY3TZCstqIdQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqG -SIb3DQEBBAUAA4GBAGk2ifc0KjNyL2071CKyuG+axTZmDhs8obF1Wub9NdP4qPIH -b4Vnjt4rueIXsDqg8A6iAJrf8xQVbrvIhVqYgPn/vnQdPfP+MCXRNzRn+qVxeTBh -KXLA4CxM+1bkOqhv5TJZUtt1KFBZDPgLGeSs2a+WjS9Q2wfD6h+rM+D1KzGJ ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Freemail CA/emailAddress=personal-freemail@thawte.com - Validity - Not Before: Jan 1 00:00:00 1996 GMT - Not After : Dec 31 23:59:59 2020 GMT - Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Freemail CA/emailAddress=personal-freemail@thawte.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:d4:69:d7:d4:b0:94:64:5b:71:e9:47:d8:0c:51: - b6:ea:72:91:b0:84:5e:7d:2d:0d:8f:7b:12:df:85: - 25:75:28:74:3a:42:2c:63:27:9f:95:7b:4b:ef:7e: - 19:87:1d:86:ea:a3:dd:b9:ce:96:64:1a:c2:14:6e: - 44:ac:7c:e6:8f:e8:4d:0f:71:1f:40:38:a6:00:a3: - 87:78:f6:f9:94:86:5e:ad:ea:c0:5e:76:eb:d9:14: - a3:5d:6e:7a:7c:0c:a5:4b:55:7f:06:19:29:7f:9e: - 9a:26:d5:6a:bb:38:24:08:6a:98:c7:b1:da:a3:98: - 91:fd:79:db:e5:5a:c4:1c:b9 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - Signature Algorithm: md5WithRSAEncryption - c7:ec:92:7e:4e:f8:f5:96:a5:67:62:2a:a4:f0:4d:11:60:d0: - 6f:8d:60:58:61:ac:26:bb:52:35:5c:08:cf:30:fb:a8:4a:96: - 8a:1f:62:42:23:8c:17:0f:f4:ba:64:9c:17:ac:47:29:df:9d: - 98:5e:d2:6c:60:71:5c:a2:ac:dc:79:e3:e7:6e:00:47:1f:b5: - 0d:28:e8:02:9d:e4:9a:fd:13:f4:a6:d9:7c:b1:f8:dc:5f:23: - 26:09:91:80:73:d0:14:1b:de:43:a9:83:25:f2:e6:9c:2f:15: - ca:fe:a6:ab:8a:07:75:8b:0c:dd:51:84:6b:e4:f8:d1:ce:77: - a2:81 -MD5 Fingerprint=1E:74:C3:86:3C:0C:35:C5:3E:C2:7F:EF:3C:AA:3C:D9 ------BEGIN CERTIFICATE----- -MIIDLTCCApagAwIBAgIBADANBgkqhkiG9w0BAQQFADCB0TELMAkGA1UEBhMCWkEx -FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD -VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT -ZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3RlIFBlcnNvbmFsIEZyZWVt -YWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0aGF3dGUu -Y29tMB4XDTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgdExCzAJBgNVBAYT -AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEa -MBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRp -b24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBG -cmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhh -d3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1GnX1LCUZFtx6UfY -DFG26nKRsIRefS0Nj3sS34UldSh0OkIsYyeflXtL734Zhx2G6qPduc6WZBrCFG5E -rHzmj+hND3EfQDimAKOHePb5lIZererAXnbr2RSjXW56fAylS1V/Bhkpf56aJtVq -uzgkCGqYx7Hao5iR/Xnb5VrEHLkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zAN -BgkqhkiG9w0BAQQFAAOBgQDH7JJ+Tvj1lqVnYiqk8E0RYNBvjWBYYawmu1I1XAjP -MPuoSpaKH2JCI4wXD/S6ZJwXrEcp352YXtJsYHFcoqzceePnbgBHH7UNKOgCneSa -/RP0ptl8sfjcXyMmCZGAc9AUG95DqYMl8uacLxXK/qarigd1iwzdUYRr5PjRznei -gQ== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA/emailAddress=server-certs@thawte.com - Validity - Not Before: Aug 1 00:00:00 1996 GMT - Not After : Dec 31 23:59:59 2020 GMT - Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA/emailAddress=server-certs@thawte.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:d3:a4:50:6e:c8:ff:56:6b:e6:cf:5d:b6:ea:0c: - 68:75:47:a2:aa:c2:da:84:25:fc:a8:f4:47:51:da: - 85:b5:20:74:94:86:1e:0f:75:c9:e9:08:61:f5:06: - 6d:30:6e:15:19:02:e9:52:c0:62:db:4d:99:9e:e2: - 6a:0c:44:38:cd:fe:be:e3:64:09:70:c5:fe:b1:6b: - 29:b6:2f:49:c8:3b:d4:27:04:25:10:97:2f:e7:90: - 6d:c0:28:42:99:d7:4c:43:de:c3:f5:21:6d:54:9f: - 5d:c3:58:e1:c0:e4:d9:5b:b0:b8:dc:b4:7b:df:36: - 3a:c2:b5:66:22:12:d6:87:0d - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - Signature Algorithm: md5WithRSAEncryption - 07:fa:4c:69:5c:fb:95:cc:46:ee:85:83:4d:21:30:8e:ca:d9: - a8:6f:49:1a:e6:da:51:e3:60:70:6c:84:61:11:a1:1a:c8:48: - 3e:59:43:7d:4f:95:3d:a1:8b:b7:0b:62:98:7a:75:8a:dd:88: - 4e:4e:9e:40:db:a8:cc:32:74:b9:6f:0d:c6:e3:b3:44:0b:d9: - 8a:6f:9a:29:9b:99:18:28:3b:d1:e3:40:28:9a:5a:3c:d5:b5: - e7:20:1b:8b:ca:a4:ab:8d:e9:51:d9:e2:4c:2c:59:a9:da:b9: - b2:75:1b:f6:42:f2:ef:c7:f2:18:f9:89:bc:a3:ff:8a:23:2e: - 70:47 -MD5 Fingerprint=C5:70:C4:A2:ED:53:78:0C:C8:10:53:81:64:CB:D0:1D ------BEGIN CERTIFICATE----- -MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkEx -FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD -VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv -biBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEm -MCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wHhcNOTYwODAx -MDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT -DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3 -dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNl -cyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3 -DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD -gY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl/Kj0R1HahbUgdJSGHg91 -yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg71CcEJRCX -L+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGj -EzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG -7oWDTSEwjsrZqG9JGubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6e -QNuozDJ0uW8NxuOzRAvZim+aKZuZGCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZ -qdq5snUb9kLy78fyGPmJvKP/iiMucEc= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.com - Validity - Not Before: Aug 1 00:00:00 1996 GMT - Not After : Dec 31 23:59:59 2020 GMT - Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:d2:36:36:6a:8b:d7:c2:5b:9e:da:81:41:62:8f: - 38:ee:49:04:55:d6:d0:ef:1c:1b:95:16:47:ef:18: - 48:35:3a:52:f4:2b:6a:06:8f:3b:2f:ea:56:e3:af: - 86:8d:9e:17:f7:9e:b4:65:75:02:4d:ef:cb:09:a2: - 21:51:d8:9b:d0:67:d0:ba:0d:92:06:14:73:d4:93: - cb:97:2a:00:9c:5c:4e:0c:bc:fa:15:52:fc:f2:44: - 6e:da:11:4a:6e:08:9f:2f:2d:e3:f9:aa:3a:86:73: - b6:46:53:58:c8:89:05:bd:83:11:b8:73:3f:aa:07: - 8d:f4:42:4d:e7:40:9d:1c:37 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - Signature Algorithm: md5WithRSAEncryption - 26:48:2c:16:c2:58:fa:e8:16:74:0c:aa:aa:5f:54:3f:f2:d7: - c9:78:60:5e:5e:6e:37:63:22:77:36:7e:b2:17:c4:34:b9:f5: - 08:85:fc:c9:01:38:ff:4d:be:f2:16:42:43:e7:bb:5a:46:fb: - c1:c6:11:1f:f1:4a:b0:28:46:c9:c3:c4:42:7d:bc:fa:ab:59: - 6e:d5:b7:51:88:11:e3:a4:85:19:6b:82:4c:a4:0c:12:ad:e9: - a4:ae:3f:f1:c3:49:65:9a:8c:c5:c8:3e:25:b7:94:99:bb:92: - 32:71:07:f0:86:5e:ed:50:27:a6:0d:a6:23:f9:bb:cb:a6:07: - 14:42 -MD5 Fingerprint=06:9F:69:79:16:66:90:02:1B:8C:8C:A2:C3:07:6F:3A ------BEGIN CERTIFICATE----- -MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkEx -FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD -VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv -biBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2Vy -dmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t -MB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpB -MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsG -A1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRp -b24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl -cnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv -bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkE -VdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQ -ug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMR -uHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG -9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI -hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JM -pAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 903804111 (0x35def4cf) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=Equifax, OU=Equifax Secure Certificate Authority - Validity - Not Before: Aug 22 16:41:51 1998 GMT - Not After : Aug 22 16:41:51 2018 GMT - Subject: C=US, O=Equifax, OU=Equifax Secure Certificate Authority - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:c1:5d:b1:58:67:08:62:ee:a0:9a:2d:1f:08:6d: - 91:14:68:98:0a:1e:fe:da:04:6f:13:84:62:21:c3: - d1:7c:ce:9f:05:e0:b8:01:f0:4e:34:ec:e2:8a:95: - 04:64:ac:f1:6b:53:5f:05:b3:cb:67:80:bf:42:02: - 8e:fe:dd:01:09:ec:e1:00:14:4f:fc:fb:f0:0c:dd: - 43:ba:5b:2b:e1:1f:80:70:99:15:57:93:16:f1:0f: - 97:6a:b7:c2:68:23:1c:cc:4d:59:30:ac:51:1e:3b: - af:2b:d6:ee:63:45:7b:c5:d9:5f:50:d2:e3:50:0f: - 3a:88:e7:bf:14:fd:e0:c7:b9 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 CRL Distribution Points: - DirName:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority/CN=CRL1 - - X509v3 Private Key Usage Period: - Not After: Aug 22 16:41:51 2018 GMT - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Authority Key Identifier: - keyid:48:E6:68:F9:2B:D2:B2:95:D7:47:D8:23:20:10:4F:33:98:90:9F:D4 - - X509v3 Subject Key Identifier: - 48:E6:68:F9:2B:D2:B2:95:D7:47:D8:23:20:10:4F:33:98:90:9F:D4 - X509v3 Basic Constraints: - CA:TRUE - 1.2.840.113533.7.65.0: - 0...V3.0c.... - Signature Algorithm: sha1WithRSAEncryption - 58:ce:29:ea:fc:f7:de:b5:ce:02:b9:17:b5:85:d1:b9:e3:e0: - 95:cc:25:31:0d:00:a6:92:6e:7f:b6:92:63:9e:50:95:d1:9a: - 6f:e4:11:de:63:85:6e:98:ee:a8:ff:5a:c8:d3:55:b2:66:71: - 57:de:c0:21:eb:3d:2a:a7:23:49:01:04:86:42:7b:fc:ee:7f: - a2:16:52:b5:67:67:d3:40:db:3b:26:58:b2:28:77:3d:ae:14: - 77:61:d6:fa:2a:66:27:a0:0d:fa:a7:73:5c:ea:70:f1:94:21: - 65:44:5f:fa:fc:ef:29:68:a9:a2:87:79:ef:79:ef:4f:ac:07: - 77:38 -MD5 Fingerprint=67:CB:9D:C0:13:24:8A:82:9B:B2:17:1E:D1:1B:EC:D4 ------BEGIN CERTIFICATE----- -MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV -UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy -dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1 -MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx -dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B -AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f -BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A -cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC -AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ -MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm -aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw -ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj -IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF -MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA -A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y -7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh -1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4 ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - d0:1e:40:90:00:00:46:52:00:00:00:01:00:00:00:04 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, ST=DC, L=Washington, O=ABA.ECOM, INC., CN=ABA.ECOM Root CA/emailAddress=admin@digsigtrust.com - Validity - Not Before: Jul 12 17:33:53 1999 GMT - Not After : Jul 9 17:33:53 2009 GMT - Subject: C=US, ST=DC, L=Washington, O=ABA.ECOM, INC., CN=ABA.ECOM Root CA/emailAddress=admin@digsigtrust.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:b1:d3:11:e0:79:55:43:07:08:4c:cb:05:42:00: - e2:0d:83:46:3d:e4:93:ba:b6:06:d3:0d:59:bd:3e: - c1:ce:43:67:01:8a:21:a8:ef:bc:cc:d0:a2:cc:b0: - 55:96:53:84:66:05:00:da:44:49:80:d8:54:0a:a5: - 25:86:94:ed:63:56:ff:70:6c:a3:a1:19:d2:78:be: - 68:2a:44:5e:2f:cf:cc:18:5e:47:bc:3a:b1:46:3d: - 1e:f0:b9:2c:34:5f:8c:7c:4c:08:29:9d:40:55:eb: - 3c:7d:83:de:b5:f0:f7:8a:83:0e:a1:4c:b4:3a:a5: - b3:5f:5a:22:97:ec:19:9b:c1:05:68:fd:e6:b7:a9: - 91:94:2c:e4:78:48:24:1a:25:19:3a:eb:95:9c:39: - 0a:8a:cf:42:b2:f0:1c:d5:5f:fb:6b:ed:68:56:7b: - 39:2c:72:38:b0:ee:93:a9:d3:7b:77:3c:eb:71:03: - a9:38:4a:16:6c:89:2a:ca:da:33:13:79:c2:55:8c: - ed:9c:bb:f2:cb:5b:10:f8:2e:61:35:c6:29:4c:2a: - d0:2a:63:d1:65:59:b4:f8:cd:f9:f4:00:84:b6:57: - 42:85:9d:32:a8:f9:2a:54:fb:ff:78:41:bc:bd:71: - 28:f4:bb:90:bc:ff:96:34:04:e3:45:9e:a1:46:28: - 40:81 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE, pathlen:8 - Signature Algorithm: sha1WithRSAEncryption - 04:6f:25:86:e4:e6:96:27:b4:d9:42:c0:d0:c9:00:b1:7f:54: - 3e:87:b2:6d:24:a9:2f:0a:7e:fd:a4:44:b0:f8:54:07:bd:1b: - 9d:9d:ca:7b:50:24:7b:11:5b:49:a3:a6:bf:12:74:d5:89:b7: - b7:2f:98:64:25:14:b7:61:e9:7f:60:80:6b:d3:64:e8:ab:bd: - 1a:d6:51:fa:c0:b4:5d:77:1a:7f:64:08:5e:79:c6:05:4c:f1: - 7a:dd:4d:7d:ce:e6:48:7b:54:d2:61:92:81:d6:1b:d6:00:f0: - 0e:9e:28:77:a0:4d:88:c7:22:76:19:c3:c7:9e:1b:a6:77:78: - f8:5f:9b:56:d1:f0:f2:17:ac:8e:9d:59:e6:1f:fe:57:b6:d9: - 5e:e1:5d:9f:45:ec:61:68:19:41:e1:b2:20:26:fe:5a:30:76: - 24:ff:40:72:3c:79:9f:7c:22:48:ab:46:cd:db:b3:86:2c:8f: - bf:05:41:d3:c1:e3:14:e3:41:17:26:d0:7c:a7:71:4c:19:e8: - 4a:0f:72:58:31:7d:ec:60:7a:a3:22:28:bd:19:24:60:3f:3b: - 87:73:c0:6b:e4:cb:ae:b7:ab:25:43:b2:55:2d:7b:ab:06:0e: - 75:5d:34:e5:5d:73:6d:9e:b2:75:40:a5:59:c9:4f:31:71:88: - d9:88:7f:54 -MD5 Fingerprint=41:B8:07:F7:A8:D1:09:EE:B4:9A:8E:70:4D:FC:1B:78 ------BEGIN CERTIFICATE----- -MIIDtTCCAp2gAwIBAgIRANAeQJAAAEZSAAAAAQAAAAQwDQYJKoZIhvcNAQEFBQAw -gYkxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJEQzETMBEGA1UEBxMKV2FzaGluZ3Rv -bjEXMBUGA1UEChMOQUJBLkVDT00sIElOQy4xGTAXBgNVBAMTEEFCQS5FQ09NIFJv -b3QgQ0ExJDAiBgkqhkiG9w0BCQEWFWFkbWluQGRpZ3NpZ3RydXN0LmNvbTAeFw05 -OTA3MTIxNzMzNTNaFw0wOTA3MDkxNzMzNTNaMIGJMQswCQYDVQQGEwJVUzELMAkG -A1UECBMCREMxEzARBgNVBAcTCldhc2hpbmd0b24xFzAVBgNVBAoTDkFCQS5FQ09N -LCBJTkMuMRkwFwYDVQQDExBBQkEuRUNPTSBSb290IENBMSQwIgYJKoZIhvcNAQkB -FhVhZG1pbkBkaWdzaWd0cnVzdC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw -ggEKAoIBAQCx0xHgeVVDBwhMywVCAOINg0Y95JO6tgbTDVm9PsHOQ2cBiiGo77zM -0KLMsFWWU4RmBQDaREmA2FQKpSWGlO1jVv9wbKOhGdJ4vmgqRF4vz8wYXke8OrFG -PR7wuSw0X4x8TAgpnUBV6zx9g9618PeKgw6hTLQ6pbNfWiKX7BmbwQVo/ea3qZGU -LOR4SCQaJRk665WcOQqKz0Ky8BzVX/tr7WhWezkscjiw7pOp03t3POtxA6k4ShZs -iSrK2jMTecJVjO2cu/LLWxD4LmE1xilMKtAqY9FlWbT4zfn0AIS2V0KFnTKo+SpU -+/94Qby9cSj0u5C8/5Y0BONFnqFGKECBAgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYB -Af8CAQgwDQYJKoZIhvcNAQEFBQADggEBAARvJYbk5pYntNlCwNDJALF/VD6Hsm0k -qS8Kfv2kRLD4VAe9G52dyntQJHsRW0mjpr8SdNWJt7cvmGQlFLdh6X9ggGvTZOir -vRrWUfrAtF13Gn9kCF55xgVM8XrdTX3O5kh7VNJhkoHWG9YA8A6eKHegTYjHInYZ -w8eeG6Z3ePhfm1bR8PIXrI6dWeYf/le22V7hXZ9F7GFoGUHhsiAm/lowdiT/QHI8 -eZ98IkirRs3bs4Ysj78FQdPB4xTjQRcm0HyncUwZ6EoPclgxfexgeqMiKL0ZJGA/ -O4dzwGvky663qyVDslUte6sGDnVdNOVdc22esnVApVnJTzFxiNmIf1Q= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 913315222 (0x36701596) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=Digital Signature Trust Co., OU=DSTCA E1 - Validity - Not Before: Dec 10 18:10:23 1998 GMT - Not After : Dec 10 18:40:23 2018 GMT - Subject: C=US, O=Digital Signature Trust Co., OU=DSTCA E1 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:a0:6c:81:a9:cf:34:1e:24:dd:fe:86:28:cc:de: - 83:2f:f9:5e:d4:42:d2:e8:74:60:66:13:98:06:1c: - a9:51:12:69:6f:31:55:b9:49:72:00:08:7e:d3:a5: - 62:44:37:24:99:8f:d9:83:48:8f:99:6d:95:13:bb: - 43:3b:2e:49:4e:88:37:c1:bb:58:7f:fe:e1:bd:f8: - bb:61:cd:f3:47:c0:99:a6:f1:f3:91:e8:78:7c:00: - cb:61:c9:44:27:71:69:55:4a:7e:49:4d:ed:a2:a3: - be:02:4c:00:ca:02:a8:ee:01:02:31:64:0f:52:2d: - 13:74:76:36:b5:7a:b4:2d:71 - Exponent: 3 (0x3) - X509v3 extensions: - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 CRL Distribution Points: - DirName:/C=US/O=Digital Signature Trust Co./OU=DSTCA E1/CN=CRL1 - - X509v3 Private Key Usage Period: - Not Before: Dec 10 18:10:23 1998 GMT, Not After: Dec 10 18:10:23 2018 GMT - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Authority Key Identifier: - keyid:6A:79:7E:91:69:46:18:13:0A:02:77:A5:59:5B:60:98:25:0E:A2:F8 - - X509v3 Subject Key Identifier: - 6A:79:7E:91:69:46:18:13:0A:02:77:A5:59:5B:60:98:25:0E:A2:F8 - X509v3 Basic Constraints: - CA:TRUE - 1.2.840.113533.7.65.0: - 0 -..V4.0.... - Signature Algorithm: sha1WithRSAEncryption - 22:12:d8:7a:1d:dc:81:06:b6:09:65:b2:87:c8:1f:5e:b4:2f: - e9:c4:1e:f2:3c:c1:bb:04:90:11:4a:83:4e:7e:93:b9:4d:42: - c7:92:26:a0:5c:34:9a:38:72:f8:fd:6b:16:3e:20:ee:82:8b: - 31:2a:93:36:85:23:88:8a:3c:03:68:d3:c9:09:0f:4d:fc:6c: - a4:da:28:72:93:0e:89:80:b0:7d:fe:80:6f:65:6d:18:33:97: - 8b:c2:6b:89:ee:60:3d:c8:9b:ef:7f:2b:32:62:73:93:cb:3c: - e3:7b:e2:76:78:45:bc:a1:93:04:bb:86:9f:3a:5b:43:7a:c3: - 8a:65 -MD5 Fingerprint=25:7A:BA:83:2E:B6:A2:0B:DA:FE:F5:02:0F:08:D7:AD ------BEGIN CERTIFICATE----- -MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJV -UzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQL -EwhEU1RDQSBFMTAeFw05ODEyMTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJ -BgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4x -ETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQCg -bIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJENySZ -j9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlV -Sn5JTe2io74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCG -SAGG+EIBAQQEAwIABzBoBgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMx -JDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMI -RFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMTk5ODEyMTAxODEw -MjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaAFGp5 -fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i -+DAMBgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqG -SIb3DQEBBQUAA4GBACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lN -QseSJqBcNJo4cvj9axY+IO6CizEqkzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+ -gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4RbyhkwS7hp86W0N6w4pl ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 913232846 (0x366ed3ce) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=Digital Signature Trust Co., OU=DSTCA E2 - Validity - Not Before: Dec 9 19:17:26 1998 GMT - Not After : Dec 9 19:47:26 2018 GMT - Subject: C=US, O=Digital Signature Trust Co., OU=DSTCA E2 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:bf:93:8f:17:92:ef:33:13:18:eb:10:7f:4e:16: - bf:ff:06:8f:2a:85:bc:5e:f9:24:a6:24:88:b6:03: - b7:c1:c3:5f:03:5b:d1:6f:ae:7e:42:ea:66:23:b8: - 63:83:56:fb:28:2d:e1:38:8b:b4:ee:a8:01:e1:ce: - 1c:b6:88:2a:22:46:85:fb:9f:a7:70:a9:47:14:3f: - ce:de:65:f0:a8:71:f7:4f:26:6c:8c:bc:c6:b5:ef: - de:49:27:ff:48:2a:7d:e8:4d:03:cc:c7:b2:52:c6: - 17:31:13:3b:b5:4d:db:c8:c4:f6:c3:0f:24:2a:da: - 0c:9d:e7:91:5b:80:cd:94:9d - Exponent: 3 (0x3) - X509v3 extensions: - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 CRL Distribution Points: - DirName:/C=US/O=Digital Signature Trust Co./OU=DSTCA E2/CN=CRL1 - - X509v3 Private Key Usage Period: - Not Before: Dec 9 19:17:26 1998 GMT, Not After: Dec 9 19:17:26 2018 GMT - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Authority Key Identifier: - keyid:1E:82:4D:28:65:80:3C:C9:41:6E:AC:35:2E:5A:CB:DE:EE:F8:39:5B - - X509v3 Subject Key Identifier: - 1E:82:4D:28:65:80:3C:C9:41:6E:AC:35:2E:5A:CB:DE:EE:F8:39:5B - X509v3 Basic Constraints: - CA:TRUE - 1.2.840.113533.7.65.0: - 0 -..V4.0.... - Signature Algorithm: sha1WithRSAEncryption - 47:8d:83:ad:62:f2:db:b0:9e:45:22:05:b9:a2:d6:03:0e:38: - 72:e7:9e:fc:7b:e6:93:b6:9a:a5:a2:94:c8:34:1d:91:d1:c5: - d7:f4:0a:25:0f:3d:78:81:9e:0f:b1:67:c4:90:4c:63:dd:5e: - a7:e2:ba:9f:f5:f7:4d:a5:31:7b:9c:29:2d:4c:fe:64:3e:ec: - b6:53:fe:ea:9b:ed:82:db:74:75:4b:07:79:6e:1e:d8:19:83: - 73:de:f5:3e:d0:b5:de:e7:4b:68:7d:43:2e:2a:20:e1:7e:a0: - 78:44:9e:08:f5:98:f9:c7:7f:1b:1b:d6:06:20:02:58:a1:c3: - a2:03 -MD5 Fingerprint=93:C2:8E:11:7B:D4:F3:03:19:BD:28:75:13:4A:45:4A ------BEGIN CERTIFICATE----- -MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJV -UzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQL -EwhEU1RDQSBFMjAeFw05ODEyMDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJ -BgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4x -ETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQC/ -k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGODVvso -LeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3o -TQPMx7JSxhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCG -SAGG+EIBAQQEAwIABzBoBgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMx -JDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMI -RFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMTk5ODEyMDkxOTE3 -MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaAFB6C -TShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5 -WzAMBgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqG -SIb3DQEBBQUAA4GBAEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHR -xdf0CiUPPXiBng+xZ8SQTGPdXqfiup/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVL -B3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1mPnHfxsb1gYgAlihw6ID ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: - d0:1e:40:8b:00:00:02:7c:00:00:00:02:00:00:00:01 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=us, ST=Utah, L=Salt Lake City, O=Digital Signature Trust Co., OU=DSTCA X1, CN=DST RootCA X1/emailAddress=ca@digsigtrust.com - Validity - Not Before: Dec 1 18:18:55 1998 GMT - Not After : Nov 28 18:18:55 2008 GMT - Subject: C=us, ST=Utah, L=Salt Lake City, O=Digital Signature Trust Co., OU=DSTCA X1, CN=DST RootCA X1/emailAddress=ca@digsigtrust.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:d2:c6:26:b6:e7:a5:3d:c1:c4:68:d5:50:6f:53: - c5:6f:49:13:09:b8:af:2c:48:8d:14:6a:a3:17:5f: - 5a:f9:d3:2e:75:2f:d8:28:62:d1:93:2f:fc:4d:d4: - ab:87:e5:08:c7:99:e7:92:3f:75:bd:eb:25:b4:15: - c1:9b:19:3d:d2:44:8d:d7:74:20:6d:37:02:8f:69: - 93:5b:8a:c4:19:9d:f4:b2:0e:fc:16:6c:b9:b1:05: - 92:83:d1:85:2c:60:94:3e:45:55:a0:d9:ab:08:21: - e6:60:e8:3b:74:f2:99:50:51:68:d0:03:2d:b1:80: - be:a3:d8:52:b0:44:cd:43:4a:70:8e:58:85:95:e1: - 4e:2c:d6:2d:41:6f:d6:84:e7:c8:98:44:ca:47:db: - 2c:24:a5:69:26:cf:6b:b8:27:62:c3:f4:c9:7a:92: - 23:ed:13:67:82:ae:45:2e:45:e5:7e:72:3f:85:9d: - 94:62:10:e6:3c:91:a1:ad:77:00:e0:15:ec:f3:84: - 80:72:7a:8e:6e:60:97:c7:24:59:10:34:83:5b:e1: - a5:a4:69:b6:57:35:1c:78:59:c6:d3:2f:3a:73:67: - ee:94:ca:04:13:05:62:06:70:23:b3:f4:7c:ee:45: - d9:64:0b:5b:49:aa:a4:43:ce:26:c4:44:12:6c:b8: - dd:79 - Exponent: 65537 (0x10001) - Signature Algorithm: sha1WithRSAEncryption - a2:37:b2:3f:69:fb:d7:86:79:54:49:31:95:33:2b:f3:d1:09: - 14:49:62:60:86:a5:b0:11:e2:50:c2:1d:06:57:3e:2d:e8:33: - 64:be:9b:aa:ad:5f:1b:4d:d4:99:95:a2:8b:9a:c9:62:72:b5: - 69:ea:d9:58:ab:35:ed:15:a2:43:d6:b6:bc:07:79:65:64:73: - 7d:d7:79:ca:7b:d5:5a:51:c6:e1:53:04:96:8d:38:cf:a3:17: - ac:39:71:6b:01:c3:8b:53:3c:63:e9:ee:79:c0:e4:be:92:32: - 64:7a:b3:1f:97:94:62:bd:ea:b2:20:15:95:fb:97:f2:78:2f: - 63:36:40:38:e3:46:0f:1d:dd:ac:95:ca:e7:4b:90:7b:b1:4b: - a9:d4:c5:eb:9a:da:aa:d5:a3:94:14:46:8d:2d:1f:f3:3a:d6: - 93:3a:f6:3e:79:fc:e8:e6:b0:75:ed:ee:3d:c9:70:c7:5d:aa: - 81:4b:46:25:1c:c7:6c:15:e3:95:4e:0f:aa:32:37:94:0a:17: - 24:92:13:84:58:d2:63:6f:2b:f7:e6:5b:62:0b:13:17:b0:0d: - 52:4c:fe:fe:6f:5c:e2:91:6e:1d:fd:a4:62:d7:68:fa:8e:7a: - 4f:d2:08:da:93:dc:f0:92:11:7a:d0:dc:72:93:0c:73:93:62: - 85:68:d0:f4 -MD5 Fingerprint=6C:C9:A7:6E:47:F1:0C:E3:53:3B:78:4C:4D:C2:6A:C5 ------BEGIN CERTIFICATE----- -MIID2DCCAsACEQDQHkCLAAACfAAAAAIAAAABMA0GCSqGSIb3DQEBBQUAMIGpMQsw -CQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENp -dHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UE -CxMIRFNUQ0EgWDExFjAUBgNVBAMTDURTVCBSb290Q0EgWDExITAfBgkqhkiG9w0B -CQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTAeFw05ODEyMDExODE4NTVaFw0wODExMjgx -ODE4NTVaMIGpMQswCQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMO -U2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0 -IENvLjERMA8GA1UECxMIRFNUQ0EgWDExFjAUBgNVBAMTDURTVCBSb290Q0EgWDEx -ITAfBgkqhkiG9w0BCQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTCCASIwDQYJKoZIhvcN -AQEBBQADggEPADCCAQoCggEBANLGJrbnpT3BxGjVUG9TxW9JEwm4ryxIjRRqoxdf -WvnTLnUv2Chi0ZMv/E3Uq4flCMeZ55I/db3rJbQVwZsZPdJEjdd0IG03Ao9pk1uK -xBmd9LIO/BZsubEFkoPRhSxglD5FVaDZqwgh5mDoO3TymVBRaNADLbGAvqPYUrBE -zUNKcI5YhZXhTizWLUFv1oTnyJhEykfbLCSlaSbPa7gnYsP0yXqSI+0TZ4KuRS5F -5X5yP4WdlGIQ5jyRoa13AOAV7POEgHJ6jm5gl8ckWRA0g1vhpaRptlc1HHhZxtMv -OnNn7pTKBBMFYgZwI7P0fO5F2WQLW0mqpEPOJsREEmy43XkCAwEAATANBgkqhkiG -9w0BAQUFAAOCAQEAojeyP2n714Z5VEkxlTMr89EJFEliYIalsBHiUMIdBlc+Legz -ZL6bqq1fG03UmZWii5rJYnK1aerZWKs17RWiQ9a2vAd5ZWRzfdd5ynvVWlHG4VME -lo04z6MXrDlxawHDi1M8Y+nuecDkvpIyZHqzH5eUYr3qsiAVlfuX8ngvYzZAOONG -Dx3drJXK50uQe7FLqdTF65raqtWjlBRGjS0f8zrWkzr2Pnn86Oawde3uPclwx12q -gUtGJRzHbBXjlU4PqjI3lAoXJJIThFjSY28r9+ZbYgsTF7ANUkz+/m9c4pFuHf2k -Ytdo+o56T9II2pPc8JIRetDccpMMc5NihWjQ9A== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: - d0:1e:40:8b:00:00:77:6d:00:00:00:01:00:00:00:04 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=us, ST=Utah, L=Salt Lake City, O=Digital Signature Trust Co., OU=DSTCA X2, CN=DST RootCA X2/emailAddress=ca@digsigtrust.com - Validity - Not Before: Nov 30 22:46:16 1998 GMT - Not After : Nov 27 22:46:16 2008 GMT - Subject: C=us, ST=Utah, L=Salt Lake City, O=Digital Signature Trust Co., OU=DSTCA X2, CN=DST RootCA X2/emailAddress=ca@digsigtrust.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:dc:75:f0:8c:c0:75:96:9a:c0:62:1f:26:f7:c4: - e1:9a:ea:e0:56:73:5b:99:cd:01:44:a8:08:b6:d5: - a7:da:1a:04:18:39:92:4a:78:a3:81:c2:f5:77:7a: - 50:b4:70:ff:9a:ab:c6:c7:ca:6e:83:4f:42:98:fb: - 26:0b:da:dc:6d:d6:a9:99:55:52:67:e9:28:03:92: - dc:e5:b0:05:9a:0f:15:f9:6b:59:72:56:f2:fa:39: - fc:aa:68:ee:0f:1f:10:83:2f:fc:9d:fa:17:96:dd: - 82:e3:e6:45:7d:c0:4b:80:44:1f:ed:2c:e0:84:fd: - 91:5c:92:54:69:25:e5:62:69:dc:e5:ee:00:52:bd: - 33:0b:ad:75:02:85:a7:64:50:2d:c5:19:19:30:c0: - 26:db:c9:d3:fd:2e:99:ad:59:b5:0b:4d:d4:41:ae: - 85:48:43:59:dc:b7:a8:e2:a2:de:c3:8f:d7:b8:a1: - 62:a6:68:50:52:e4:cf:31:a7:94:85:da:9f:46:32: - 17:56:e5:f2:eb:66:3d:12:ff:43:db:98:ef:77:cf: - cb:81:8d:34:b1:c6:50:4a:26:d1:e4:3e:41:50:af: - 6c:ae:22:34:2e:d5:6b:6e:83:ba:79:b8:76:65:48: - da:09:29:64:63:22:b9:fb:47:76:85:8c:86:44:cb: - 09:db - Exponent: 65537 (0x10001) - Signature Algorithm: sha1WithRSAEncryption - b5:36:0e:5d:e1:61:28:5a:11:65:c0:3f:83:03:79:4d:be:28: - a6:0b:07:02:52:85:cd:f8:91:d0:10:6c:b5:6a:20:5b:1c:90: - d9:30:3c:c6:48:9e:8a:5e:64:f9:a1:71:77:ef:04:27:1f:07: - eb:e4:26:f7:73:74:c9:44:18:1a:66:d3:e0:43:af:91:3b:d1: - cb:2c:d8:74:54:3a:1c:4d:ca:d4:68:cd:23:7c:1d:10:9e:45: - e9:f6:00:6e:a6:cd:19:ff:4f:2c:29:8f:57:4d:c4:77:92:be: - e0:4c:09:fb:5d:44:86:66:21:a8:b9:32:a2:56:d5:e9:8c:83: - 7c:59:3f:c4:f1:0b:e7:9d:ec:9e:bd:9c:18:0e:3e:c2:39:79: - 28:b7:03:0d:08:cb:c6:e7:d9:01:37:50:10:ec:cc:61:16:40: - d4:af:31:74:7b:fc:3f:31:a7:d0:47:73:33:39:1b:cc:4e:6a: - d7:49:83:11:06:fe:eb:82:58:33:32:4c:f0:56:ac:1e:9c:2f: - 56:9a:7b:c1:4a:1c:a5:fd:55:36:ce:fc:96:4d:f4:b0:f0:ec: - b7:6c:82:ed:2f:31:99:42:4c:a9:b2:0d:b8:15:5d:f1:df:ba: - c9:b5:4a:d4:64:98:b3:26:a9:30:c8:fd:a6:ec:ab:96:21:ad: - 7f:c2:78:b6 -MD5 Fingerprint=CD:3B:3D:62:5B:09:B8:09:36:87:9E:12:2F:71:64:BA ------BEGIN CERTIFICATE----- -MIID2DCCAsACEQDQHkCLAAB3bQAAAAEAAAAEMA0GCSqGSIb3DQEBBQUAMIGpMQsw -CQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENp -dHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UE -CxMIRFNUQ0EgWDIxFjAUBgNVBAMTDURTVCBSb290Q0EgWDIxITAfBgkqhkiG9w0B -CQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTAeFw05ODExMzAyMjQ2MTZaFw0wODExMjcy -MjQ2MTZaMIGpMQswCQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMO -U2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0 -IENvLjERMA8GA1UECxMIRFNUQ0EgWDIxFjAUBgNVBAMTDURTVCBSb290Q0EgWDIx -ITAfBgkqhkiG9w0BCQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTCCASIwDQYJKoZIhvcN -AQEBBQADggEPADCCAQoCggEBANx18IzAdZaawGIfJvfE4Zrq4FZzW5nNAUSoCLbV -p9oaBBg5kkp4o4HC9Xd6ULRw/5qrxsfKboNPQpj7Jgva3G3WqZlVUmfpKAOS3OWw -BZoPFflrWXJW8vo5/Kpo7g8fEIMv/J36F5bdguPmRX3AS4BEH+0s4IT9kVySVGkl -5WJp3OXuAFK9MwutdQKFp2RQLcUZGTDAJtvJ0/0uma1ZtQtN1EGuhUhDWdy3qOKi -3sOP17ihYqZoUFLkzzGnlIXan0YyF1bl8utmPRL/Q9uY73fPy4GNNLHGUEom0eQ+ -QVCvbK4iNC7Va26Dunm4dmVI2gkpZGMiuftHdoWMhkTLCdsCAwEAATANBgkqhkiG -9w0BAQUFAAOCAQEAtTYOXeFhKFoRZcA/gwN5Tb4opgsHAlKFzfiR0BBstWogWxyQ -2TA8xkieil5k+aFxd+8EJx8H6+Qm93N0yUQYGmbT4EOvkTvRyyzYdFQ6HE3K1GjN -I3wdEJ5F6fYAbqbNGf9PLCmPV03Ed5K+4EwJ+11EhmYhqLkyolbV6YyDfFk/xPEL -553snr2cGA4+wjl5KLcDDQjLxufZATdQEOzMYRZA1K8xdHv8PzGn0EdzMzkbzE5q -10mDEQb+64JYMzJM8FasHpwvVpp7wUocpf1VNs78lk30sPDst2yC7S8xmUJMqbIN -uBVd8d+6ybVK1GSYsyapMMj9puyrliGtf8J4tg== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: - cd:ba:7f:56:f0:df:e4:bc:54:fe:22:ac:b3:72:aa:55 - Signature Algorithm: md2WithRSAEncryption - Issuer: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority - Validity - Not Before: Jan 29 00:00:00 1996 GMT - Not After : Aug 1 23:59:59 2028 GMT - Subject: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:e5:19:bf:6d:a3:56:61:2d:99:48:71:f6:67:de: - b9:8d:eb:b7:9e:86:80:0a:91:0e:fa:38:25:af:46: - 88:82:e5:73:a8:a0:9b:24:5d:0d:1f:cc:65:6e:0c: - b0:d0:56:84:18:87:9a:06:9b:10:a1:73:df:b4:58: - 39:6b:6e:c1:f6:15:d5:a8:a8:3f:aa:12:06:8d:31: - ac:7f:b0:34:d7:8f:34:67:88:09:cd:14:11:e2:4e: - 45:56:69:1f:78:02:80:da:dc:47:91:29:bb:36:c9: - 63:5c:c5:e0:d7:2d:87:7b:a1:b7:32:b0:7b:30:ba: - 2a:2f:31:aa:ee:a3:67:da:db - Exponent: 65537 (0x10001) - Signature Algorithm: md2WithRSAEncryption - 4c:3f:b8:8b:c6:68:df:ee:43:33:0e:5d:e9:a6:cb:07:84:4d: - 7a:33:ff:92:1b:f4:36:ad:d8:95:22:36:68:11:6c:7c:42:cc: - f3:9c:2e:c4:07:3f:14:b0:0f:4f:ff:90:92:76:f9:e2:bc:4a: - e9:8f:cd:a0:80:0a:f7:c5:29:f1:82:22:5d:b8:b1:dd:81:23: - a3:7b:25:15:46:30:79:16:f8:ea:05:4b:94:7f:1d:c2:1c:c8: - e3:b7:f4:10:40:3c:13:c3:5f:1f:53:e8:48:e4:86:b4:7b:a1: - 35:b0:7b:25:ba:b8:d3:8e:ab:3f:38:9d:00:34:00:98:f3:d1: - 71:94 -MD5 Fingerprint=97:60:E8:57:5F:D3:50:47:E5:43:0C:94:36:8A:B0:62 ------BEGIN CERTIFICATE----- -MIICPTCCAaYCEQDNun9W8N/kvFT+IqyzcqpVMA0GCSqGSIb3DQEBAgUAMF8xCzAJ -BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xh -c3MgMSBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05 -NjAxMjkwMDAwMDBaFw0yODA4MDEyMzU5NTlaMF8xCzAJBgNVBAYTAlVTMRcwFQYD -VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMSBQdWJsaWMgUHJp -bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOB -jQAwgYkCgYEA5Rm/baNWYS2ZSHH2Z965jeu3noaACpEO+jglr0aIguVzqKCbJF0N -H8xlbgyw0FaEGIeaBpsQoXPftFg5a27B9hXVqKg/qhIGjTGsf7A01480Z4gJzRQR -4k5FVmkfeAKA2txHkSm7NsljXMXg1y2He6G3MrB7MLoqLzGq7qNn2tsCAwEAATAN -BgkqhkiG9w0BAQIFAAOBgQBMP7iLxmjf7kMzDl3ppssHhE16M/+SG/Q2rdiVIjZo -EWx8QszznC7EBz8UsA9P/5CSdvnivErpj82ggAr3xSnxgiJduLHdgSOjeyUVRjB5 -FvjqBUuUfx3CHMjjt/QQQDwTw18fU+hI5Ia0e6E1sHslurjTjqs/OJ0ANACY89Fx -lA== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: - 2d:1b:fc:4a:17:8d:a3:91:eb:e7:ff:f5:8b:45:be:0b - Signature Algorithm: md2WithRSAEncryption - Issuer: C=US, O=VeriSign, Inc., OU=Class 2 Public Primary Certification Authority - Validity - Not Before: Jan 29 00:00:00 1996 GMT - Not After : Aug 1 23:59:59 2028 GMT - Subject: C=US, O=VeriSign, Inc., OU=Class 2 Public Primary Certification Authority - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:b6:5a:8b:a3:0d:6a:23:83:80:6b:cf:39:87:f4: - 21:13:33:06:4c:25:a2:ed:55:12:97:c5:a7:80:b9: - fa:83:c1:20:a0:fa:2f:15:0d:7c:a1:60:6b:7e:79: - 2c:fa:06:0f:3a:ae:f6:1b:6f:b1:d2:ff:2f:28:52: - 5f:83:7d:4b:c4:7a:b7:f8:66:1f:80:54:fc:b7:c2: - 8e:59:4a:14:57:46:d1:9a:93:be:41:91:03:bb:15: - 80:93:5c:eb:e7:cc:08:6c:3f:3e:b3:4a:fc:ff:4b: - 6c:23:d5:50:82:26:44:19:8e:23:c3:71:ea:19:24: - 47:04:9e:75:bf:c8:a6:00:1f - Exponent: 65537 (0x10001) - Signature Algorithm: md2WithRSAEncryption - 8a:1b:2b:fa:39:c1:74:d7:5e:d8:19:64:a2:58:4a:2d:37:e0: - 33:47:0f:ac:ed:f7:aa:db:1e:e4:8b:06:5c:60:27:ca:45:52: - ce:16:ef:3f:06:64:e7:94:68:7c:60:33:15:11:69:af:9d:62: - 8d:a3:03:54:6b:a6:be:e5:ee:05:18:60:04:bf:42:80:fd:d0: - a8:a8:1e:01:3b:f7:a3:5c:af:a3:dc:e6:26:80:23:3c:b8:44: - 74:f7:0a:ae:49:8b:61:78:cc:24:bf:88:8a:a7:0e:ea:73:19: - 41:fd:4d:03:f0:88:d1:e5:78:8d:a5:2a:4f:f6:97:0d:17:77: - ca:d8 -MD5 Fingerprint=B3:9C:25:B1:C3:2E:32:53:80:15:30:9D:4D:02:77:3E ------BEGIN CERTIFICATE----- -MIICPDCCAaUCEC0b/EoXjaOR6+f/9YtFvgswDQYJKoZIhvcNAQECBQAwXzELMAkG -A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz -cyAyIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 -MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV -BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAyIFB1YmxpYyBQcmlt -YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN -ADCBiQKBgQC2WoujDWojg4BrzzmH9CETMwZMJaLtVRKXxaeAufqDwSCg+i8VDXyh -YGt+eSz6Bg86rvYbb7HS/y8oUl+DfUvEerf4Zh+AVPy3wo5ZShRXRtGak75BkQO7 -FYCTXOvnzAhsPz6zSvz/S2wj1VCCJkQZjiPDceoZJEcEnnW/yKYAHwIDAQABMA0G -CSqGSIb3DQEBAgUAA4GBAIobK/o5wXTXXtgZZKJYSi034DNHD6zt96rbHuSLBlxg -J8pFUs4W7z8GZOeUaHxgMxURaa+dYo2jA1Rrpr7l7gUYYAS/QoD90KioHgE796Nc -r6Pc5iaAIzy4RHT3Cq5Ji2F4zCS/iIqnDupzGUH9TQPwiNHleI2lKk/2lw0Xd8rY ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: - 70:ba:e4:1d:10:d9:29:34:b6:38:ca:7b:03:cc:ba:bf - Signature Algorithm: md2WithRSAEncryption - Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority - Validity - Not Before: Jan 29 00:00:00 1996 GMT - Not After : Aug 1 23:59:59 2028 GMT - Subject: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:c9:5c:59:9e:f2:1b:8a:01:14:b4:10:df:04:40: - db:e3:57:af:6a:45:40:8f:84:0c:0b:d1:33:d9:d9: - 11:cf:ee:02:58:1f:25:f7:2a:a8:44:05:aa:ec:03: - 1f:78:7f:9e:93:b9:9a:00:aa:23:7d:d6:ac:85:a2: - 63:45:c7:72:27:cc:f4:4c:c6:75:71:d2:39:ef:4f: - 42:f0:75:df:0a:90:c6:8e:20:6f:98:0f:f8:ac:23: - 5f:70:29:36:a4:c9:86:e7:b1:9a:20:cb:53:a5:85: - e7:3d:be:7d:9a:fe:24:45:33:dc:76:15:ed:0f:a2: - 71:64:4c:65:2e:81:68:45:a7 - Exponent: 65537 (0x10001) - Signature Algorithm: md2WithRSAEncryption - bb:4c:12:2b:cf:2c:26:00:4f:14:13:dd:a6:fb:fc:0a:11:84: - 8c:f3:28:1c:67:92:2f:7c:b6:c5:fa:df:f0:e8:95:bc:1d:8f: - 6c:2c:a8:51:cc:73:d8:a4:c0:53:f0:4e:d6:26:c0:76:01:57: - 81:92:5e:21:f1:d1:b1:ff:e7:d0:21:58:cd:69:17:e3:44:1c: - 9c:19:44:39:89:5c:dc:9c:00:0f:56:8d:02:99:ed:a2:90:45: - 4c:e4:bb:10:a4:3d:f0:32:03:0e:f1:ce:f8:e8:c9:51:8c:e6: - 62:9f:e6:9f:c0:7d:b7:72:9c:c9:36:3a:6b:9f:4e:a8:ff:64: - 0d:64 -MD5 Fingerprint=10:FC:63:5D:F6:26:3E:0D:F3:25:BE:5F:79:CD:67:67 ------BEGIN CERTIFICATE----- -MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG -A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz -cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 -MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV -BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt -YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN -ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE -BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is -I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G -CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do -lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc -AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: - 4c:c7:ea:aa:98:3e:71:d3:93:10:f8:3d:3a:89:91:92 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network - Validity - Not Before: May 18 00:00:00 1998 GMT - Not After : Aug 1 23:59:59 2028 GMT - Subject: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:aa:d0:ba:be:16:2d:b8:83:d4:ca:d2:0f:bc:76: - 31:ca:94:d8:1d:93:8c:56:02:bc:d9:6f:1a:6f:52: - 36:6e:75:56:0a:55:d3:df:43:87:21:11:65:8a:7e: - 8f:bd:21:de:6b:32:3f:1b:84:34:95:05:9d:41:35: - eb:92:eb:96:dd:aa:59:3f:01:53:6d:99:4f:ed:e5: - e2:2a:5a:90:c1:b9:c4:a6:15:cf:c8:45:eb:a6:5d: - 8e:9c:3e:f0:64:24:76:a5:cd:ab:1a:6f:b6:d8:7b: - 51:61:6e:a6:7f:87:c8:e2:b7:e5:34:dc:41:88:ea: - 09:40:be:73:92:3d:6b:e7:75 - Exponent: 65537 (0x10001) - Signature Algorithm: sha1WithRSAEncryption - a9:4f:c3:0d:c7:67:be:2c:cb:d9:a8:cd:2d:75:e7:7e:15:9e: - 3b:72:eb:7e:eb:5c:2d:09:87:d6:6b:6d:60:7c:e5:ae:c5:90: - 23:0c:5c:4a:d0:af:b1:5d:f3:c7:b6:0a:db:e0:15:93:0d:dd: - 03:bc:c7:76:8a:b5:dd:4f:c3:9b:13:75:b8:01:c0:e6:c9:5b: - 6b:a5:b8:89:dc:ac:a4:dd:72:ed:4e:a1:f7:4f:bc:06:d3:ea: - c8:64:74:7b:c2:95:41:9c:65:73:58:f1:90:9a:3c:6a:b1:98: - c9:c4:87:bc:cf:45:6d:45:e2:6e:22:3f:fe:bc:0f:31:5c:e8: - f2:d9 -MD5 Fingerprint=DB:23:3D:F9:69:FA:4B:B9:95:80:44:73:5E:7D:41:83 ------BEGIN CERTIFICATE----- -MIIDAjCCAmsCEEzH6qqYPnHTkxD4PTqJkZIwDQYJKoZIhvcNAQEFBQAwgcExCzAJ -BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh -c3MgMSBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy -MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp -emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X -DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw -FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMg -UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo -YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5 -MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB -AQUAA4GNADCBiQKBgQCq0Lq+Fi24g9TK0g+8djHKlNgdk4xWArzZbxpvUjZudVYK -VdPfQ4chEWWKfo+9Id5rMj8bhDSVBZ1BNeuS65bdqlk/AVNtmU/t5eIqWpDBucSm -Fc/IReumXY6cPvBkJHalzasab7bYe1FhbqZ/h8jit+U03EGI6glAvnOSPWvndQID -AQABMA0GCSqGSIb3DQEBBQUAA4GBAKlPww3HZ74sy9mozS11534Vnjty637rXC0J -h9ZrbWB85a7FkCMMXErQr7Fd88e2CtvgFZMN3QO8x3aKtd1Pw5sTdbgBwObJW2ul -uIncrKTdcu1OofdPvAbT6shkdHvClUGcZXNY8ZCaPGqxmMnEh7zPRW1F4m4iP/68 -DzFc6PLZ ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: - b9:2f:60:cc:88:9f:a1:7a:46:09:b8:5b:70:6c:8a:af - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=VeriSign, Inc., OU=Class 2 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network - Validity - Not Before: May 18 00:00:00 1998 GMT - Not After : Aug 1 23:59:59 2028 GMT - Subject: C=US, O=VeriSign, Inc., OU=Class 2 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:a7:88:01:21:74:2c:e7:1a:03:f0:98:e1:97:3c: - 0f:21:08:f1:9c:db:97:e9:9a:fc:c2:04:06:13:be: - 5f:52:c8:cc:1e:2c:12:56:2c:b8:01:69:2c:cc:99: - 1f:ad:b0:96:ae:79:04:f2:13:39:c1:7b:98:ba:08: - 2c:e8:c2:84:13:2c:aa:69:e9:09:f4:c7:a9:02:a4: - 42:c2:23:4f:4a:d8:f0:0e:a2:fb:31:6c:c9:e6:6f: - 99:27:07:f5:e6:f4:4c:78:9e:6d:eb:46:86:fa:b9: - 86:c9:54:f2:b2:c4:af:d4:46:1c:5a:c9:15:30:ff: - 0d:6c:f5:2d:0e:6d:ce:7f:77 - Exponent: 65537 (0x10001) - Signature Algorithm: sha1WithRSAEncryption - 72:2e:f9:7f:d1:f1:71:fb:c4:9e:f6:c5:5e:51:8a:40:98:b8: - 68:f8:9b:1c:83:d8:e2:9d:bd:ff:ed:a1:e6:66:ea:2f:09:f4: - ca:d7:ea:a5:2b:95:f6:24:60:86:4d:44:2e:83:a5:c4:2d:a0: - d3:ae:78:69:6f:72:da:6c:ae:08:f0:63:92:37:e6:bb:c4:30: - 17:ad:77:cc:49:35:aa:cf:d8:8f:d1:be:b7:18:96:47:73:6a: - 54:22:34:64:2d:b6:16:9b:59:5b:b4:51:59:3a:b3:0b:14:f4: - 12:df:67:a0:f4:ad:32:64:5e:b1:46:72:27:8c:12:7b:c5:44: - b4:ae -MD5 Fingerprint=2D:BB:E5:25:D3:D1:65:82:3A:B7:0E:FA:E6:EB:E2:E1 ------BEGIN CERTIFICATE----- -MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0Ns -YXNzIDIgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH -MjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y -aXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazAe -Fw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJVUzEX -MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGlj -IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMx -KGMpIDE5OTggVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s -eTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazCBnzANBgkqhkiG9w0B -AQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjxnNuX6Zr8wgQGE75fUsjM -HiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRCwiNPStjw -DqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cC -AwEAATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9ji -nb3/7aHmZuovCfTK1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAX -rXfMSTWqz9iP0b63GJZHc2pUIjRkLbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnIn -jBJ7xUS0rg== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: - 7d:d9:fe:07:cf:a8:1e:b7:10:79:67:fb:a7:89:34:c6 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network - Validity - Not Before: May 18 00:00:00 1998 GMT - Not After : Aug 1 23:59:59 2028 GMT - Subject: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:cc:5e:d1:11:5d:5c:69:d0:ab:d3:b9:6a:4c:99: - 1f:59:98:30:8e:16:85:20:46:6d:47:3f:d4:85:20: - 84:e1:6d:b3:f8:a4:ed:0c:f1:17:0f:3b:f9:a7:f9: - 25:d7:c1:cf:84:63:f2:7c:63:cf:a2:47:f2:c6:5b: - 33:8e:64:40:04:68:c1:80:b9:64:1c:45:77:c7:d8: - 6e:f5:95:29:3c:50:e8:34:d7:78:1f:a8:ba:6d:43: - 91:95:8f:45:57:5e:7e:c5:fb:ca:a4:04:eb:ea:97: - 37:54:30:6f:bb:01:47:32:33:cd:dc:57:9b:64:69: - 61:f8:9b:1d:1c:89:4f:5c:67 - Exponent: 65537 (0x10001) - Signature Algorithm: sha1WithRSAEncryption - 51:4d:cd:be:5c:cb:98:19:9c:15:b2:01:39:78:2e:4d:0f:67: - 70:70:99:c6:10:5a:94:a4:53:4d:54:6d:2b:af:0d:5d:40:8b: - 64:d3:d7:ee:de:56:61:92:5f:a6:c4:1d:10:61:36:d3:2c:27: - 3c:e8:29:09:b9:11:64:74:cc:b5:73:9f:1c:48:a9:bc:61:01: - ee:e2:17:a6:0c:e3:40:08:3b:0e:e7:eb:44:73:2a:9a:f1:69: - 92:ef:71:14:c3:39:ac:71:a7:91:09:6f:e4:71:06:b3:ba:59: - 57:26:79:00:f6:f8:0d:a2:33:30:28:d4:aa:58:a0:9d:9d:69: - 91:fd -MD5 Fingerprint=A2:33:9B:4C:74:78:73:D4:6C:E7:C1:F3:8D:CB:5C:E9 ------BEGIN CERTIFICATE----- -MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJ -BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh -c3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy -MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp -emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X -DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw -FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMg -UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo -YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5 -MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB -AQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCOFoUgRm1HP9SFIIThbbP4 -pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71lSk8UOg0 -13gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwID -AQABMA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSk -U01UbSuvDV1Ai2TT1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7i -F6YM40AIOw7n60RzKprxaZLvcRTDOaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpY -oJ2daZH9 ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: - 32:88:8e:9a:d2:f5:eb:13:47:f8:7f:c4:20:37:25:f8 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=VeriSign, Inc., OU=Class 4 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network - Validity - Not Before: May 18 00:00:00 1998 GMT - Not After : Aug 1 23:59:59 2028 GMT - Subject: C=US, O=VeriSign, Inc., OU=Class 4 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:ba:f0:e4:cf:f9:c4:ae:85:54:b9:07:57:f9:8f: - c5:7f:68:11:f8:c4:17:b0:44:dc:e3:30:73:d5:2a: - 62:2a:b8:d0:cc:1c:ed:28:5b:7e:bd:6a:dc:b3:91: - 24:ca:41:62:3c:fc:02:01:bf:1c:16:31:94:05:97: - 76:6e:a2:ad:bd:61:17:6c:4e:30:86:f0:51:37:2a: - 50:c7:a8:62:81:dc:5b:4a:aa:c1:a0:b4:6e:eb:2f: - e5:57:c5:b1:2b:40:70:db:5a:4d:a1:8e:1f:bd:03: - 1f:d8:03:d4:8f:4c:99:71:bc:e2:82:cc:58:e8:98: - 3a:86:d3:86:38:f3:00:29:1f - Exponent: 65537 (0x10001) - Signature Algorithm: sha1WithRSAEncryption - 85:8c:12:c1:a7:b9:50:15:7a:cb:3e:ac:b8:43:8a:dc:aa:dd: - 14:ba:89:81:7e:01:3c:23:71:21:88:2f:82:dc:63:fa:02:45: - ac:45:59:d7:2a:58:44:5b:b7:9f:81:3b:92:68:3d:e2:37:24: - f5:7b:6c:8f:76:35:96:09:a8:59:9d:b9:ce:23:ab:74:d6:83: - fd:32:73:27:d8:69:3e:43:74:f6:ae:c5:89:9a:e7:53:7c:e9: - 7b:f6:4b:f3:c1:65:83:de:8d:8a:9c:3c:88:8d:39:59:fc:aa: - 3f:22:8d:a1:c1:66:50:81:72:4c:ed:22:64:4f:4f:ca:80:91: - b6:29 -MD5 Fingerprint=26:6D:2C:19:98:B6:70:68:38:50:54:19:EC:90:34:60 ------BEGIN CERTIFICATE----- -MIIDAjCCAmsCEDKIjprS9esTR/h/xCA3JfgwDQYJKoZIhvcNAQEFBQAwgcExCzAJ -BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh -c3MgNCBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy -MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp -emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X -DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw -FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgNCBQdWJsaWMg -UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo -YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5 -MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB -AQUAA4GNADCBiQKBgQC68OTP+cSuhVS5B1f5j8V/aBH4xBewRNzjMHPVKmIquNDM -HO0oW369atyzkSTKQWI8/AIBvxwWMZQFl3Zuoq29YRdsTjCG8FE3KlDHqGKB3FtK -qsGgtG7rL+VXxbErQHDbWk2hjh+9Ax/YA9SPTJlxvOKCzFjomDqG04Y48wApHwID -AQABMA0GCSqGSIb3DQEBBQUAA4GBAIWMEsGnuVAVess+rLhDityq3RS6iYF+ATwj -cSGIL4LcY/oCRaxFWdcqWERbt5+BO5JoPeI3JPV7bI92NZYJqFmduc4jq3TWg/0y -cyfYaT5DdPauxYma51N86Xv2S/PBZYPejYqcPIiNOVn8qj8ijaHBZlCBckztImRP -T8qAkbYp ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 02:00:00:00:00:00:d6:78:b7:94:05 - Signature Algorithm: md5WithRSAEncryption - Issuer: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA - Validity - Not Before: Sep 1 12:00:00 1998 GMT - Not After : Jan 28 12:00:00 2014 GMT - Subject: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:da:0e:e6:99:8d:ce:a3:e3:4f:8a:7e:fb:f1:8b: - 83:25:6b:ea:48:1f:f1:2a:b0:b9:95:11:04:bd:f0: - 63:d1:e2:67:66:cf:1c:dd:cf:1b:48:2b:ee:8d:89: - 8e:9a:af:29:80:65:ab:e9:c7:2d:12:cb:ab:1c:4c: - 70:07:a1:3d:0a:30:cd:15:8d:4f:f8:dd:d4:8c:50: - 15:1c:ef:50:ee:c4:2e:f7:fc:e9:52:f2:91:7d:e0: - 6d:d5:35:30:8e:5e:43:73:f2:41:e9:d5:6a:e3:b2: - 89:3a:56:39:38:6f:06:3c:88:69:5b:2a:4d:c5:a7: - 54:b8:6c:89:cc:9b:f9:3c:ca:e5:fd:89:f5:12:3c: - 92:78:96:d6:dc:74:6e:93:44:61:d1:8d:c7:46:b2: - 75:0e:86:e8:19:8a:d5:6d:6c:d5:78:16:95:a2:e9: - c8:0a:38:eb:f2:24:13:4f:73:54:93:13:85:3a:1b: - bc:1e:34:b5:8b:05:8c:b9:77:8b:b1:db:1f:20:91: - ab:09:53:6e:90:ce:7b:37:74:b9:70:47:91:22:51: - 63:16:79:ae:b1:ae:41:26:08:c8:19:2b:d1:46:aa: - 48:d6:64:2a:d7:83:34:ff:2c:2a:c1:6c:19:43:4a: - 07:85:e7:d3:7c:f6:21:68:ef:ea:f2:52:9f:7f:93: - 90:cf - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - X509v3 Subject Key Identifier: - 60:7B:66:1A:45:0D:97:CA:89:50:2F:7D:04:CD:34:A8:FF:FC:FD:4B - X509v3 Basic Constraints: critical - CA:TRUE - Signature Algorithm: md5WithRSAEncryption - ae:aa:9f:fc:b7:d2:cb:1f:5f:39:29:28:18:9e:34:c9:6c:4f: - 6f:1a:f0:64:a2:70:4a:4f:13:86:9b:60:28:9e:e8:81:49:98: - 7d:0a:bb:e5:b0:9d:3d:36:db:8f:05:51:ff:09:31:2a:1f:dd: - 89:77:9e:0f:2e:6c:95:04:ed:86:cb:b4:00:3f:84:02:4d:80: - 6a:2a:2d:78:0b:ae:6f:2b:a2:83:44:83:1f:cd:50:82:4c:24: - af:bd:f7:a5:b4:c8:5a:0f:f4:e7:47:5e:49:8e:37:96:fe:9a: - 88:05:3a:d9:c0:db:29:87:e6:19:96:47:a7:3a:a6:8c:8b:3c: - 77:fe:46:63:a7:53:da:21:d1:ac:7e:49:a2:4b:e6:c3:67:59: - 2f:b3:8a:0e:bb:2c:bd:a9:aa:42:7c:35:c1:d8:7f:d5:a7:31: - 3a:4e:63:43:39:af:08:b0:61:34:8c:d3:98:a9:43:34:f6:0f: - 87:29:3b:9d:c2:56:58:98:77:c3:f7:1b:ac:f6:9d:f8:3e:aa: - a7:54:45:f0:f5:f9:d5:31:65:fe:6b:58:9c:71:b3:1e:d7:52: - ea:32:17:fc:40:60:1d:c9:79:24:b2:f6:6c:fd:a8:66:0e:82: - dd:98:cb:da:c2:44:4f:2e:a0:7b:f2:f7:6b:2c:76:11:84:46: - 8a:78:a3:e3 -MD5 Fingerprint=AB:BF:EA:E3:6B:29:A6:CC:A6:78:35:99:EF:AD:2B:80 ------BEGIN CERTIFICATE----- -MIIDdTCCAl2gAwIBAgILAgAAAAAA1ni3lAUwDQYJKoZIhvcNAQEEBQAwVzELMAkG -A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv -b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw -MDBaFw0xNDAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i -YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT -aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ -jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp -xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp -1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG -snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ -U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 -9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIABjAdBgNVHQ4EFgQU -YHtmGkUNl8qJUC99BM00qP/8/UswDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B -AQQFAAOCAQEArqqf/LfSyx9fOSkoGJ40yWxPbxrwZKJwSk8ThptgKJ7ogUmYfQq7 -5bCdPTbbjwVR/wkxKh/diXeeDy5slQTthsu0AD+EAk2AaioteAuubyuig0SDH81Q -gkwkr733pbTIWg/050deSY43lv6aiAU62cDbKYfmGZZHpzqmjIs8d/5GY6dT2iHR -rH5Jokvmw2dZL7OKDrssvamqQnw1wdh/1acxOk5jQzmvCLBhNIzTmKlDNPYPhyk7 -ncJWWJh3w/cbrPad+D6qp1RF8PX51TFl/mtYnHGzHtdS6jIX/EBgHcl5JLL2bP2o -Zg6C3ZjL2sJETy6ge/L3ayx2EYRGinij4w== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 1 Policy Validation Authority, CN=http://www.valicert.com//emailAddress=info@valicert.com - Validity - Not Before: Jun 25 22:23:48 1999 GMT - Not After : Jun 25 22:23:48 2019 GMT - Subject: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 1 Policy Validation Authority, CN=http://www.valicert.com//emailAddress=info@valicert.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:d8:59:82:7a:89:b8:96:ba:a6:2f:68:6f:58:2e: - a7:54:1c:06:6e:f4:ea:8d:48:bc:31:94:17:f0:f3: - 4e:bc:b2:b8:35:92:76:b0:d0:a5:a5:01:d7:00:03: - 12:22:19:08:f8:ff:11:23:9b:ce:07:f5:bf:69:1a: - 26:fe:4e:e9:d1:7f:9d:2c:40:1d:59:68:6e:a6:f8: - 58:b0:9d:1a:8f:d3:3f:f1:dc:19:06:81:a8:0e:e0: - 3a:dd:c8:53:45:09:06:e6:0f:70:c3:fa:40:a6:0e: - e2:56:05:0f:18:4d:fc:20:82:d1:73:55:74:8d:76: - 72:a0:1d:9d:1d:c0:dd:3f:71 - Exponent: 65537 (0x10001) - Signature Algorithm: sha1WithRSAEncryption - 50:68:3d:49:f4:2c:1c:06:94:df:95:60:7f:96:7b:17:fe:4f: - 71:ad:64:c8:dd:77:d2:ef:59:55:e8:3f:e8:8e:05:2a:21:f2: - 07:d2:b5:a7:52:fe:9c:b1:b6:e2:5b:77:17:40:ea:72:d6:23: - cb:28:81:32:c3:00:79:18:ec:59:17:89:c9:c6:6a:1e:71:c9: - fd:b7:74:a5:25:45:69:c5:48:ab:19:e1:45:8a:25:6b:19:ee: - e5:bb:12:f5:7f:f7:a6:8d:51:c3:f0:9d:74:b7:a9:3e:a0:a5: - ff:b6:49:03:13:da:22:cc:ed:71:82:2b:99:cf:3a:b7:f5:2d: - 72:c8 -MD5 Fingerprint=65:58:AB:15:AD:57:6C:1E:A8:A7:B5:69:AC:BF:FF:EB ------BEGIN CERTIFICATE----- -MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0 -IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz -BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y -aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG -9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIyMjM0OFoXDTE5MDYy -NTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y -azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs -YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw -Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl -cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9Y -LqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIiGQj4/xEjm84H9b9pGib+ -TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCmDuJWBQ8Y -TfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0 -LBwGlN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLW -I8sogTLDAHkY7FkXicnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPw -nXS3qT6gpf+2SQMT2iLM7XGCK5nPOrf1LXLI ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 2 Policy Validation Authority, CN=http://www.valicert.com//emailAddress=info@valicert.com - Validity - Not Before: Jun 26 00:19:54 1999 GMT - Not After : Jun 26 00:19:54 2019 GMT - Subject: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 2 Policy Validation Authority, CN=http://www.valicert.com//emailAddress=info@valicert.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:ce:3a:71:ca:e5:ab:c8:59:92:55:d7:ab:d8:74: - 0e:f9:ee:d9:f6:55:47:59:65:47:0e:05:55:dc:eb: - 98:36:3c:5c:53:5d:d3:30:cf:38:ec:bd:41:89:ed: - 25:42:09:24:6b:0a:5e:b3:7c:dd:52:2d:4c:e6:d4: - d6:7d:5a:59:a9:65:d4:49:13:2d:24:4d:1c:50:6f: - b5:c1:85:54:3b:fe:71:e4:d3:5c:42:f9:80:e0:91: - 1a:0a:5b:39:36:67:f3:3f:55:7c:1b:3f:b4:5f:64: - 73:34:e3:b4:12:bf:87:64:f8:da:12:ff:37:27:c1: - b3:43:bb:ef:7b:6e:2e:69:f7 - Exponent: 65537 (0x10001) - Signature Algorithm: sha1WithRSAEncryption - 3b:7f:50:6f:6f:50:94:99:49:62:38:38:1f:4b:f8:a5:c8:3e: - a7:82:81:f6:2b:c7:e8:c5:ce:e8:3a:10:82:cb:18:00:8e:4d: - bd:a8:58:7f:a1:79:00:b5:bb:e9:8d:af:41:d9:0f:34:ee:21: - 81:19:a0:32:49:28:f4:c4:8e:56:d5:52:33:fd:50:d5:7e:99: - 6c:03:e4:c9:4c:fc:cb:6c:ab:66:b3:4a:21:8c:e5:b5:0c:32: - 3e:10:b2:cc:6c:a1:dc:9a:98:4c:02:5b:f3:ce:b9:9e:a5:72: - 0e:4a:b7:3f:3c:e6:16:68:f8:be:ed:74:4c:bc:5b:d5:62:1f: - 43:dd -MD5 Fingerprint=A9:23:75:9B:BA:49:36:6E:31:C2:DB:F2:E7:66:BA:87 ------BEGIN CERTIFICATE----- -MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0 -IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz -BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y -aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG -9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMTk1NFoXDTE5MDYy -NjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y -azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs -YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw -Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl -cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOOnHK5avIWZJV16vY -dA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVCCSRrCl6zfN1SLUzm1NZ9 -WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7RfZHM047QS -v4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9v -UJSZSWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTu -IYEZoDJJKPTEjlbVUjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwC -W/POuZ6lcg5Ktz885hZo+L7tdEy8W9ViH0Pd ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 3 Policy Validation Authority, CN=http://www.valicert.com//emailAddress=info@valicert.com - Validity - Not Before: Jun 26 00:22:33 1999 GMT - Not After : Jun 26 00:22:33 2019 GMT - Subject: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 3 Policy Validation Authority, CN=http://www.valicert.com//emailAddress=info@valicert.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:e3:98:51:96:1c:e8:d5:b1:06:81:6a:57:c3:72: - 75:93:ab:cf:9e:a6:fc:f3:16:52:d6:2d:4d:9f:35: - 44:a8:2e:04:4d:07:49:8a:38:29:f5:77:37:e7:b7: - ab:5d:df:36:71:14:99:8f:dc:c2:92:f1:e7:60:92: - 97:ec:d8:48:dc:bf:c1:02:20:c6:24:a4:28:4c:30: - 5a:76:6d:b1:5c:f3:dd:de:9e:10:71:a1:88:c7:5b: - 9b:41:6d:ca:b0:b8:8e:15:ee:ad:33:2b:cf:47:04: - 5c:75:71:0a:98:24:98:29:a7:49:59:a5:dd:f8:b7: - 43:62:61:f3:d3:e2:d0:55:3f - Exponent: 65537 (0x10001) - Signature Algorithm: sha1WithRSAEncryption - 56:bb:02:58:84:67:08:2c:df:1f:db:7b:49:33:f5:d3:67:9d: - f4:b4:0a:10:b3:c9:c5:2c:e2:92:6a:71:78:27:f2:70:83:42: - d3:3e:cf:a9:54:f4:f1:d8:92:16:8c:d1:04:cb:4b:ab:c9:9f: - 45:ae:3c:8a:a9:b0:71:33:5d:c8:c5:57:df:af:a8:35:b3:7f: - 89:87:e9:e8:25:92:b8:7f:85:7a:ae:d6:bc:1e:37:58:2a:67: - c9:91:cf:2a:81:3e:ed:c6:39:df:c0:3e:19:9c:19:cc:13:4d: - 82:41:b5:8c:de:e0:3d:60:08:20:0f:45:7e:6b:a2:7f:a3:8c: - 15:ee -MD5 Fingerprint=A2:6F:53:B7:EE:40:DB:4A:68:E7:FA:18:D9:10:4B:72 ------BEGIN CERTIFICATE----- -MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0 -IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz -BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y -aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG -9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMjIzM1oXDTE5MDYy -NjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y -azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs -YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw -Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl -cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjmFGWHOjVsQaBalfD -cnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td3zZxFJmP3MKS8edgkpfs -2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89HBFx1cQqY -JJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliE -Zwgs3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJ -n0WuPIqpsHEzXcjFV9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/A -PhmcGcwTTYJBtYze4D1gCCAPRX5ron+jjBXu ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: - 8b:5b:75:56:84:54:85:0b:00:cf:af:38:48:ce:b1:a4 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 1 Public Primary Certification Authority - G3 - Validity - Not Before: Oct 1 00:00:00 1999 GMT - Not After : Jul 16 23:59:59 2036 GMT - Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 1 Public Primary Certification Authority - G3 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:dd:84:d4:b9:b4:f9:a7:d8:f3:04:78:9c:de:3d: - dc:6c:13:16:d9:7a:dd:24:51:66:c0:c7:26:59:0d: - ac:06:08:c2:94:d1:33:1f:f0:83:35:1f:6e:1b:c8: - de:aa:6e:15:4e:54:27:ef:c4:6d:1a:ec:0b:e3:0e: - f0:44:a5:57:c7:40:58:1e:a3:47:1f:71:ec:60:f6: - 6d:94:c8:18:39:ed:fe:42:18:56:df:e4:4c:49:10: - 78:4e:01:76:35:63:12:36:dd:66:bc:01:04:36:a3: - 55:68:d5:a2:36:09:ac:ab:21:26:54:06:ad:3f:ca: - 14:e0:ac:ca:ad:06:1d:95:e2:f8:9d:f1:e0:60:ff: - c2:7f:75:2b:4c:cc:da:fe:87:99:21:ea:ba:fe:3e: - 54:d7:d2:59:78:db:3c:6e:cf:a0:13:00:1a:b8:27: - a1:e4:be:67:96:ca:a0:c5:b3:9c:dd:c9:75:9e:eb: - 30:9a:5f:a3:cd:d9:ae:78:19:3f:23:e9:5c:db:29: - bd:ad:55:c8:1b:54:8c:63:f6:e8:a6:ea:c7:37:12: - 5c:a3:29:1e:02:d9:db:1f:3b:b4:d7:0f:56:47:81: - 15:04:4a:af:83:27:d1:c5:58:88:c1:dd:f6:aa:a7: - a3:18:da:68:aa:6d:11:51:e1:bf:65:6b:9f:96:76: - d1:3d - Exponent: 65537 (0x10001) - Signature Algorithm: sha1WithRSAEncryption - ab:66:8d:d7:b3:ba:c7:9a:b6:e6:55:d0:05:f1:9f:31:8d:5a: - aa:d9:aa:46:26:0f:71:ed:a5:ad:53:56:62:01:47:2a:44:e9: - fe:3f:74:0b:13:9b:b9:f4:4d:1b:b2:d1:5f:b2:b6:d2:88:5c: - b3:9f:cd:cb:d4:a7:d9:60:95:84:3a:f8:c1:37:1d:61:ca:e7: - b0:c5:e5:91:da:54:a6:ac:31:81:ae:97:de:cd:08:ac:b8:c0: - 97:80:7f:6e:72:a4:e7:69:13:95:65:1f:c4:93:3c:fd:79:8f: - 04:d4:3e:4f:ea:f7:9e:ce:cd:67:7c:4f:65:02:ff:91:85:54: - 73:c7:ff:36:f7:86:2d:ec:d0:5e:4f:ff:11:9f:72:06:d6:b8: - 1a:f1:4c:0d:26:65:e2:44:80:1e:c7:9f:e3:dd:e8:0a:da:ec: - a5:20:80:69:68:a1:4f:7e:e1:6b:cf:07:41:fa:83:8e:bc:38: - dd:b0:2e:11:b1:6b:b2:42:cc:9a:bc:f9:48:22:79:4a:19:0f: - b2:1c:3e:20:74:d9:6a:c3:be:f2:28:78:13:56:79:4f:6d:50: - ea:1b:b0:b5:57:b1:37:66:58:23:f3:dc:0f:df:0a:87:c4:ef: - 86:05:d5:38:14:60:99:a3:4b:de:06:96:71:2c:f2:db:b6:1f: - a4:ef:3f:ee -MD5 Fingerprint=B1:47:BC:18:57:D1:18:A0:78:2D:EC:71:E8:2A:95:73 ------BEGIN CERTIFICATE----- -MIIEGjCCAwICEQCLW3VWhFSFCwDPrzhIzrGkMA0GCSqGSIb3DQEBBQUAMIHKMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl -cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu -LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT -aWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp -dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD -VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT -aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ -bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu -IENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg -LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN2E1Lm0+afY8wR4 -nN493GwTFtl63SRRZsDHJlkNrAYIwpTRMx/wgzUfbhvI3qpuFU5UJ+/EbRrsC+MO -8ESlV8dAWB6jRx9x7GD2bZTIGDnt/kIYVt/kTEkQeE4BdjVjEjbdZrwBBDajVWjV -ojYJrKshJlQGrT/KFOCsyq0GHZXi+J3x4GD/wn91K0zM2v6HmSHquv4+VNfSWXjb -PG7PoBMAGrgnoeS+Z5bKoMWznN3JdZ7rMJpfo83ZrngZPyPpXNspva1VyBtUjGP2 -6KbqxzcSXKMpHgLZ2x87tNcPVkeBFQRKr4Mn0cVYiMHd9qqnoxjaaKptEVHhv2Vr -n5Z20T0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAq2aN17O6x5q25lXQBfGfMY1a -qtmqRiYPce2lrVNWYgFHKkTp/j90CxObufRNG7LRX7K20ohcs5/Ny9Sn2WCVhDr4 -wTcdYcrnsMXlkdpUpqwxga6X3s0IrLjAl4B/bnKk52kTlWUfxJM8/XmPBNQ+T+r3 -ns7NZ3xPZQL/kYVUc8f/NveGLezQXk//EZ9yBta4GvFMDSZl4kSAHsef493oCtrs -pSCAaWihT37ha88HQfqDjrw43bAuEbFrskLMmrz5SCJ5ShkPshw+IHTZasO+8ih4 -E1Z5T21Q6huwtVexN2ZYI/PcD98Kh8TvhgXVOBRgmaNL3gaWcSzy27YfpO8/7g== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: - 61:70:cb:49:8c:5f:98:45:29:e7:b0:a6:d9:50:5b:7a - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 2 Public Primary Certification Authority - G3 - Validity - Not Before: Oct 1 00:00:00 1999 GMT - Not After : Jul 16 23:59:59 2036 GMT - Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 2 Public Primary Certification Authority - G3 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:af:0a:0d:c2:d5:2c:db:67:b9:2d:e5:94:27:dd: - a5:be:e0:b0:4d:8f:b3:61:56:3c:d6:7c:c3:f4:cd: - 3e:86:cb:a2:88:e2:e1:d8:a4:69:c5:b5:e2:bf:c1: - a6:47:50:5e:46:39:8b:d5:96:ba:b5:6f:14:bf:10: - ce:27:13:9e:05:47:9b:31:7a:13:d8:1f:d9:d3:02: - 37:8b:ad:2c:47:f0:8e:81:06:a7:0d:30:0c:eb:f7: - 3c:0f:20:1d:dc:72:46:ee:a5:02:c8:5b:c3:c9:56: - 69:4c:c5:18:c1:91:7b:0b:d5:13:00:9b:bc:ef:c3: - 48:3e:46:60:20:85:2a:d5:90:b6:cd:8b:a0:cc:32: - dd:b7:fd:40:55:b2:50:1c:56:ae:cc:8d:77:4d:c7: - 20:4d:a7:31:76:ef:68:92:8a:90:1e:08:81:56:b2: - ad:69:a3:52:d0:cb:1c:c4:23:3d:1f:99:fe:4c:e8: - 16:63:8e:c6:08:8e:f6:31:f6:d2:fa:e5:76:dd:b5: - 1c:92:a3:49:cd:cd:01:cd:68:cd:a9:69:ba:a3:eb: - 1d:0d:9c:a4:20:a6:c1:a0:c5:d1:46:4c:17:6d:d2: - ac:66:3f:96:8c:e0:84:d4:36:ff:22:59:c5:f9:11: - 60:a8:5f:04:7d:f2:1a:f6:25:42:61:0f:c4:4a:b8: - 3e:89 - Exponent: 65537 (0x10001) - Signature Algorithm: sha1WithRSAEncryption - 34:26:15:3c:c0:8d:4d:43:49:1d:bd:e9:21:92:d7:66:9c:b7: - de:c5:b8:d0:e4:5d:5f:76:22:c0:26:f9:84:3a:3a:f9:8c:b5: - fb:ec:60:f1:e8:ce:04:b0:c8:dd:a7:03:8f:30:f3:98:df:a4: - e6:a4:31:df:d3:1c:0b:46:dc:72:20:3f:ae:ee:05:3c:a4:33: - 3f:0b:39:ac:70:78:73:4b:99:2b:df:30:c2:54:b0:a8:3b:55: - a1:fe:16:28:cd:42:bd:74:6e:80:db:27:44:a7:ce:44:5d:d4: - 1b:90:98:0d:1e:42:94:b1:00:2c:04:d0:74:a3:02:05:22:63: - 63:cd:83:b5:fb:c1:6d:62:6b:69:75:fd:5d:70:41:b9:f5:bf: - 7c:df:be:c1:32:73:22:21:8b:58:81:7b:15:91:7a:ba:e3:64: - 48:b0:7f:fb:36:25:da:95:d0:f1:24:14:17:dd:18:80:6b:46: - 23:39:54:f5:8e:62:09:04:1d:94:90:a6:9b:e6:25:e2:42:45: - aa:b8:90:ad:be:08:8f:a9:0b:42:18:94:cf:72:39:e1:b1:43: - e0:28:cf:b7:e7:5a:6c:13:6b:49:b3:ff:e3:18:7c:89:8b:33: - 5d:ac:33:d7:a7:f9:da:3a:55:c9:58:10:f9:aa:ef:5a:b6:cf: - 4b:4b:df:2a -MD5 Fingerprint=F8:BE:C4:63:22:C9:A8:46:74:8B:B8:1D:1E:4A:2B:F6 ------BEGIN CERTIFICATE----- -MIIEGTCCAwECEGFwy0mMX5hFKeewptlQW3owDQYJKoZIhvcNAQEFBQAwgcoxCzAJ -BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVy -aVNpZ24gVHJ1c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24s -IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNp -Z24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 -eSAtIEczMB4XDTk5MTAwMTAwMDAwMFoXDTM2MDcxNjIzNTk1OVowgcoxCzAJBgNV -BAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNp -Z24gVHJ1c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIElu -Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24g -Q2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt -IEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArwoNwtUs22e5LeWU -J92lvuCwTY+zYVY81nzD9M0+hsuiiOLh2KRpxbXiv8GmR1BeRjmL1Za6tW8UvxDO -JxOeBUebMXoT2B/Z0wI3i60sR/COgQanDTAM6/c8DyAd3HJG7qUCyFvDyVZpTMUY -wZF7C9UTAJu878NIPkZgIIUq1ZC2zYugzDLdt/1AVbJQHFauzI13TccgTacxdu9o -koqQHgiBVrKtaaNS0MscxCM9H5n+TOgWY47GCI72MfbS+uV23bUckqNJzc0BzWjN -qWm6o+sdDZykIKbBoMXRRkwXbdKsZj+WjOCE1Db/IlnF+RFgqF8EffIa9iVCYQ/E -Srg+iQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0JhU8wI1NQ0kdvekhktdmnLfe -xbjQ5F1fdiLAJvmEOjr5jLX77GDx6M4EsMjdpwOPMPOY36TmpDHf0xwLRtxyID+u -7gU8pDM/CzmscHhzS5kr3zDCVLCoO1Wh/hYozUK9dG6A2ydEp85EXdQbkJgNHkKU -sQAsBNB0owIFImNjzYO1+8FtYmtpdf1dcEG59b98377BMnMiIYtYgXsVkXq642RI -sH/7NiXaldDxJBQX3RiAa0YjOVT1jmIJBB2UkKab5iXiQkWquJCtvgiPqQtCGJTP -cjnhsUPgKM+351psE2tJs//jGHyJizNdrDPXp/naOlXJWBD5qu9ats9LS98q ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: - 9b:7e:06:49:a3:3e:62:b9:d5:ee:90:48:71:29:ef:57 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G3 - Validity - Not Before: Oct 1 00:00:00 1999 GMT - Not After : Jul 16 23:59:59 2036 GMT - Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G3 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:cb:ba:9c:52:fc:78:1f:1a:1e:6f:1b:37:73:bd: - f8:c9:6b:94:12:30:4f:f0:36:47:f5:d0:91:0a:f5: - 17:c8:a5:61:c1:16:40:4d:fb:8a:61:90:e5:76:20: - c1:11:06:7d:ab:2c:6e:a6:f5:11:41:8e:fa:2d:ad: - 2a:61:59:a4:67:26:4c:d0:e8:bc:52:5b:70:20:04: - 58:d1:7a:c9:a4:69:bc:83:17:64:ad:05:8b:bc:d0: - 58:ce:8d:8c:f5:eb:f0:42:49:0b:9d:97:27:67:32: - 6e:e1:ae:93:15:1c:70:bc:20:4d:2f:18:de:92:88: - e8:6c:85:57:11:1a:e9:7e:e3:26:11:54:a2:45:96: - 55:83:ca:30:89:e8:dc:d8:a3:ed:2a:80:3f:7f:79: - 65:57:3e:15:20:66:08:2f:95:93:bf:aa:47:2f:a8: - 46:97:f0:12:e2:fe:c2:0a:2b:51:e6:76:e6:b7:46: - b7:e2:0d:a6:cc:a8:c3:4c:59:55:89:e6:e8:53:5c: - 1c:ea:9d:f0:62:16:0b:a7:c9:5f:0c:f0:de:c2:76: - ce:af:f7:6a:f2:fa:41:a6:a2:33:14:c9:e5:7a:63: - d3:9e:62:37:d5:85:65:9e:0e:e6:53:24:74:1b:5e: - 1d:12:53:5b:c7:2c:e7:83:49:3b:15:ae:8a:68:b9: - 57:97 - Exponent: 65537 (0x10001) - Signature Algorithm: sha1WithRSAEncryption - 11:14:96:c1:ab:92:08:f7:3f:2f:c9:b2:fe:e4:5a:9f:64:de: - db:21:4f:86:99:34:76:36:57:dd:d0:15:2f:c5:ad:7f:15:1f: - 37:62:73:3e:d4:e7:5f:ce:17:03:db:35:fa:2b:db:ae:60:09: - 5f:1e:5f:8f:6e:bb:0b:3d:ea:5a:13:1e:0c:60:6f:b5:c0:b5: - 23:22:2e:07:0b:cb:a9:74:cb:47:bb:1d:c1:d7:a5:6b:cc:2f: - d2:42:fd:49:dd:a7:89:cf:53:ba:da:00:5a:28:bf:82:df:f8: - ba:13:1d:50:86:82:fd:8e:30:8f:29:46:b0:1e:3d:35:da:38: - 62:16:18:4a:ad:e6:b6:51:6c:de:af:62:eb:01:d0:1e:24:fe: - 7a:8f:12:1a:12:68:b8:fb:66:99:14:14:45:5c:ae:e7:ae:69: - 17:81:2b:5a:37:c9:5e:2a:f4:c6:e2:a1:5c:54:9b:a6:54:00: - cf:f0:f1:c1:c7:98:30:1a:3b:36:16:db:a3:6e:ea:fd:ad:b2: - c2:da:ef:02:47:13:8a:c0:f1:b3:31:ad:4f:1c:e1:4f:9c:af: - 0f:0c:9d:f7:78:0d:d8:f4:35:56:80:da:b7:6d:17:8f:9d:1e: - 81:64:e1:fe:c5:45:ba:ad:6b:b9:0a:7a:4e:4f:4b:84:ee:4b: - f1:7d:dd:11 -MD5 Fingerprint=CD:68:B6:A7:C7:C4:CE:75:E0:1D:4F:57:44:61:92:09 ------BEGIN CERTIFICATE----- -MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl -cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu -LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT -aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp -dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD -VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT -aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ -bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu -IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg -LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b -N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t -KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu -kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm -CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ -Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu -imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te -2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe -DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC -/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p -F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt -TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: - ec:a0:a7:8b:6e:75:6a:01:cf:c4:7c:cc:2f:94:5e:d7 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 4 Public Primary Certification Authority - G3 - Validity - Not Before: Oct 1 00:00:00 1999 GMT - Not After : Jul 16 23:59:59 2036 GMT - Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 4 Public Primary Certification Authority - G3 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:ad:cb:a5:11:69:c6:59:ab:f1:8f:b5:19:0f:56: - ce:cc:b5:1f:20:e4:9e:26:25:4b:e0:73:65:89:59: - de:d0:83:e4:f5:0f:b5:bb:ad:f1:7c:e8:21:fc:e4: - e8:0c:ee:7c:45:22:19:76:92:b4:13:b7:20:5b:09: - fa:61:ae:a8:f2:a5:8d:85:c2:2a:d6:de:66:36:d2: - 9b:02:f4:a8:92:60:7c:9c:69:b4:8f:24:1e:d0:86: - 52:f6:32:9c:41:58:1e:22:bd:cd:45:62:95:08:6e: - d0:66:dd:53:a2:cc:f0:10:dc:54:73:8b:04:a1:46: - 33:33:5c:17:40:b9:9e:4d:d3:f3:be:55:83:e8:b1: - 89:8e:5a:7c:9a:96:22:90:3b:88:25:f2:d2:53:88: - 02:0c:0b:78:f2:e6:37:17:4b:30:46:07:e4:80:6d: - a6:d8:96:2e:e8:2c:f8:11:b3:38:0d:66:a6:9b:ea: - c9:23:5b:db:8e:e2:f3:13:8e:1a:59:2d:aa:02:f0: - ec:a4:87:66:dc:c1:3f:f5:d8:b9:f4:ec:82:c6:d2: - 3d:95:1d:e5:c0:4f:84:c9:d9:a3:44:28:06:6a:d7: - 45:ac:f0:6b:6a:ef:4e:5f:f8:11:82:1e:38:63:34: - 66:50:d4:3e:93:73:fa:30:c3:66:ad:ff:93:2d:97: - ef:03 - Exponent: 65537 (0x10001) - Signature Algorithm: sha1WithRSAEncryption - 8f:fa:25:6b:4f:5b:e4:a4:4e:27:55:ab:22:15:59:3c:ca:b5: - 0a:d4:4a:db:ab:dd:a1:5f:53:c5:a0:57:39:c2:ce:47:2b:be: - 3a:c8:56:bf:c2:d9:27:10:3a:b1:05:3c:c0:77:31:bb:3a:d3: - 05:7b:6d:9a:1c:30:8c:80:cb:93:93:2a:83:ab:05:51:82:02: - 00:11:67:6b:f3:88:61:47:5f:03:93:d5:5b:0d:e0:f1:d4:a1: - 32:35:85:b2:3a:db:b0:82:ab:d1:cb:0a:bc:4f:8c:5b:c5:4b: - 00:3b:1f:2a:82:a6:7e:36:85:dc:7e:3c:67:00:b5:e4:3b:52: - e0:a8:eb:5d:15:f9:c6:6d:f0:ad:1d:0e:85:b7:a9:9a:73:14: - 5a:5b:8f:41:28:c0:d5:e8:2d:4d:a4:5e:cd:aa:d9:ed:ce:dc: - d8:d5:3c:42:1d:17:c1:12:5d:45:38:c3:38:f3:fc:85:2e:83: - 46:48:b2:d7:20:5f:92:36:8f:e7:79:0f:98:5e:99:e8:f0:d0: - a4:bb:f5:53:bd:2a:ce:59:b0:af:6e:7f:6c:bb:d2:1e:00:b0: - 21:ed:f8:41:62:82:b9:d8:b2:c4:bb:46:50:f3:31:c5:8f:01: - a8:74:eb:f5:78:27:da:e7:f7:66:43:f3:9e:83:3e:20:aa:c3: - 35:60:91:ce -MD5 Fingerprint=DB:C8:F2:27:2E:B1:EA:6A:29:23:5D:FE:56:3E:33:DF ------BEGIN CERTIFICATE----- -MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl -cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu -LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT -aWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp -dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD -VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT -aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ -bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu -IENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg -LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK3LpRFpxlmr8Y+1 -GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaStBO3IFsJ -+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0Gbd -U6LM8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLm -NxdLMEYH5IBtptiWLugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XY -ufTsgsbSPZUd5cBPhMnZo0QoBmrXRazwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ -ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAj/ola09b5KROJ1WrIhVZPMq1 -CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXttmhwwjIDLk5Mq -g6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm -fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c -2NU8Qh0XwRJdRTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/ -bLvSHgCwIe34QWKCudiyxLtGUPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 927650371 (0x374ad243) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority - Validity - Not Before: May 25 16:09:40 1999 GMT - Not After : May 25 16:39:40 2019 GMT - Subject: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:cd:28:83:34:54:1b:89:f3:0f:af:37:91:31:ff: - af:31:60:c9:a8:e8:b2:10:68:ed:9f:e7:93:36:f1: - 0a:64:bb:47:f5:04:17:3f:23:47:4d:c5:27:19:81: - 26:0c:54:72:0d:88:2d:d9:1f:9a:12:9f:bc:b3:71: - d3:80:19:3f:47:66:7b:8c:35:28:d2:b9:0a:df:24: - da:9c:d6:50:79:81:7a:5a:d3:37:f7:c2:4a:d8:29: - 92:26:64:d1:e4:98:6c:3a:00:8a:f5:34:9b:65:f8: - ed:e3:10:ff:fd:b8:49:58:dc:a0:de:82:39:6b:81: - b1:16:19:61:b9:54:b6:e6:43 - Exponent: 3 (0x3) - X509v3 extensions: - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 CRL Distribution Points: - DirName:/C=US/O=Entrust.net/OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/OU=(c) 1999 Entrust.net Limited/CN=Entrust.net Secure Server Certification Authority/CN=CRL1 - URI:http://www.entrust.net/CRL/net1.crl - - X509v3 Private Key Usage Period: - Not Before: May 25 16:09:40 1999 GMT, Not After: May 25 16:09:40 2019 GMT - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Authority Key Identifier: - keyid:F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A - - X509v3 Subject Key Identifier: - F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A - X509v3 Basic Constraints: - CA:TRUE - 1.2.840.113533.7.65.0: - 0 -..V4.0.... - Signature Algorithm: sha1WithRSAEncryption - 90:dc:30:02:fa:64:74:c2:a7:0a:a5:7c:21:8d:34:17:a8:fb: - 47:0e:ff:25:7c:8d:13:0a:fb:e4:98:b5:ef:8c:f8:c5:10:0d: - f7:92:be:f1:c3:d5:d5:95:6a:04:bb:2c:ce:26:36:65:c8:31: - c6:e7:ee:3f:e3:57:75:84:7a:11:ef:46:4f:18:f4:d3:98:bb: - a8:87:32:ba:72:f6:3c:e2:3d:9f:d7:1d:d9:c3:60:43:8c:58: - 0e:22:96:2f:62:a3:2c:1f:ba:ad:05:ef:ab:32:78:87:a0:54: - 73:19:b5:5c:05:f9:52:3e:6d:2d:45:0b:f7:0a:93:ea:ed:06: - f9:b2 -MD5 Fingerprint=DF:F2:80:73:CC:F1:E6:61:73:FC:F5:42:E9:C5:7C:EE ------BEGIN CERTIFICATE----- -MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC -VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u -ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc -KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u -ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1 -MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE -ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j -b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF -bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg -U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA -A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/ -I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3 -wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC -AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb -oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5 -BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p -dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk -MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp -b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu -dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0 -MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi -E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa -MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI -hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN -95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd -2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 939758062 (0x380391ee) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=US, O=Entrust.net, OU=www.entrust.net/Client_CA_Info/CPS incorp. by ref. limits liab., OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Client Certification Authority - Validity - Not Before: Oct 12 19:24:30 1999 GMT - Not After : Oct 12 19:54:30 2019 GMT - Subject: C=US, O=Entrust.net, OU=www.entrust.net/Client_CA_Info/CPS incorp. by ref. limits liab., OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Client Certification Authority - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:c8:3a:99:5e:31:17:df:ac:27:6f:90:7b:e4:19: - ff:45:a3:34:c2:db:c1:a8:4f:f0:68:ea:84:fd:9f: - 75:79:cf:c1:8a:51:94:af:c7:57:03:47:64:9e:ad: - 82:1b:5a:da:7f:37:78:47:bb:37:98:12:96:ce:c6: - 13:7d:ef:d2:0c:30:51:a9:39:9e:55:f8:fb:b1:e7: - 30:de:83:b2:ba:3e:f1:d5:89:3b:3b:85:ba:aa:74: - 2c:fe:3f:31:6e:af:91:95:6e:06:d4:07:4d:4b:2c: - 56:47:18:04:52:da:0e:10:93:bf:63:90:9b:e1:df: - 8c:e6:02:a4:e6:4f:5e:f7:8b - Exponent: 3 (0x3) - X509v3 extensions: - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 CRL Distribution Points: - DirName:/C=US/O=Entrust.net/OU=www.entrust.net/Client_CA_Info/CPS incorp. by ref. limits liab./OU=(c) 1999 Entrust.net Limited/CN=Entrust.net Client Certification Authority/CN=CRL1 - URI:http://www.entrust.net/CRL/Client1.crl - - X509v3 Private Key Usage Period: - Not Before: Oct 12 19:24:30 1999 GMT, Not After: Oct 12 19:24:30 2019 GMT - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Authority Key Identifier: - keyid:C4:FB:9C:29:7B:97:CD:4C:96:FC:EE:5B:B3:CA:99:74:8B:95:EA:4C - - X509v3 Subject Key Identifier: - C4:FB:9C:29:7B:97:CD:4C:96:FC:EE:5B:B3:CA:99:74:8B:95:EA:4C - X509v3 Basic Constraints: - CA:TRUE - 1.2.840.113533.7.65.0: - 0 -..V4.0.... - Signature Algorithm: md5WithRSAEncryption - 3f:ae:8a:f1:d7:66:03:05:9e:3e:fa:ea:1c:46:bb:a4:5b:8f: - 78:9a:12:48:99:f9:f4:35:de:0c:36:07:02:6b:10:3a:89:14: - 81:9c:31:a6:7c:b2:41:b2:6a:e7:07:01:a1:4b:f9:9f:25:3b: - 96:ca:99:c3:3e:a1:51:1c:f3:c3:2e:44:f7:b0:67:46:aa:92: - e5:3b:da:1c:19:14:38:30:d5:e2:a2:31:25:2e:f1:ec:45:38: - ed:f8:06:58:03:73:62:b0:10:31:8f:40:bf:64:e0:5c:3e:c5: - 4f:1f:da:12:43:ff:4c:e6:06:26:a8:9b:19:aa:44:3c:76:b2: - 5c:ec -MD5 Fingerprint=0C:41:2F:13:5B:A0:54:F5:96:66:2D:7E:CD:0E:03:F4 ------BEGIN CERTIFICATE----- -MIIE7TCCBFagAwIBAgIEOAOR7jANBgkqhkiG9w0BAQQFADCByTELMAkGA1UEBhMC -VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MUgwRgYDVQQLFD93d3cuZW50cnVzdC5u -ZXQvQ2xpZW50X0NBX0luZm8vQ1BTIGluY29ycC4gYnkgcmVmLiBsaW1pdHMgbGlh -Yi4xJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV -BAMTKkVudHJ1c3QubmV0IENsaWVudCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe -Fw05OTEwMTIxOTI0MzBaFw0xOTEwMTIxOTU0MzBaMIHJMQswCQYDVQQGEwJVUzEU -MBIGA1UEChMLRW50cnVzdC5uZXQxSDBGBgNVBAsUP3d3dy5lbnRydXN0Lm5ldC9D -bGllbnRfQ0FfSW5mby9DUFMgaW5jb3JwLiBieSByZWYuIGxpbWl0cyBsaWFiLjEl -MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMq -RW50cnVzdC5uZXQgQ2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0G -CSqGSIb3DQEBAQUAA4GLADCBhwKBgQDIOpleMRffrCdvkHvkGf9FozTC28GoT/Bo -6oT9n3V5z8GKUZSvx1cDR2SerYIbWtp/N3hHuzeYEpbOxhN979IMMFGpOZ5V+Pux -5zDeg7K6PvHViTs7hbqqdCz+PzFur5GVbgbUB01LLFZHGARS2g4Qk79jkJvh34zm -AqTmT173iwIBA6OCAeAwggHcMBEGCWCGSAGG+EIBAQQEAwIABzCCASIGA1UdHwSC -ARkwggEVMIHkoIHhoIHepIHbMIHYMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50 -cnVzdC5uZXQxSDBGBgNVBAsUP3d3dy5lbnRydXN0Lm5ldC9DbGllbnRfQ0FfSW5m -by9DUFMgaW5jb3JwLiBieSByZWYuIGxpbWl0cyBsaWFiLjElMCMGA1UECxMcKGMp -IDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5uZXQg -Q2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCyg -KqAohiZodHRwOi8vd3d3LmVudHJ1c3QubmV0L0NSTC9DbGllbnQxLmNybDArBgNV -HRAEJDAigA8xOTk5MTAxMjE5MjQzMFqBDzIwMTkxMDEyMTkyNDMwWjALBgNVHQ8E -BAMCAQYwHwYDVR0jBBgwFoAUxPucKXuXzUyW/O5bs8qZdIuV6kwwHQYDVR0OBBYE -FMT7nCl7l81MlvzuW7PKmXSLlepMMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA -BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEEBQADgYEAP66K8ddmAwWePvrqHEa7 -pFuPeJoSSJn59DXeDDYHAmsQOokUgZwxpnyyQbJq5wcBoUv5nyU7lsqZwz6hURzz -wy5E97BnRqqS5TvaHBkUODDV4qIxJS7x7EU47fgGWANzYrAQMY9Av2TgXD7FTx/a -EkP/TOYGJqibGapEPHayXOw= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 946059622 (0x3863b966) - Signature Algorithm: sha1WithRSAEncryption - Issuer: O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048) - Validity - Not Before: Dec 24 17:50:51 1999 GMT - Not After : Dec 24 18:20:51 2019 GMT - Subject: O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048) - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:ad:4d:4b:a9:12:86:b2:ea:a3:20:07:15:16:64: - 2a:2b:4b:d1:bf:0b:4a:4d:8e:ed:80:76:a5:67:b7: - 78:40:c0:73:42:c8:68:c0:db:53:2b:dd:5e:b8:76: - 98:35:93:8b:1a:9d:7c:13:3a:0e:1f:5b:b7:1e:cf: - e5:24:14:1e:b1:81:a9:8d:7d:b8:cc:6b:4b:03:f1: - 02:0c:dc:ab:a5:40:24:00:7f:74:94:a1:9d:08:29: - b3:88:0b:f5:87:77:9d:55:cd:e4:c3:7e:d7:6a:64: - ab:85:14:86:95:5b:97:32:50:6f:3d:c8:ba:66:0c: - e3:fc:bd:b8:49:c1:76:89:49:19:fd:c0:a8:bd:89: - a3:67:2f:c6:9f:bc:71:19:60:b8:2d:e9:2c:c9:90: - 76:66:7b:94:e2:af:78:d6:65:53:5d:3c:d6:9c:b2: - cf:29:03:f9:2f:a4:50:b2:d4:48:ce:05:32:55:8a: - fd:b2:64:4c:0e:e4:98:07:75:db:7f:df:b9:08:55: - 60:85:30:29:f9:7b:48:a4:69:86:e3:35:3f:1e:86: - 5d:7a:7a:15:bd:ef:00:8e:15:22:54:17:00:90:26: - 93:bc:0e:49:68:91:bf:f8:47:d3:9d:95:42:c1:0e: - 4d:df:6f:26:cf:c3:18:21:62:66:43:70:d6:d5:c0: - 07:e1 - Exponent: 65537 (0x10001) - X509v3 extensions: - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 Authority Key Identifier: - keyid:55:E4:81:D1:11:80:BE:D8:89:B9:08:A3:31:F9:A1:24:09:16:B9:70 - - X509v3 Subject Key Identifier: - 55:E4:81:D1:11:80:BE:D8:89:B9:08:A3:31:F9:A1:24:09:16:B9:70 - 1.2.840.113533.7.65.0: - 0...V5.0:4.0.... - Signature Algorithm: sha1WithRSAEncryption - 59:47:ac:21:84:8a:17:c9:9c:89:53:1e:ba:80:85:1a:c6:3c: - 4e:3e:b1:9c:b6:7c:c6:92:5d:18:64:02:e3:d3:06:08:11:61: - 7c:63:e3:2b:9d:31:03:70:76:d2:a3:28:a0:f4:bb:9a:63:73: - ed:6d:e5:2a:db:ed:14:a9:2b:c6:36:11:d0:2b:eb:07:8b:a5: - da:9e:5c:19:9d:56:12:f5:54:29:c8:05:ed:b2:12:2a:8d:f4: - 03:1b:ff:e7:92:10:87:b0:3a:b5:c3:9d:05:37:12:a3:c7:f4: - 15:b9:d5:a4:39:16:9b:53:3a:23:91:f1:a8:82:a2:6a:88:68: - c1:79:02:22:bc:aa:a6:d6:ae:df:b0:14:5f:b8:87:d0:dd:7c: - 7f:7b:ff:af:1c:cf:e6:db:07:ad:5e:db:85:9d:d0:2b:0d:33: - db:04:d1:e6:49:40:13:2b:76:fb:3e:e9:9c:89:0f:15:ce:18: - b0:85:78:21:4f:6b:4f:0e:fa:36:67:cd:07:f2:ff:08:d0:e2: - de:d9:bf:2a:af:b8:87:86:21:3c:04:ca:b7:94:68:7f:cf:3c: - e9:98:d7:38:ff:ec:c0:d9:50:f0:2e:4b:58:ae:46:6f:d0:2e: - c3:60:da:72:55:72:bd:4c:45:9e:61:ba:bf:84:81:92:03:d1: - d2:69:7c:c5 -MD5 Fingerprint=BA:21:EA:20:D6:DD:DB:8F:C1:57:8B:40:AD:A1:FC:FC ------BEGIN CERTIFICATE----- -MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML -RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp -bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 -IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0xOTEy -MjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 -LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp -YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG -A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq -K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe -sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX -MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT -XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ -HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH -4QIDAQABo3QwcjARBglghkgBhvhCAQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGA -vtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdERgL7YibkIozH5oSQJFrlwMB0G -CSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEA -WUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo -oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQ -h7A6tcOdBTcSo8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18 -f3v/rxzP5tsHrV7bhZ3QKw0z2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfN -B/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjXOP/swNlQ8C5LWK5Gb9Auw2DaclVy -vUxFnmG6v4SBkgPR0ml8xQ== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 33554617 (0x20000b9) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root - Validity - Not Before: May 12 18:46:00 2000 GMT - Not After : May 12 23:59:00 2025 GMT - Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:a3:04:bb:22:ab:98:3d:57:e8:26:72:9a:b5:79: - d4:29:e2:e1:e8:95:80:b1:b0:e3:5b:8e:2b:29:9a: - 64:df:a1:5d:ed:b0:09:05:6d:db:28:2e:ce:62:a2: - 62:fe:b4:88:da:12:eb:38:eb:21:9d:c0:41:2b:01: - 52:7b:88:77:d3:1c:8f:c7:ba:b9:88:b5:6a:09:e7: - 73:e8:11:40:a7:d1:cc:ca:62:8d:2d:e5:8f:0b:a6: - 50:d2:a8:50:c3:28:ea:f5:ab:25:87:8a:9a:96:1c: - a9:67:b8:3f:0c:d5:f7:f9:52:13:2f:c2:1b:d5:70: - 70:f0:8f:c0:12:ca:06:cb:9a:e1:d9:ca:33:7a:77: - d6:f8:ec:b9:f1:68:44:42:48:13:d2:c0:c2:a4:ae: - 5e:60:fe:b6:a6:05:fc:b4:dd:07:59:02:d4:59:18: - 98:63:f5:a5:63:e0:90:0c:7d:5d:b2:06:7a:f3:85: - ea:eb:d4:03:ae:5e:84:3e:5f:ff:15:ed:69:bc:f9: - 39:36:72:75:cf:77:52:4d:f3:c9:90:2c:b9:3d:e5: - c9:23:53:3f:1f:24:98:21:5c:07:99:29:bd:c6:3a: - ec:e7:6e:86:3a:6b:97:74:63:33:bd:68:18:31:f0: - 78:8d:76:bf:fc:9e:8e:5d:2a:86:a7:4d:90:dc:27: - 1a:39 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0 - X509v3 Basic Constraints: critical - CA:TRUE, pathlen:3 - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - Signature Algorithm: sha1WithRSAEncryption - 85:0c:5d:8e:e4:6f:51:68:42:05:a0:dd:bb:4f:27:25:84:03: - bd:f7:64:fd:2d:d7:30:e3:a4:10:17:eb:da:29:29:b6:79:3f: - 76:f6:19:13:23:b8:10:0a:f9:58:a4:d4:61:70:bd:04:61:6a: - 12:8a:17:d5:0a:bd:c5:bc:30:7c:d6:e9:0c:25:8d:86:40:4f: - ec:cc:a3:7e:38:c6:37:11:4f:ed:dd:68:31:8e:4c:d2:b3:01: - 74:ee:be:75:5e:07:48:1a:7f:70:ff:16:5c:84:c0:79:85:b8: - 05:fd:7f:be:65:11:a3:0f:c0:02:b4:f8:52:37:39:04:d5:a9: - 31:7a:18:bf:a0:2a:f4:12:99:f7:a3:45:82:e3:3c:5e:f5:9d: - 9e:b5:c8:9e:7c:2e:c8:a4:9e:4e:08:14:4b:6d:fd:70:6d:6b: - 1a:63:bd:64:e6:1f:b7:ce:f0:f2:9f:2e:bb:1b:b7:f2:50:88: - 73:92:c2:e2:e3:16:8d:9a:32:02:ab:8e:18:dd:e9:10:11:ee: - 7e:35:ab:90:af:3e:30:94:7a:d0:33:3d:a7:65:0f:f5:fc:8e: - 9e:62:cf:47:44:2c:01:5d:bb:1d:b5:32:d2:47:d2:38:2e:d0: - fe:81:dc:32:6a:1e:b5:ee:3c:d5:fc:e7:81:1d:19:c3:24:42: - ea:63:39:a9 -MD5 Fingerprint=AC:B6:94:A5:9C:17:E0:D7:91:52:9B:B1:97:06:A6:E4 ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ -RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD -VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX -DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y -ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy -VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr -mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr -IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK -mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu -XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy -dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye -jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 -BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 -DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 -9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx -jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 -Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz -ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS -R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=US, O=Equifax Secure Inc., CN=Equifax Secure Global eBusiness CA-1 - Validity - Not Before: Jun 21 04:00:00 1999 GMT - Not After : Jun 21 04:00:00 2020 GMT - Subject: C=US, O=Equifax Secure Inc., CN=Equifax Secure Global eBusiness CA-1 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:ba:e7:17:90:02:65:b1:34:55:3c:49:c2:51:d5: - df:a7:d1:37:8f:d1:e7:81:73:41:52:60:9b:9d:a1: - 17:26:78:ad:c7:b1:e8:26:94:32:b5:de:33:8d:3a: - 2f:db:f2:9a:7a:5a:73:98:a3:5c:e9:fb:8a:73:1b: - 5c:e7:c3:bf:80:6c:cd:a9:f4:d6:2b:c0:f7:f9:99: - aa:63:a2:b1:47:02:0f:d4:e4:51:3a:12:3c:6c:8a: - 5a:54:84:70:db:c1:c5:90:cf:72:45:cb:a8:59:c0: - cd:33:9d:3f:a3:96:eb:85:33:21:1c:3e:1e:3e:60: - 6e:76:9c:67:85:c5:c8:c3:61 - Exponent: 65537 (0x10001) - X509v3 extensions: - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Authority Key Identifier: - keyid:BE:A8:A0:74:72:50:6B:44:B7:C9:23:D8:FB:A8:FF:B3:57:6B:68:6C - - X509v3 Subject Key Identifier: - BE:A8:A0:74:72:50:6B:44:B7:C9:23:D8:FB:A8:FF:B3:57:6B:68:6C - Signature Algorithm: md5WithRSAEncryption - 30:e2:01:51:aa:c7:ea:5f:da:b9:d0:65:0f:30:d6:3e:da:0d: - 14:49:6e:91:93:27:14:31:ef:c4:f7:2d:45:f8:ec:c7:bf:a2: - 41:0d:23:b4:92:f9:19:00:67:bd:01:af:cd:e0:71:fc:5a:cf: - 64:c4:e0:96:98:d0:a3:40:e2:01:8a:ef:27:07:f1:65:01:8a: - 44:2d:06:65:75:52:c0:86:10:20:21:5f:6c:6b:0f:6c:ae:09: - 1c:af:f2:a2:18:34:c4:75:a4:73:1c:f1:8d:dc:ef:ad:f9:b3: - 76:b4:92:bf:dc:95:10:1e:be:cb:c8:3b:5a:84:60:19:56:94: - a9:55 -MD5 Fingerprint=8F:5D:77:06:27:C4:98:3C:5B:93:78:E7:D7:7D:9B:CC ------BEGIN CERTIFICATE----- -MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEc -MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBT -ZWN1cmUgR2xvYmFsIGVCdXNpbmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIw -MDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0VxdWlmYXggU2Vj -dXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEdsb2JhbCBlQnVzaW5l -c3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRVPEnC -UdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc -58O/gGzNqfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/ -o5brhTMhHD4ePmBudpxnhcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAH -MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1dr -aGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hsMA0GCSqGSIb3DQEBBAUA -A4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okENI7SS+RkA -Z70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv -8qIYNMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 4 (0x4) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=US, O=Equifax Secure Inc., CN=Equifax Secure eBusiness CA-1 - Validity - Not Before: Jun 21 04:00:00 1999 GMT - Not After : Jun 21 04:00:00 2020 GMT - Subject: C=US, O=Equifax Secure Inc., CN=Equifax Secure eBusiness CA-1 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:ce:2f:19:bc:17:b7:77:de:93:a9:5f:5a:0d:17: - 4f:34:1a:0c:98:f4:22:d9:59:d4:c4:68:46:f0:b4: - 35:c5:85:03:20:c6:af:45:a5:21:51:45:41:eb:16: - 58:36:32:6f:e2:50:62:64:f9:fd:51:9c:aa:24:d9: - f4:9d:83:2a:87:0a:21:d3:12:38:34:6c:8d:00:6e: - 5a:a0:d9:42:ee:1a:21:95:f9:52:4c:55:5a:c5:0f: - 38:4f:46:fa:6d:f8:2e:35:d6:1d:7c:eb:e2:f0:b0: - 75:80:c8:a9:13:ac:be:88:ef:3a:6e:ab:5f:2a:38: - 62:02:b0:12:7b:fe:8f:a6:03 - Exponent: 65537 (0x10001) - X509v3 extensions: - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Authority Key Identifier: - keyid:4A:78:32:52:11:DB:59:16:36:5E:DF:C1:14:36:40:6A:47:7C:4C:A1 - - X509v3 Subject Key Identifier: - 4A:78:32:52:11:DB:59:16:36:5E:DF:C1:14:36:40:6A:47:7C:4C:A1 - Signature Algorithm: md5WithRSAEncryption - 75:5b:a8:9b:03:11:e6:e9:56:4c:cd:f9:a9:4c:c0:0d:9a:f3: - cc:65:69:e6:25:76:cc:59:b7:d6:54:c3:1d:cd:99:ac:19:dd: - b4:85:d5:e0:3d:fc:62:20:a7:84:4b:58:65:f1:e2:f9:95:21: - 3f:f5:d4:7e:58:1e:47:87:54:3e:58:a1:b5:b5:f8:2a:ef:71: - e7:bc:c3:f6:b1:49:46:e2:d7:a0:6b:e5:56:7a:9a:27:98:7c: - 46:62:14:e7:c9:fc:6e:03:12:79:80:38:1d:48:82:8d:fc:17: - fe:2a:96:2b:b5:62:a6:a6:3d:bd:7f:92:59:cd:5a:2a:82:b2: - 37:79 -MD5 Fingerprint=64:9C:EF:2E:44:FC:C6:8F:52:07:D0:51:73:8F:CB:3D ------BEGIN CERTIFICATE----- -MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEc -MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBT -ZWN1cmUgZUJ1c2luZXNzIENBLTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQw -MDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5j -LjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENBLTEwgZ8wDQYJ -KoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ1MRo -RvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBu -WqDZQu4aIZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKw -Env+j6YDAgMBAAGjZjBkMBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTAD -AQH/MB8GA1UdIwQYMBaAFEp4MlIR21kWNl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRK -eDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQFAAOBgQB1W6ibAxHm6VZM -zfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5lSE/9dR+ -WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN -/Bf+KpYrtWKmpj29f5JZzVoqgrI3eQ== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 930140085 (0x3770cfb5) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=Equifax Secure, OU=Equifax Secure eBusiness CA-2 - Validity - Not Before: Jun 23 12:14:45 1999 GMT - Not After : Jun 23 12:14:45 2019 GMT - Subject: C=US, O=Equifax Secure, OU=Equifax Secure eBusiness CA-2 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:e4:39:39:93:1e:52:06:1b:28:36:f8:b2:a3:29: - c5:ed:8e:b2:11:bd:fe:eb:e7:b4:74:c2:8f:ff:05: - e7:d9:9d:06:bf:12:c8:3f:0e:f2:d6:d1:24:b2:11: - de:d1:73:09:8a:d4:b1:2c:98:09:0d:1e:50:46:b2: - 83:a6:45:8d:62:68:bb:85:1b:20:70:32:aa:40:cd: - a6:96:5f:c4:71:37:3f:04:f3:b7:41:24:39:07:1a: - 1e:2e:61:58:a0:12:0b:e5:a5:df:c5:ab:ea:37:71: - cc:1c:c8:37:3a:b9:97:52:a7:ac:c5:6a:24:94:4e: - 9c:7b:cf:c0:6a:d6:df:21:bd - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 CRL Distribution Points: - DirName:/C=US/O=Equifax Secure/OU=Equifax Secure eBusiness CA-2/CN=CRL1 - - X509v3 Private Key Usage Period: - Not After: Jun 23 12:14:45 2019 GMT - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Authority Key Identifier: - keyid:50:9E:0B:EA:AF:5E:B9:20:48:A6:50:6A:CB:FD:D8:20:7A:A7:82:76 - - X509v3 Subject Key Identifier: - 50:9E:0B:EA:AF:5E:B9:20:48:A6:50:6A:CB:FD:D8:20:7A:A7:82:76 - X509v3 Basic Constraints: - CA:TRUE - 1.2.840.113533.7.65.0: - 0...V3.0c.... - Signature Algorithm: sha1WithRSAEncryption - 0c:86:82:ad:e8:4e:1a:f5:8e:89:27:e2:35:58:3d:29:b4:07: - 8f:36:50:95:bf:6e:c1:9e:eb:c4:90:b2:85:a8:bb:b7:42:e0: - 0f:07:39:df:fb:9e:90:b2:d1:c1:3e:53:9f:03:44:b0:7e:4b: - f4:6f:e4:7c:1f:e7:e2:b1:e4:b8:9a:ef:c3:bd:ce:de:0b:32: - 34:d9:de:28:ed:33:6b:c4:d4:d7:3d:12:58:ab:7d:09:2d:cb: - 70:f5:13:8a:94:a1:27:a4:d6:70:c5:6d:94:b5:c9:7d:9d:a0: - d2:c6:08:49:d9:66:9b:a6:d3:f4:0b:dc:c5:26:57:e1:91:30: - ea:cd -MD5 Fingerprint=AA:BF:BF:64:97:DA:98:1D:6F:C6:08:3A:95:70:33:CA ------BEGIN CERTIFICATE----- -MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV -UzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2Vj -dXJlIGVCdXNpbmVzcyBDQS0yMB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0 -NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkVxdWlmYXggU2VjdXJlMSYwJAYD -VQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCBnzANBgkqhkiG9w0B -AQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn2Z0G -vxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/ -BPO3QSQ5BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0C -AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEX -MBUGA1UEChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJl -IGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTkw -NjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9euSBIplBq -y/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQF -MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA -A4GBAAyGgq3oThr1jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy -0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1 -E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUmV+GRMOrN ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 798 (0x31e) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=VISA, OU=Visa International Service Association, CN=GP Root 2 - Validity - Not Before: Aug 16 22:51:00 2000 GMT - Not After : Aug 15 23:59:00 2020 GMT - Subject: C=US, O=VISA, OU=Visa International Service Association, CN=GP Root 2 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:a9:01:70:b5:aa:c4:40:f0:ab:6a:26:61:79:19: - 00:fc:bf:9b:37:59:0c:af:6f:64:1b:f8:da:95:94: - 24:69:33:11:70:ca:e3:56:74:a2:17:57:64:5c:20: - 06:e1:d6:ef:71:b7:3b:f7:ab:c1:69:d0:49:a4:b1: - 04:d7:f4:57:62:89:5c:b0:75:2d:17:24:69:e3:42: - 60:e4:ee:74:d6:ab:80:56:d8:88:28:e1:fb:6d:22: - fd:23:7c:46:73:4f:7e:54:73:1e:a8:2c:55:58:75: - b7:4c:f3:5a:45:a5:02:1a:fa:da:9d:c3:45:c3:22: - 5e:f3:8b:f1:60:29:d2:c7:5f:b4:0c:3a:51:83:ef: - 30:f8:d4:e7:c7:f2:fa:99:a3:22:50:be:f9:05:37: - a3:ad:ed:9a:c3:e6:ec:88:1b:b6:19:27:1b:38:8b: - 80:4d:ec:b9:c7:c5:89:cb:fc:1a:32:ed:23:f0:b5: - 01:58:f9:f6:8f:e0:85:a9:4c:09:72:39:12:db:b3: - f5:cf:4e:62:64:da:c6:19:15:3a:63:1d:e9:17:55: - a1:4c:22:3c:34:32:46:f8:65:57:ba:2b:ef:36:8c: - 6a:fa:d9:d9:44:f4:aa:dd:84:d7:0d:1c:b2:54:ac: - 32:85:b4:64:0d:de:41:bb:b1:34:c6:01:86:32:64: - d5:9f - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 9E:7D:4B:34:BF:71:AD:C2:05:F6:03:75:80:CE:A9:4F:1A:C4:24:4C - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - Signature Algorithm: sha1WithRSAEncryption - 21:a5:76:14:55:f9:ad:27:70:8f:3c:f4:d5:6c:c8:cc:0a:ab: - a3:98:0b:8a:06:23:c5:c9:61:db:99:07:69:35:26:31:fe:c7: - 2e:84:c2:99:61:d4:0d:e9:7d:2e:13:2b:7c:8e:85:b6:85:c7: - 4b:cf:35:b6:2c:47:3d:ce:29:2f:d8:6f:9f:89:1c:64:93:bf: - 08:bd:76:d0:90:8a:94:b3:7f:28:5b:6e:ac:4d:33:2c:ed:65: - dc:16:cc:e2:cd:ae:a4:3d:62:92:06:95:26:bf:df:b9:e4:20: - a6:73:6a:c1:be:f7:94:44:d6:4d:6f:2a:0b:6b:18:4d:74:10: - 36:68:6a:5a:c1:6a:a7:dd:36:29:8c:b8:30:8b:4f:21:3f:00: - 2e:54:30:07:3a:ba:8a:e4:c3:9e:ca:d8:b5:d8:7b:ce:75:45: - 66:07:f4:6d:2d:d8:7a:ca:e9:89:8a:f2:23:d8:2f:cb:6e:00: - 36:4f:fb:f0:2f:01:cc:0f:c0:22:65:f4:ab:e2:4e:61:2d:03: - 82:7d:91:16:b5:30:d5:14:de:5e:c7:90:fc:a1:fc:ab:10:af: - 5c:6b:70:a7:07:ef:29:86:e8:b2:25:c7:20:ff:26:dd:77:ef: - 79:44:14:c4:bd:dd:3b:c5:03:9b:77:23:ec:a0:ec:bb:5a:39: - b5:cc:ad:06 -MD5 Fingerprint=35:48:95:36:4A:54:5A:72:96:8E:E0:64:CC:EF:2C:8C ------BEGIN CERTIFICATE----- -MIIDgDCCAmigAwIBAgICAx4wDQYJKoZIhvcNAQEFBQAwYTELMAkGA1UEBhMCVVMx -DTALBgNVBAoTBFZJU0ExLzAtBgNVBAsTJlZpc2EgSW50ZXJuYXRpb25hbCBTZXJ2 -aWNlIEFzc29jaWF0aW9uMRIwEAYDVQQDEwlHUCBSb290IDIwHhcNMDAwODE2MjI1 -MTAwWhcNMjAwODE1MjM1OTAwWjBhMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklT -QTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRp -b24xEjAQBgNVBAMTCUdQIFJvb3QgMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBAKkBcLWqxEDwq2omYXkZAPy/mzdZDK9vZBv42pWUJGkzEXDK41Z0ohdX -ZFwgBuHW73G3O/erwWnQSaSxBNf0V2KJXLB1LRckaeNCYOTudNargFbYiCjh+20i -/SN8RnNPflRzHqgsVVh1t0zzWkWlAhr62p3DRcMiXvOL8WAp0sdftAw6UYPvMPjU -58fy+pmjIlC++QU3o63tmsPm7IgbthknGziLgE3sucfFicv8GjLtI/C1AVj59o/g -halMCXI5Etuz9c9OYmTaxhkVOmMd6RdVoUwiPDQyRvhlV7or7zaMavrZ2UT0qt2E -1w0cslSsMoW0ZA3eQbuxNMYBhjJk1Z8CAwEAAaNCMEAwHQYDVR0OBBYEFJ59SzS/ -ca3CBfYDdYDOqU8axCRMMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG -MA0GCSqGSIb3DQEBBQUAA4IBAQAhpXYUVfmtJ3CPPPTVbMjMCqujmAuKBiPFyWHb -mQdpNSYx/scuhMKZYdQN6X0uEyt8joW2hcdLzzW2LEc9zikv2G+fiRxkk78IvXbQ -kIqUs38oW26sTTMs7WXcFsziza6kPWKSBpUmv9+55CCmc2rBvveURNZNbyoLaxhN -dBA2aGpawWqn3TYpjLgwi08hPwAuVDAHOrqK5MOeyti12HvOdUVmB/RtLdh6yumJ -ivIj2C/LbgA2T/vwLwHMD8AiZfSr4k5hLQOCfZEWtTDVFN5ex5D8ofyrEK9ca3Cn -B+8phuiyJccg/ybdd+95RBTEvd07xQObdyPsoOy7Wjm1zK0G ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 961510791 (0x394f7d87) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=WW, O=beTRUSTed, CN=beTRUSTed Root CAs, CN=beTRUSTed Root CA - Validity - Not Before: Jun 20 14:21:04 2000 GMT - Not After : Jun 20 13:21:04 2010 GMT - Subject: C=WW, O=beTRUSTed, CN=beTRUSTed Root CAs, CN=beTRUSTed Root CA - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:d4:b4:73:7a:13:0a:38:55:01:be:89:56:e1:94: - 9e:d4:be:5a:eb:4a:34:75:1b:61:29:c4:e1:ad:08: - 60:21:78:48:ff:b4:d0:fa:5e:41:8d:61:44:87:e8: - ed:c9:58:fa:fc:93:9a:df:4f:ea:3e:35:7d:f8:33: - 7a:e6:f1:d7:cd:6f:49:4b:3d:4f:2d:6e:0e:83:3a: - 18:78:77:a3:cf:e7:f4:4d:73:d8:9a:3b:1a:1d:be: - 95:53:cf:20:97:c2:cf:3e:24:52:6c:0c:8e:65:59: - c5:71:ff:62:09:8f:aa:c5:8f:cc:60:a0:73:4a:d7: - 38:3f:15:72:bf:a2:97:b7:70:e8:af:e2:7e:16:06: - 4c:f5:aa:64:26:72:07:25:ad:35:fc:18:b1:26:d7: - d8:ff:19:0e:83:1b:8c:dc:78:45:67:34:3d:f4:af: - 1c:8d:e4:6d:6b:ed:20:b3:67:9a:b4:61:cb:17:6f: - 89:35:ff:e7:4e:c0:32:12:e7:ee:ec:df:ff:97:30: - 74:ed:8d:47:8e:eb:b4:c3:44:e6:a7:4c:7f:56:43: - e8:b8:bc:b6:be:fa:83:97:e6:bb:fb:c4:b6:93:be: - 19:18:3e:8c:81:b9:73:88:16:f4:96:43:9c:67:73: - 17:90:d8:09:6e:63:ac:4a:b6:23:c4:01:a1:ad:a4: - e4:c5 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Certificate Policies: - Policy: 1.3.6.1.4.1.6334.1.0.0 - User Notice: - Explicit Text: Reliance on this certificate by any party assumes acceptance of the then applicable standard terms and conditions of use, and certification practice statement, which can be found at beTRUSTed's web site, https://www.beTRUSTed.com/vault/terms - CPS: https://www.beTRUSTed.com/vault/terms - - X509v3 CRL Distribution Points: - DirName:/O=beTRUSTed/C=WW - - X509v3 Subject Key Identifier: - 2A:B9:9B:69:2E:3B:9B:D8:CD:DE:2A:31:04:34:6B:CA:07:18:AB:67 - X509v3 Authority Key Identifier: - keyid:2A:B9:9B:69:2E:3B:9B:D8:CD:DE:2A:31:04:34:6B:CA:07:18:AB:67 - - X509v3 Key Usage: critical - Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment, Key Agreement, Certificate Sign, CRL Sign - Signature Algorithm: sha1WithRSAEncryption - 79:61:db:a3:5e:6e:16:b1:ea:76:51:f9:cb:15:9b:cb:69:be: - e6:81:6b:9f:28:1f:65:3e:dd:11:85:92:d4:e8:41:bf:7e:33: - bd:23:e7:f1:20:bf:a4:b4:a6:19:01:c6:8c:8d:35:7c:65:a4: - 4f:09:a4:d6:d8:23:15:05:13:a7:43:79:af:db:a3:0e:9b:7b: - 78:1a:f3:04:86:5a:c6:f6:8c:20:47:38:49:50:06:9d:72:67: - 3a:f0:98:03:ad:96:67:44:fc:3f:10:0d:86:4d:e4:00:3b:29: - 7b:ce:3b:3b:99:86:61:25:40:84:dc:13:62:b7:fa:ca:59:d6: - 03:1e:d6:53:01:cd:6d:4c:68:55:40:e1:ee:6b:c7:2a:00:00: - 48:82:b3:0a:01:c3:60:2a:0c:f7:82:35:ee:48:86:96:e4:74: - d4:3d:ea:01:71:ba:04:75:40:a7:a9:7f:39:39:9a:55:97:29: - 65:ae:19:55:25:05:72:47:d3:e8:18:dc:b8:e9:af:43:73:01: - 12:74:a3:e1:5c:5f:15:5d:24:f3:f9:e4:f4:b6:67:67:12:e7: - 64:22:8a:f6:a5:41:a6:1c:b6:60:63:45:8a:10:b4:ba:46:10: - ae:41:57:65:6c:3f:23:10:3f:21:10:59:b7:e4:40:dd:26:0c: - 23:f6:aa:ae -MD5 Fingerprint=85:CA:76:5A:1B:D1:68:22:DC:A2:23:12:CA:C6:80:34 ------BEGIN CERTIFICATE----- -MIIFLDCCBBSgAwIBAgIEOU99hzANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJX -VzESMBAGA1UEChMJYmVUUlVTVGVkMRswGQYDVQQDExJiZVRSVVNUZWQgUm9vdCBD -QXMxGjAYBgNVBAMTEWJlVFJVU1RlZCBSb290IENBMB4XDTAwMDYyMDE0MjEwNFoX -DTEwMDYyMDEzMjEwNFowWjELMAkGA1UEBhMCV1cxEjAQBgNVBAoTCWJlVFJVU1Rl -ZDEbMBkGA1UEAxMSYmVUUlVTVGVkIFJvb3QgQ0FzMRowGAYDVQQDExFiZVRSVVNU -ZWQgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANS0c3oT -CjhVAb6JVuGUntS+WutKNHUbYSnE4a0IYCF4SP+00PpeQY1hRIfo7clY+vyTmt9P -6j41ffgzeubx181vSUs9Ty1uDoM6GHh3o8/n9E1z2Jo7Gh2+lVPPIJfCzz4kUmwM -jmVZxXH/YgmPqsWPzGCgc0rXOD8Vcr+il7dw6K/ifhYGTPWqZCZyByWtNfwYsSbX -2P8ZDoMbjNx4RWc0PfSvHI3kbWvtILNnmrRhyxdviTX/507AMhLn7uzf/5cwdO2N -R47rtMNE5qdMf1ZD6Li8tr76g5fmu/vEtpO+GRg+jIG5c4gW9JZDnGdzF5DYCW5j -rEq2I8QBoa2k5MUCAwEAAaOCAfgwggH0MA8GA1UdEwEB/wQFMAMBAf8wggFZBgNV -HSAEggFQMIIBTDCCAUgGCisGAQQBsT4BAAAwggE4MIIBAQYIKwYBBQUHAgIwgfQa -gfFSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1 -bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0 -ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGFuZCBjZXJ0aWZpY2F0aW9uIHBy -YWN0aWNlIHN0YXRlbWVudCwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0IGJlVFJVU1Rl -ZCdzIHdlYiBzaXRlLCBodHRwczovL3d3dy5iZVRSVVNUZWQuY29tL3ZhdWx0L3Rl -cm1zMDEGCCsGAQUFBwIBFiVodHRwczovL3d3dy5iZVRSVVNUZWQuY29tL3ZhdWx0 -L3Rlcm1zMDQGA1UdHwQtMCswKaAnoCWkIzAhMRIwEAYDVQQKEwliZVRSVVNUZWQx -CzAJBgNVBAYTAldXMB0GA1UdDgQWBBQquZtpLjub2M3eKjEENGvKBxirZzAfBgNV -HSMEGDAWgBQquZtpLjub2M3eKjEENGvKBxirZzAOBgNVHQ8BAf8EBAMCAf4wDQYJ -KoZIhvcNAQEFBQADggEBAHlh26Nebhax6nZR+csVm8tpvuaBa58oH2U+3RGFktTo -Qb9+M70j5/Egv6S0phkBxoyNNXxlpE8JpNbYIxUFE6dDea/bow6be3ga8wSGWsb2 -jCBHOElQBp1yZzrwmAOtlmdE/D8QDYZN5AA7KXvOOzuZhmElQITcE2K3+spZ1gMe -1lMBzW1MaFVA4e5rxyoAAEiCswoBw2AqDPeCNe5IhpbkdNQ96gFxugR1QKepfzk5 -mlWXKWWuGVUlBXJH0+gY3Ljpr0NzARJ0o+FcXxVdJPP55PS2Z2cS52QiivalQaYc -tmBjRYoQtLpGEK5BV2VsPyMQPyEQWbfkQN0mDCP2qq4= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Class 1 CA Root - Validity - Not Before: May 30 10:38:31 2000 GMT - Not After : May 30 10:38:31 2020 GMT - Subject: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Class 1 CA Root - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:96:96:d4:21:49:60:e2:6b:e8:41:07:0c:de:c4: - e0:dc:13:23:cd:c1:35:c7:fb:d6:4e:11:0a:67:5e: - f5:06:5b:6b:a5:08:3b:5b:29:16:3a:e7:87:b2:34: - 06:c5:bc:05:a5:03:7c:82:cb:29:10:ae:e1:88:81: - bd:d6:9e:d3:fe:2d:56:c1:15:ce:e3:26:9d:15:2e: - 10:fb:06:8f:30:04:de:a7:b4:63:b4:ff:b1:9c:ae: - 3c:af:77:b6:56:c5:b5:ab:a2:e9:69:3a:3d:0e:33: - 79:32:3f:70:82:92:99:61:6d:8d:30:08:8f:71:3f: - a6:48:57:19:f8:25:dc:4b:66:5c:a5:74:8f:98:ae: - c8:f9:c0:06:22:e7:ac:73:df:a5:2e:fb:52:dc:b1: - 15:65:20:fa:35:66:69:de:df:2c:f1:6e:bc:30:db: - 2c:24:12:db:eb:35:35:68:90:cb:00:b0:97:21:3d: - 74:21:23:65:34:2b:bb:78:59:a3:d6:e1:76:39:9a: - a4:49:8e:8c:74:af:6e:a4:9a:a3:d9:9b:d2:38:5c: - 9b:a2:18:cc:75:23:84:be:eb:e2:4d:33:71:8e:1a: - f0:c2:f8:c7:1d:a2:ad:03:97:2c:f8:cf:25:c6:f6: - b8:24:31:b1:63:5d:92:7f:63:f0:25:c9:53:2e:1f: - bf:4d - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 95:B1:B4:F0:94:B6:BD:C7:DA:D1:11:09:21:BE:C1:AF:49:FD:10:7B - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Authority Key Identifier: - keyid:95:B1:B4:F0:94:B6:BD:C7:DA:D1:11:09:21:BE:C1:AF:49:FD:10:7B - DirName:/C=SE/O=AddTrust AB/OU=AddTrust TTP Network/CN=AddTrust Class 1 CA Root - serial:01 - - Signature Algorithm: sha1WithRSAEncryption - 2c:6d:64:1b:1f:cd:0d:dd:b9:01:fa:96:63:34:32:48:47:99: - ae:97:ed:fd:72:16:a6:73:47:5a:f4:eb:dd:e9:f5:d6:fb:45: - cc:29:89:44:5d:bf:46:39:3d:e8:ee:bc:4d:54:86:1e:1d:6c: - e3:17:27:43:e1:89:56:2b:a9:6f:72:4e:49:33:e3:72:7c:2a: - 23:9a:bc:3e:ff:28:2a:ed:a3:ff:1c:23:ba:43:57:09:67:4d: - 4b:62:06:2d:f8:ff:6c:9d:60:1e:d8:1c:4b:7d:b5:31:2f:d9: - d0:7c:5d:f8:de:6b:83:18:78:37:57:2f:e8:33:07:67:df:1e: - c7:6b:2a:95:76:ae:8f:57:a3:f0:f4:52:b4:a9:53:08:cf:e0: - 4f:d3:7a:53:8b:fd:bb:1c:56:36:f2:fe:b2:b6:e5:76:bb:d5: - 22:65:a7:3f:fe:d1:66:ad:0b:bc:6b:99:86:ef:3f:7d:f3:18: - 32:ca:7b:c6:e3:ab:64:46:95:f8:26:69:d9:55:83:7b:2c:96: - 07:ff:59:2c:44:a3:c6:e5:e9:a9:dc:a1:63:80:5a:21:5e:21: - cf:53:54:f0:ba:6f:89:db:a8:aa:95:cf:8b:e3:71:cc:1e:1b: - 20:44:08:c0:7a:b6:40:fd:c4:e4:35:e1:1d:16:1c:d0:bc:2b: - 8e:d6:71:d9 -MD5 Fingerprint=1E:42:95:02:33:92:6B:B9:5F:C0:7F:DA:D6:B2:4B:FC ------BEGIN CERTIFICATE----- -MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEU -MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3 -b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMw -MTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML -QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYD -VQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUA -A4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ul -CDtbKRY654eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6n -tGO0/7Gcrjyvd7ZWxbWroulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyl -dI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1Zmne3yzxbrww2ywkEtvrNTVokMsAsJch -PXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJuiGMx1I4S+6+JNM3GOGvDC -+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8wHQYDVR0O -BBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8E -BTADAQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBl -MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFk -ZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENB -IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxtZBsfzQ3duQH6lmM0MkhHma6X -7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0PhiVYrqW9yTkkz -43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY -eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJl -pz/+0WatC7xrmYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOA -WiFeIc9TVPC6b4nbqKqVz4vjccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root - Validity - Not Before: May 30 10:48:38 2000 GMT - Not After : May 30 10:48:38 2020 GMT - Subject: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:b7:f7:1a:33:e6:f2:00:04:2d:39:e0:4e:5b:ed: - 1f:bc:6c:0f:cd:b5:fa:23:b6:ce:de:9b:11:33:97: - a4:29:4c:7d:93:9f:bd:4a:bc:93:ed:03:1a:e3:8f: - cf:e5:6d:50:5a:d6:97:29:94:5a:80:b0:49:7a:db: - 2e:95:fd:b8:ca:bf:37:38:2d:1e:3e:91:41:ad:70: - 56:c7:f0:4f:3f:e8:32:9e:74:ca:c8:90:54:e9:c6: - 5f:0f:78:9d:9a:40:3c:0e:ac:61:aa:5e:14:8f:9e: - 87:a1:6a:50:dc:d7:9a:4e:af:05:b3:a6:71:94:9c: - 71:b3:50:60:0a:c7:13:9d:38:07:86:02:a8:e9:a8: - 69:26:18:90:ab:4c:b0:4f:23:ab:3a:4f:84:d8:df: - ce:9f:e1:69:6f:bb:d7:42:d7:6b:44:e4:c7:ad:ee: - 6d:41:5f:72:5a:71:08:37:b3:79:65:a4:59:a0:94: - 37:f7:00:2f:0d:c2:92:72:da:d0:38:72:db:14:a8: - 45:c4:5d:2a:7d:b7:b4:d6:c4:ee:ac:cd:13:44:b7: - c9:2b:dd:43:00:25:fa:61:b9:69:6a:58:23:11:b7: - a7:33:8f:56:75:59:f5:cd:29:d7:46:b7:0a:2b:65: - b6:d3:42:6f:15:b2:b8:7b:fb:ef:e9:5d:53:d5:34: - 5a:27 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - AD:BD:98:7A:34:B4:26:F7:FA:C4:26:54:EF:03:BD:E0:24:CB:54:1A - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Authority Key Identifier: - keyid:AD:BD:98:7A:34:B4:26:F7:FA:C4:26:54:EF:03:BD:E0:24:CB:54:1A - DirName:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root - serial:01 - - Signature Algorithm: sha1WithRSAEncryption - b0:9b:e0:85:25:c2:d6:23:e2:0f:96:06:92:9d:41:98:9c:d9: - 84:79:81:d9:1e:5b:14:07:23:36:65:8f:b0:d8:77:bb:ac:41: - 6c:47:60:83:51:b0:f9:32:3d:e7:fc:f6:26:13:c7:80:16:a5: - bf:5a:fc:87:cf:78:79:89:21:9a:e2:4c:07:0a:86:35:bc:f2: - de:51:c4:d2:96:b7:dc:7e:4e:ee:70:fd:1c:39:eb:0c:02:51: - 14:2d:8e:bd:16:e0:c1:df:46:75:e7:24:ad:ec:f4:42:b4:85: - 93:70:10:67:ba:9d:06:35:4a:18:d3:2b:7a:cc:51:42:a1:7a: - 63:d1:e6:bb:a1:c5:2b:c2:36:be:13:0d:e6:bd:63:7e:79:7b: - a7:09:0d:40:ab:6a:dd:8f:8a:c3:f6:f6:8c:1a:42:05:51:d4: - 45:f5:9f:a7:62:21:68:15:20:43:3c:99:e7:7c:bd:24:d8:a9: - 91:17:73:88:3f:56:1b:31:38:18:b4:71:0f:9a:cd:c8:0e:9e: - 8e:2e:1b:e1:8c:98:83:cb:1f:31:f1:44:4c:c6:04:73:49:76: - 60:0f:c7:f8:bd:17:80:6b:2e:e9:cc:4c:0e:5a:9a:79:0f:20: - 0a:2e:d5:9e:63:26:1e:55:92:94:d8:82:17:5a:7b:d0:bc:c7: - 8f:4e:86:04 -MD5 Fingerprint=1D:35:54:04:85:78:B0:3F:42:42:4D:BF:20:73:0A:3F ------BEGIN CERTIFICATE----- -MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU -MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs -IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 -MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux -FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h -bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v -dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt -H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 -uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX -mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX -a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN -E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 -WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD -VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 -Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU -cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx -IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN -AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH -YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 -6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC -Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX -c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a -mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Public CA Root - Validity - Not Before: May 30 10:41:50 2000 GMT - Not After : May 30 10:41:50 2020 GMT - Subject: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Public CA Root - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:e9:1a:30:8f:83:88:14:c1:20:d8:3c:9b:8f:1b: - 7e:03:74:bb:da:69:d3:46:a5:f8:8e:c2:0c:11:90: - 51:a5:2f:66:54:40:55:ea:db:1f:4a:56:ee:9f:23: - 6e:f4:39:cb:a1:b9:6f:f2:7e:f9:5d:87:26:61:9e: - 1c:f8:e2:ec:a6:81:f8:21:c5:24:cc:11:0c:3f:db: - 26:72:7a:c7:01:97:07:17:f9:d7:18:2c:30:7d:0e: - 7a:1e:62:1e:c6:4b:c0:fd:7d:62:77:d3:44:1e:27: - f6:3f:4b:44:b3:b7:38:d9:39:1f:60:d5:51:92:73: - 03:b4:00:69:e3:f3:14:4e:ee:d1:dc:09:cf:77:34: - 46:50:b0:f8:11:f2:fe:38:79:f7:07:39:fe:51:92: - 97:0b:5b:08:5f:34:86:01:ad:88:97:eb:66:cd:5e: - d1:ff:dc:7d:f2:84:da:ba:77:ad:dc:80:08:c7:a7: - 87:d6:55:9f:97:6a:e8:c8:11:64:ba:e7:19:29:3f: - 11:b3:78:90:84:20:52:5b:11:ef:78:d0:83:f6:d5: - 48:90:d0:30:1c:cf:80:f9:60:fe:79:e4:88:f2:dd: - 00:eb:94:45:eb:65:94:69:40:ba:c0:d5:b4:b8:ba: - 7d:04:11:a8:eb:31:05:96:94:4e:58:21:8e:9f:d0: - 60:fd - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 81:3E:37:D8:92:B0:1F:77:9F:5C:B4:AB:73:AA:E7:F6:34:60:2F:FA - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Authority Key Identifier: - keyid:81:3E:37:D8:92:B0:1F:77:9F:5C:B4:AB:73:AA:E7:F6:34:60:2F:FA - DirName:/C=SE/O=AddTrust AB/OU=AddTrust TTP Network/CN=AddTrust Public CA Root - serial:01 - - Signature Algorithm: sha1WithRSAEncryption - 03:f7:15:4a:f8:24:da:23:56:16:93:76:dd:36:28:b9:ae:1b: - b8:c3:f1:64:ba:20:18:78:95:29:27:57:05:bc:7c:2a:f4:b9: - 51:55:da:87:02:de:0f:16:17:31:f8:aa:79:2e:09:13:bb:af: - b2:20:19:12:e5:93:f9:4b:f9:83:e8:44:d5:b2:41:25:bf:88: - 75:6f:ff:10:fc:4a:54:d0:5f:f0:fa:ef:36:73:7d:1b:36:45: - c6:21:6d:b4:15:b8:4e:cf:9c:5c:a5:3d:5a:00:8e:06:e3:3c: - 6b:32:7b:f2:9f:f0:b6:fd:df:f0:28:18:48:f0:c6:bc:d0:bf: - 34:80:96:c2:4a:b1:6d:8e:c7:90:45:de:2f:67:ac:45:04:a3: - 7a:dc:55:92:c9:47:66:d8:1a:8c:c7:ed:9c:4e:9a:e0:12:bb: - b5:6a:4c:84:e1:e1:22:0d:87:00:64:fe:8c:7d:62:39:65:a6: - ef:42:b6:80:25:12:61:01:a8:24:13:70:00:11:26:5f:fa:35: - 50:c5:48:cc:06:47:e8:27:d8:70:8d:5f:64:e6:a1:44:26:5e: - 22:ec:92:cd:ff:42:9a:44:21:6d:5c:c5:e3:22:1d:5f:47:12: - e7:ce:5f:5d:fa:d8:aa:b1:33:2d:d9:76:f2:4e:3a:33:0c:2b: - b3:2d:90:06 -MD5 Fingerprint=C1:62:3E:23:C5:82:73:9C:03:59:4B:2B:E9:77:49:7F ------BEGIN CERTIFICATE----- -MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEU -MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3 -b3JrMSAwHgYDVQQDExdBZGRUcnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAx -MDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtB -ZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIDAeBgNV -BAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV -6tsfSlbunyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nX -GCwwfQ56HmIexkvA/X1id9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnP -dzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSGAa2Il+tmzV7R/9x98oTaunet3IAIx6eH -1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAwHM+A+WD+eeSI8t0A65RF -62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0GA1UdDgQW -BBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUw -AwEB/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDEL -MAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRU -cnVzdCBUVFAgTmV0d29yazEgMB4GA1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJv -b3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4JNojVhaTdt02KLmuG7jD8WS6 -IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL+YPoRNWyQSW/ -iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao -GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh -4SINhwBk/ox9Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQm -XiLsks3/QppEIW1cxeMiHV9HEufOX1362KqxMy3ZdvJOOjMMK7MtkAY= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Qualified CA Root - Validity - Not Before: May 30 10:44:50 2000 GMT - Not After : May 30 10:44:50 2020 GMT - Subject: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Qualified CA Root - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:e4:1e:9a:fe:dc:09:5a:87:a4:9f:47:be:11:5f: - af:84:34:db:62:3c:79:78:b7:e9:30:b5:ec:0c:1c: - 2a:c4:16:ff:e0:ec:71:eb:8a:f5:11:6e:ed:4f:0d: - 91:d2:12:18:2d:49:15:01:c2:a4:22:13:c7:11:64: - ff:22:12:9a:b9:8e:5c:2f:08:cf:71:6a:b3:67:01: - 59:f1:5d:46:f3:b0:78:a5:f6:0e:42:7a:e3:7f:1b: - cc:d0:f0:b7:28:fd:2a:ea:9e:b3:b0:b9:04:aa:fd: - f6:c7:b4:b1:b8:2a:a0:fb:58:f1:19:a0:6f:70:25: - 7e:3e:69:4a:7f:0f:22:d8:ef:ad:08:11:9a:29:99: - e1:aa:44:45:9a:12:5e:3e:9d:6d:52:fc:e7:a0:3d: - 68:2f:f0:4b:70:7c:13:38:ad:bc:15:25:f1:d6:ce: - ab:a2:c0:31:d6:2f:9f:e0:ff:14:59:fc:84:93:d9: - 87:7c:4c:54:13:eb:9f:d1:2d:11:f8:18:3a:3a:de: - 25:d9:f7:d3:40:ed:a4:06:12:c4:3b:e1:91:c1:56: - 35:f0:14:dc:65:36:09:6e:ab:a4:07:c7:35:d1:c2: - 03:33:36:5b:75:26:6d:42:f1:12:6b:43:6f:4b:71: - 94:fa:34:1d:ed:13:6e:ca:80:7f:98:2f:6c:b9:65: - d8:e9 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 39:95:8B:62:8B:5C:C9:D4:80:BA:58:0F:97:3F:15:08:43:CC:98:A7 - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Authority Key Identifier: - keyid:39:95:8B:62:8B:5C:C9:D4:80:BA:58:0F:97:3F:15:08:43:CC:98:A7 - DirName:/C=SE/O=AddTrust AB/OU=AddTrust TTP Network/CN=AddTrust Qualified CA Root - serial:01 - - Signature Algorithm: sha1WithRSAEncryption - 19:ab:75:ea:f8:8b:65:61:95:13:ba:69:04:ef:86:ca:13:a0: - c7:aa:4f:64:1b:3f:18:f6:a8:2d:2c:55:8f:05:b7:30:ea:42: - 6a:1d:c0:25:51:2d:a7:bf:0c:b3:ed:ef:08:7f:6c:3c:46:1a: - ea:18:43:df:76:cc:f9:66:86:9c:2c:68:f5:e9:17:f8:31:b3: - 18:c4:d6:48:7d:23:4c:68:c1:7e:bb:01:14:6f:c5:d9:6e:de: - bb:04:42:6a:f8:f6:5c:7d:e5:da:fa:87:eb:0d:35:52:67:d0: - 9e:97:76:05:93:3f:95:c7:01:e6:69:55:38:7f:10:61:99:c9: - e3:5f:a6:ca:3e:82:63:48:aa:e2:08:48:3e:aa:f2:b2:85:62: - a6:b4:a7:d9:bd:37:9c:68:b5:2d:56:7d:b0:b7:3f:a0:b1:07: - d6:e9:4f:dc:de:45:71:30:32:7f:1b:2e:09:f9:bf:52:a1:ee: - c2:80:3e:06:5c:2e:55:40:c1:1b:f5:70:45:b0:dc:5d:fa:f6: - 72:5a:77:d2:63:cd:cf:58:89:00:42:63:3f:79:39:d0:44:b0: - 82:6e:41:19:e8:dd:e0:c1:88:5a:d1:1e:71:93:1f:24:30:74: - e5:1e:a8:de:3c:27:37:7f:83:ae:9e:77:cf:f0:30:b1:ff:4b: - 99:e8:c6:a1 -MD5 Fingerprint=27:EC:39:47:CD:DA:5A:AF:E2:9A:01:65:21:A9:4C:BB ------BEGIN CERTIFICATE----- -MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEU -MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3 -b3JrMSMwIQYDVQQDExpBZGRUcnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1 -MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcxCzAJBgNVBAYTAlNFMRQwEgYDVQQK -EwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIzAh -BgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwq -xBb/4Oxx64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G -87B4pfYOQnrjfxvM0PC3KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i -2O+tCBGaKZnhqkRFmhJePp1tUvznoD1oL/BLcHwTOK28FSXx1s6rosAx1i+f4P8U -WfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GRwVY18BTcZTYJbqukB8c1 -0cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HUMIHRMB0G -A1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0T -AQH/BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6Fr -pGkwZzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQL -ExRBZGRUcnVzdCBUVFAgTmV0d29yazEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlm -aWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBABmrder4i2VhlRO6aQTv -hsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxGGuoYQ992zPlm -hpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X -dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3 -P6CxB9bpT9zeRXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9Y -iQBCYz95OdBEsIJuQRno3eDBiFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5no -xqE= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 2b:68:d4:a3:46:9e:c5:3b:28:09:ab:38:5d:7f:27:20 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority - Validity - Not Before: Aug 4 00:00:00 2000 GMT - Not After : Aug 3 23:59:59 2004 GMT - Subject: O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/RPA (c)00, CN=Class 1 Public Primary OCSP Responder - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:b9:ed:5e:7a:3a:77:5f:ce:5f:3a:52:fc:cd:64: - f7:71:b5:6f:6a:96:c6:59:92:55:94:5d:2f:5b:2e: - c1:11:ea:26:8a:cb:a7:81:3c:f6:5a:44:de:7a:13: - 2f:fd:5a:51:d9:7b:37:26:4a:c0:27:3f:04:03:6a: - 56:c1:83:2c:e1:6f:5b:a9:54:50:24:4a:c6:2e:7a: - 4c:a1:5b:37:54:24:21:31:1f:a1:78:18:76:a7:b1: - 70:da:22:d0:6a:fe:07:62:40:c6:f7:f6:9b:7d:0c: - 06:b8:4b:c7:28:e4:66:23:84:51:ef:46:b7:93:d8: - 81:33:cb:e5:36:ac:c6:e8:05 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Alternative Name: - DirName:/CN=OCSP 1-1 - X509v3 CRL Distribution Points: - URI:http://crl.verisign.com/pca1.crl - - X509v3 Extended Key Usage: - OCSP Signing - Authority Information Access: - OCSP - URI:http://ocsp.verisign.com/ocsp/status - - X509v3 Certificate Policies: - Policy: 2.16.840.1.113733.1.7.1.1 - CPS: https://www.verisign.com/RPA - - X509v3 Basic Constraints: - CA:FALSE - X509v3 Key Usage: - Digital Signature - Signature Algorithm: sha1WithRSAEncryption - 70:90:dd:b8:e4:be:53:17:7c:7f:02:e9:d5:f7:8b:99:93:31: - 60:8d:7e:e6:60:6b:24:ef:60:ac:d2:ce:91:de:80:6d:09:a4: - d3:b8:38:e5:44:ca:72:5e:0d:2d:c1:77:9c:bd:2c:03:78:29: - 8d:a4:a5:77:87:f5:f1:2b:26:ad:cc:07:6c:3a:54:5a:28:e0: - 09:f3:4d:0a:04:ca:d4:58:69:0b:a7:b3:f5:dd:01:a5:e7:dc: - f0:1f:ba:c1:5d:90:8d:b3:ea:4f:c1:11:59:97:6a:b2:2b:13: - b1:da:ad:97:a1:b3:b1:a0:20:5b:ca:32:ab:8d:cf:13:f0:1f: - 29:c3 -MD5 Fingerprint=7E:6F:3A:53:1B:7C:BE:B0:30:DB:43:1E:1E:94:89:B2 ------BEGIN CERTIFICATE----- -MIIDnjCCAwegAwIBAgIQK2jUo0aexTsoCas4XX8nIDANBgkqhkiG9w0BAQUFADBf -MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT -LkNsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw -HhcNMDAwODA0MDAwMDAwWhcNMDQwODAzMjM1OTU5WjCBpzEXMBUGA1UEChMOVmVy -aVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5 -BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20v -UlBBIChjKTAwMS4wLAYDVQQDEyVDbGFzcyAxIFB1YmxpYyBQcmltYXJ5IE9DU1Ag -UmVzcG9uZGVyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC57V56Ondfzl86 -UvzNZPdxtW9qlsZZklWUXS9bLsER6iaKy6eBPPZaRN56Ey/9WlHZezcmSsAnPwQD -albBgyzhb1upVFAkSsYuekyhWzdUJCExH6F4GHansXDaItBq/gdiQMb39pt9DAa4 -S8co5GYjhFHvRreT2IEzy+U2rMboBQIDAQABo4IBEDCCAQwwIAYDVR0RBBkwF6QV -MBMxETAPBgNVBAMTCE9DU1AgMS0xMDEGA1UdHwQqMCgwJqAkoCKGIGh0dHA6Ly9j -cmwudmVyaXNpZ24uY29tL3BjYTEuY3JsMBMGA1UdJQQMMAoGCCsGAQUFBwMJMEIG -CCsGAQUFBwEBBDYwNDAyBggrBgEFBQcwAaYmFiRodHRwOi8vb2NzcC52ZXJpc2ln -bi5jb20vb2NzcC9zdGF0dXMwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgG -CCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vUlBBMAkGA1UdEwQC -MAAwCwYDVR0PBAQDAgeAMA0GCSqGSIb3DQEBBQUAA4GBAHCQ3bjkvlMXfH8C6dX3 -i5mTMWCNfuZgayTvYKzSzpHegG0JpNO4OOVEynJeDS3Bd5y9LAN4KY2kpXeH9fEr -Jq3MB2w6VFoo4AnzTQoEytRYaQuns/XdAaXn3PAfusFdkI2z6k/BEVmXarIrE7Ha -rZehs7GgIFvKMquNzxPwHynD ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 09:46:17:e6:1d:d8:d4:1c:a0:0c:a0:62:e8:79:8a:a7 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=VeriSign, Inc., OU=Class 2 Public Primary Certification Authority - Validity - Not Before: Aug 1 00:00:00 2000 GMT - Not After : Jul 31 23:59:59 2004 GMT - Subject: O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/RPA (c)00, CN=Class 2 Public Primary OCSP Responder - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:d0:ca:63:31:61:7f:44:34:7c:05:7d:0b:3d:6a: - 90:cb:79:4b:77:0a:3f:4b:c7:23:e5:c0:62:2d:7e: - 9c:7e:3e:88:87:91:d0:ac:e8:4d:49:87:a2:96:90: - 8a:dd:04:a5:02:3f:8c:9b:e9:89:fe:62:a0:e2:5a: - bd:c8:dd:b4:78:e6:a5:42:93:08:67:01:c0:20:4d: - d7:5c:f4:5d:da:b3:e3:37:a6:52:1a:2c:4c:65:4d: - 8a:87:d9:a8:a3:f1:49:54:bb:3c:5c:80:51:68:c6: - fb:49:ff:0b:55:ab:15:dd:fb:9a:c1:b9:1d:74:0d: - b2:8c:44:5d:89:fc:9f:f9:83 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Alternative Name: - DirName:/CN=OCSP 1-2 - X509v3 CRL Distribution Points: - URI:http://crl.verisign.com/pca2.crl - - X509v3 Extended Key Usage: - OCSP Signing - Authority Information Access: - OCSP - URI:http://ocsp.verisign.com/ocsp/status - - X509v3 Certificate Policies: - Policy: 2.16.840.1.113733.1.7.1.1 - CPS: https://www.verisign.com/RPA - - X509v3 Basic Constraints: - CA:FALSE - X509v3 Key Usage: - Digital Signature - Signature Algorithm: sha1WithRSAEncryption - 1f:7d:09:6e:24:46:75:04:9c:f3:26:9b:e3:39:6e:17:ef:bc: - bd:a2:1b:d2:02:84:86:ab:d0:40:97:2c:c4:43:88:37:19:6b: - 22:a8:03:71:50:9d:20:dc:36:60:20:9a:73:2d:73:55:6c:58: - 9b:2c:c2:b4:34:2c:7a:33:42:ca:91:d9:e9:43:af:cf:1e:e0: - f5:c4:7a:ab:3f:72:63:1e:a9:37:e1:5b:3b:88:b3:13:86:82: - 90:57:cb:57:ff:f4:56:be:22:dd:e3:97:a8:e1:bc:22:43:c2: - dd:4d:db:f6:81:9e:92:14:9e:39:0f:13:54:de:82:d8:c0:5e: - 34:8d -MD5 Fingerprint=F3:45:BD:10:96:0D:85:4B:EF:9F:11:62:34:A7:5E:B5 ------BEGIN CERTIFICATE----- -MIIDnjCCAwegAwIBAgIQCUYX5h3Y1BygDKBi6HmKpzANBgkqhkiG9w0BAQUFADBf -MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT -LkNsYXNzIDIgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw -HhcNMDAwODAxMDAwMDAwWhcNMDQwNzMxMjM1OTU5WjCBpzEXMBUGA1UEChMOVmVy -aVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5 -BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20v -UlBBIChjKTAwMS4wLAYDVQQDEyVDbGFzcyAyIFB1YmxpYyBQcmltYXJ5IE9DU1Ag -UmVzcG9uZGVyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQymMxYX9ENHwF -fQs9apDLeUt3Cj9LxyPlwGItfpx+PoiHkdCs6E1Jh6KWkIrdBKUCP4yb6Yn+YqDi -Wr3I3bR45qVCkwhnAcAgTddc9F3as+M3plIaLExlTYqH2aij8UlUuzxcgFFoxvtJ -/wtVqxXd+5rBuR10DbKMRF2J/J/5gwIDAQABo4IBEDCCAQwwIAYDVR0RBBkwF6QV -MBMxETAPBgNVBAMTCE9DU1AgMS0yMDEGA1UdHwQqMCgwJqAkoCKGIGh0dHA6Ly9j -cmwudmVyaXNpZ24uY29tL3BjYTIuY3JsMBMGA1UdJQQMMAoGCCsGAQUFBwMJMEIG -CCsGAQUFBwEBBDYwNDAyBggrBgEFBQcwAaYmFiRodHRwOi8vb2NzcC52ZXJpc2ln -bi5jb20vb2NzcC9zdGF0dXMwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgG -CCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vUlBBMAkGA1UdEwQC -MAAwCwYDVR0PBAQDAgeAMA0GCSqGSIb3DQEBBQUAA4GBAB99CW4kRnUEnPMmm+M5 -bhfvvL2iG9IChIar0ECXLMRDiDcZayKoA3FQnSDcNmAgmnMtc1VsWJsswrQ0LHoz -QsqR2elDr88e4PXEeqs/cmMeqTfhWzuIsxOGgpBXy1f/9Fa+It3jl6jhvCJDwt1N -2/aBnpIUnjkPE1TegtjAXjSN ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 2e:96:9e:bf:b6:62:6c:ec:7b:e9:73:cc:e3:6c:c1:84 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority - Validity - Not Before: Aug 4 00:00:00 2000 GMT - Not After : Aug 3 23:59:59 2004 GMT - Subject: O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/RPA (c)00, CN=Class 3 Public Primary OCSP Responder - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:f1:e4:08:0e:83:bb:75:e3:48:e5:b8:db:a6:f0: - b9:ab:e9:3c:62:c7:5e:35:5b:d0:02:54:11:d8:c9: - d1:56:b9:76:4b:b9:ab:7a:e6:cd:ba:f6:0c:04:d6: - 7e:d6:b0:0a:65:ac:4e:39:e3:f1:f7:2d:a3:25:39: - ef:b0:8b:cf:be:db:0c:5d:6e:70:f4:07:cd:70:f7: - 3a:c0:3e:35:16:ed:78:8c:43:cf:c2:26:2e:47:d6: - 86:7d:9c:f1:be:d6:67:0c:22:25:a4:ca:65:e6:1f: - 7a:78:28:2f:3f:05:db:04:21:bf:e1:45:66:fe:3c: - b7:82:ed:5a:b8:16:15:b9:55 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Alternative Name: - DirName:/CN=OCSP 1-3 - X509v3 CRL Distribution Points: - URI:http://crl.verisign.com/pca3.1.1.crl - - X509v3 Extended Key Usage: - OCSP Signing - Authority Information Access: - OCSP - URI:http://ocsp.verisign.com/ocsp/status - - X509v3 Certificate Policies: - Policy: 2.16.840.1.113733.1.7.1.1 - CPS: https://www.verisign.com/RPA - - X509v3 Basic Constraints: - CA:FALSE - X509v3 Key Usage: - Digital Signature - Signature Algorithm: sha1WithRSAEncryption - 02:f6:53:63:c0:a9:1e:f2:d0:8b:33:30:8f:48:9b:4c:b0:56: - b4:83:71:4a:be:dc:50:d8:f5:b6:e0:0b:db:bd:78:4f:e9:cf: - 09:34:da:29:49:9d:01:73:5a:91:91:82:54:2c:13:0a:d3:77: - 23:cf:37:fc:63:de:a7:e3:f6:b7:b5:69:45:28:49:c3:91:dc: - aa:47:1c:a9:88:99:2c:05:2a:8d:8d:8a:fa:62:e2:5a:b7:00: - 20:5d:39:c4:28:c2:cb:fc:9e:a8:89:ae:5b:3d:8e:12:ea:32: - b2:fc:eb:14:d7:09:15:1a:c0:cd:1b:d5:b5:15:4e:41:d5:96: - e3:4e -MD5 Fingerprint=7D:51:92:C9:76:83:98:16:DE:8C:B3:86:C4:7D:66:FB ------BEGIN CERTIFICATE----- -MIIDojCCAwugAwIBAgIQLpaev7ZibOx76XPM42zBhDANBgkqhkiG9w0BAQUFADBf -MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT -LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw -HhcNMDAwODA0MDAwMDAwWhcNMDQwODAzMjM1OTU5WjCBpzEXMBUGA1UEChMOVmVy -aVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5 -BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20v -UlBBIChjKTAwMS4wLAYDVQQDEyVDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IE9DU1Ag -UmVzcG9uZGVyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDx5AgOg7t140jl -uNum8Lmr6Txix141W9ACVBHYydFWuXZLuat65s269gwE1n7WsAplrE454/H3LaMl -Oe+wi8++2wxdbnD0B81w9zrAPjUW7XiMQ8/CJi5H1oZ9nPG+1mcMIiWkymXmH3p4 -KC8/BdsEIb/hRWb+PLeC7Vq4FhW5VQIDAQABo4IBFDCCARAwIAYDVR0RBBkwF6QV -MBMxETAPBgNVBAMTCE9DU1AgMS0zMDUGA1UdHwQuMCwwKqAooCaGJGh0dHA6Ly9j -cmwudmVyaXNpZ24uY29tL3BjYTMuMS4xLmNybDATBgNVHSUEDDAKBggrBgEFBQcD -CTBCBggrBgEFBQcBAQQ2MDQwMgYIKwYBBQUHMAGmJhYkaHR0cDovL29jc3AudmVy -aXNpZ24uY29tL29jc3Avc3RhdHVzMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEw -KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL1JQQTAJBgNV -HRMEAjAAMAsGA1UdDwQEAwIHgDANBgkqhkiG9w0BAQUFAAOBgQAC9lNjwKke8tCL -MzCPSJtMsFa0g3FKvtxQ2PW24AvbvXhP6c8JNNopSZ0Bc1qRkYJULBMK03cjzzf8 -Y96n4/a3tWlFKEnDkdyqRxypiJksBSqNjYr6YuJatwAgXTnEKMLL/J6oia5bPY4S -6jKy/OsU1wkVGsDNG9W1FU5B1ZbjTg== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - ff:45:d5:27:5d:24:fb:b3:c2:39:24:53:57:e1:4f:de - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority - Validity - Not Before: Aug 4 00:00:00 2000 GMT - Not After : Aug 3 23:59:59 2004 GMT - Subject: O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/RPA (c)00, CN=Secure Server OCSP Responder - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:b8:51:99:64:85:0e:ee:b3:0a:68:f0:bf:63:76: - 1d:53:f5:fc:a1:78:8c:33:ee:9f:f4:be:39:da:9b: - 0f:4d:47:a9:8f:20:e8:4b:44:bd:ce:cd:7b:90:d1: - 30:e8:90:c4:25:7b:89:28:de:bd:f6:93:1d:ff:b9: - ff:92:b5:a9:8d:e4:ae:cc:e2:c3:07:83:6a:a3:72: - 10:01:27:62:22:a6:35:26:39:2d:9e:cf:60:0c:fc: - 47:a4:d7:d0:42:78:a7:1d:6c:d0:cb:4f:15:a7:29: - 0a:b4:95:45:c4:b1:e7:5a:09:d7:39:95:d8:1d:35: - 9e:c2:bd:b3:5d:c1:0c:4b:1f - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Alternative Name: - DirName:/CN=OCSP 1-4 - X509v3 CRL Distribution Points: - URI:http://crl.verisign.com/RSASecureServer-p.crl - - X509v3 Extended Key Usage: - OCSP Signing - Authority Information Access: - OCSP - URI:http://ocsp.verisign.com/ocsp/status - - X509v3 Certificate Policies: - Policy: 2.16.840.1.113733.1.7.1.1 - CPS: https://www.verisign.com/RPA - - X509v3 Basic Constraints: - CA:FALSE - X509v3 Key Usage: - Digital Signature - Signature Algorithm: sha1WithRSAEncryption - 00:b3:10:53:66:9c:49:93:2e:31:a0:02:42:d2:58:57:7e:66: - a1:fe:1b:8a:61:18:50:40:2c:1e:2b:41:a5:d6:db:ff:ac:08: - 1c:5a:05:6d:02:5c:2a:b6:96:4f:47:db:be:4e:db:ce:cc:ba: - 86:b8:18:ce:b1:12:91:5f:63:f7:f3:48:3e:cc:f1:4d:13:e4: - 6d:09:94:78:00:92:cb:a3:20:9d:06:0b:6a:a0:43:07:ce:d1: - 19:6c:8f:18:75:9a:9f:17:33:fd:a9:26:b8:e3:e2:de:c2:a8: - c4:5a:8a:7f:98:d6:07:06:6b:cc:56:9e:86:70:ce:d4:ef -MD5 Fingerprint=2C:62:C3:D8:80:01:16:09:EA:59:EA:78:AB:10:43:F6 ------BEGIN CERTIFICATE----- -MIIDnzCCAwygAwIBAgIRAP9F1SddJPuzwjkkU1fhT94wDQYJKoZIhvcNAQEFBQAw -XzELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMu -MS4wLAYDVQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -MB4XDTAwMDgwNDAwMDAwMFoXDTA0MDgwMzIzNTk1OVowgZ4xFzAVBgNVBAoTDlZl -cmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTsw -OQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29t -L1JQQSAoYykwMDElMCMGA1UEAxMcU2VjdXJlIFNlcnZlciBPQ1NQIFJlc3BvbmRl -cjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuFGZZIUO7rMKaPC/Y3YdU/X8 -oXiMM+6f9L452psPTUepjyDoS0S9zs17kNEw6JDEJXuJKN699pMd/7n/krWpjeSu -zOLDB4Nqo3IQASdiIqY1Jjktns9gDPxHpNfQQninHWzQy08VpykKtJVFxLHnWgnX -OZXYHTWewr2zXcEMSx8CAwEAAaOCAR0wggEZMCAGA1UdEQQZMBekFTATMREwDwYD -VQQDEwhPQ1NQIDEtNDA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vY3JsLnZlcmlz -aWduLmNvbS9SU0FTZWN1cmVTZXJ2ZXItcC5jcmwwEwYDVR0lBAwwCgYIKwYBBQUH -AwkwQgYIKwYBBQUHAQEENjA0MDIGCCsGAQUFBzABpiYWJGh0dHA6Ly9vY3NwLnZl -cmlzaWduLmNvbS9vY3NwL3N0YXR1czBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBwEB -MCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9SUEEwCQYD -VR0TBAIwADALBgNVHQ8EBAMCB4AwDQYJKoZIhvcNAQEFBQADfgAAsxBTZpxJky4x -oAJC0lhXfmah/huKYRhQQCweK0Gl1tv/rAgcWgVtAlwqtpZPR9u+TtvOzLqGuBjO -sRKRX2P380g+zPFNE+RtCZR4AJLLoyCdBgtqoEMHztEZbI8YdZqfFzP9qSa44+Le -wqjEWop/mNYHBmvMVp6GcM7U7w== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 53:61:b2:60:ae:db:71:8e:a7:94:b3:13:33:f4:07:09 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network - Validity - Not Before: Sep 26 00:00:00 2000 GMT - Not After : Sep 25 23:59:59 2010 GMT - Subject: O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)00, CN=VeriSign Time Stamping Authority CA - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:d2:19:9d:67:c2:00:21:59:62:ce:b4:09:22:44: - 69:8a:f8:25:5a:db:ed:0d:b7:36:7e:4e:e0:bb:94: - 3e:90:25:87:c2:61:47:29:d9:bd:54:b8:63:cc:2c: - 7d:69:b4:33:36:f4:37:07:9a:c1:dd:40:54:fc:e0: - 78:9d:a0:93:b9:09:3d:23:51:7f:44:c2:14:74:db: - 0a:be:cb:c9:30:34:40:98:3e:d0:d7:25:10:81:94: - bd:07:4f:9c:d6:54:27:df:2e:a8:bf:cb:90:8c:8d: - 75:4b:bc:e2:e8:44:87:cd:e6:41:0a:25:6e:e8:f4: - 24:02:c5:52:0f:6e:ec:98:75 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:TRUE, pathlen:0 - X509v3 Certificate Policies: - Policy: 2.16.840.1.113733.1.7.23.1.3 - CPS: https://www.verisign.com/rpa - - X509v3 CRL Distribution Points: - URI:http://crl.verisign.com/pca3.crl - - X509v3 Key Usage: - Certificate Sign, CRL Sign - Authority Information Access: - OCSP - URI:http://ocsp.verisign.com/ocsp/status - - Signature Algorithm: sha1WithRSAEncryption - 82:70:68:95:df:b6:0d:c2:01:70:19:4a:d2:54:56:1e:ac:f2: - 45:4c:87:b8:f5:35:eb:78:4b:05:a9:c8:9d:3b:19:21:2e:70: - 34:4a:a2:f5:89:e0:15:75:45:e7:28:37:00:34:27:29:e8:37: - 4b:f2:ef:44:97:6b:17:51:1a:c3:56:9d:3c:1a:8a:f6:4a:46: - 46:37:8c:fa:cb:f5:64:5a:38:68:2e:1c:c3:ef:70:ce:b8:46: - 06:16:bf:f7:7e:e7:b5:a8:3e:45:ac:a9:25:75:22:7b:6f:3f: - b0:9c:94:e7:c7:73:ab:ac:1f:ee:25:9b:c0:16:ed:b7:ca:5b: - f0:14 -MD5 Fingerprint=89:49:54:8C:C8:68:9A:83:29:EC:DC:06:73:21:AB:97 ------BEGIN CERTIFICATE----- -MIIDzTCCAzagAwIBAgIQU2GyYK7bcY6nlLMTM/QHCTANBgkqhkiG9w0BAQUFADCB -wTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTwwOgYDVQQL -EzNDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -IC0gRzIxOjA4BgNVBAsTMShjKSAxOTk4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1 -dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv -cmswHhcNMDAwOTI2MDAwMDAwWhcNMTAwOTI1MjM1OTU5WjCBpTEXMBUGA1UEChMO -VmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsx -OzA5BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5j -b20vcnBhIChjKTAwMSwwKgYDVQQDEyNWZXJpU2lnbiBUaW1lIFN0YW1waW5nIEF1 -dGhvcml0eSBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0hmdZ8IAIVli -zrQJIkRpivglWtvtDbc2fk7gu5Q+kCWHwmFHKdm9VLhjzCx9abQzNvQ3B5rB3UBU -/OB4naCTuQk9I1F/RMIUdNsKvsvJMDRAmD7Q1yUQgZS9B0+c1lQn3y6ov8uQjI11 -S7zi6ESHzeZBCiVu6PQkAsVSD27smHUCAwEAAaOB3zCB3DAPBgNVHRMECDAGAQH/ -AgEAMEUGA1UdIAQ+MDwwOgYMYIZIAYb4RQEHFwEDMCowKAYIKwYBBQUHAgEWHGh0 -dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwMQYDVR0fBCowKDAmoCSgIoYgaHR0 -cDovL2NybC52ZXJpc2lnbi5jb20vcGNhMy5jcmwwCwYDVR0PBAQDAgEGMEIGCCsG -AQUFBwEBBDYwNDAyBggrBgEFBQcwAaYmFiRodHRwOi8vb2NzcC52ZXJpc2lnbi5j -b20vb2NzcC9zdGF0dXMwDQYJKoZIhvcNAQEFBQADgYEAgnBold+2DcIBcBlK0lRW -HqzyRUyHuPU163hLBanInTsZIS5wNEqi9YngFXVF5yg3ADQnKeg3S/LvRJdrF1Ea -w1adPBqK9kpGRjeM+sv1ZFo4aC4cw+9wzrhGBha/937ntag+RaypJXUie28/sJyU -58dzq6wf7iWbwBbtt8pb8BQ= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=ZA, ST=Western Cape, L=Durbanville, O=Thawte, OU=Thawte Certification, CN=Thawte Timestamping CA - Validity - Not Before: Jan 1 00:00:00 1997 GMT - Not After : Dec 31 23:59:59 2020 GMT - Subject: C=ZA, ST=Western Cape, L=Durbanville, O=Thawte, OU=Thawte Certification, CN=Thawte Timestamping CA - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:d6:2b:58:78:61:45:86:53:ea:34:7b:51:9c:ed: - b0:e6:2e:18:0e:fe:e0:5f:a8:27:d3:b4:c9:e0:7c: - 59:4e:16:0e:73:54:60:c1:7f:f6:9f:2e:e9:3a:85: - 24:15:3c:db:47:04:63:c3:9e:c4:94:1a:5a:df:4c: - 7a:f3:d9:43:1d:3c:10:7a:79:25:db:90:fe:f0:51: - e7:30:d6:41:00:fd:9f:28:df:79:be:94:bb:9d:b6: - 14:e3:23:85:d7:a9:41:e0:4c:a4:79:b0:2b:1a:8b: - f2:f8:3b:8a:3e:45:ac:71:92:00:b4:90:41:98:fb: - 5f:ed:fa:b7:2e:8a:f8:88:37 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - Signature Algorithm: md5WithRSAEncryption - 67:db:e2:c2:e6:87:3d:40:83:86:37:35:7d:1f:ce:9a:c3:0c: - 66:20:a8:ba:aa:04:89:86:c2:f5:10:08:0d:bf:cb:a2:05:8a: - d0:4d:36:3e:f4:d7:ef:69:c6:5e:e4:b0:94:6f:4a:b9:e7:de: - 5b:88:b6:7b:db:e3:27:e5:76:c3:f0:35:c1:cb:b5:27:9b:33: - 79:dc:90:a6:00:9e:77:fa:fc:cd:27:94:42:16:9c:d3:1c:68: - ec:bf:5c:dd:e5:a9:7b:10:0a:32:74:54:13:31:8b:85:03:84: - 91:b7:58:01:30:14:38:af:28:ca:fc:b1:50:19:19:09:ac:89: - 49:d3 -MD5 Fingerprint=7F:66:7A:71:D3:EB:69:78:20:9A:51:14:9D:83:DA:20 ------BEGIN CERTIFICATE----- -MIICoTCCAgqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBizELMAkGA1UEBhMCWkEx -FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzAN -BgNVBAoTBlRoYXd0ZTEdMBsGA1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAd -BgNVBAMTFlRoYXd0ZSBUaW1lc3RhbXBpbmcgQ0EwHhcNOTcwMTAxMDAwMDAwWhcN -MjAxMjMxMjM1OTU5WjCBizELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4g -Q2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzANBgNVBAoTBlRoYXd0ZTEdMBsG -A1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAdBgNVBAMTFlRoYXd0ZSBUaW1l -c3RhbXBpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANYrWHhhRYZT -6jR7UZztsOYuGA7+4F+oJ9O0yeB8WU4WDnNUYMF/9p8u6TqFJBU820cEY8OexJQa -Wt9MevPZQx08EHp5JduQ/vBR5zDWQQD9nyjfeb6Uu522FOMjhdepQeBMpHmwKxqL -8vg7ij5FrHGSALSQQZj7X+36ty6K+Ig3AgMBAAGjEzARMA8GA1UdEwEB/wQFMAMB -Af8wDQYJKoZIhvcNAQEEBQADgYEAZ9viwuaHPUCDhjc1fR/OmsMMZiCouqoEiYbC -9RAIDb/LogWK0E02PvTX72nGXuSwlG9KuefeW4i2e9vjJ+V2w/A1wcu1J5szedyQ -pgCed/r8zSeUQhac0xxo7L9c3eWpexAKMnRUEzGLhQOEkbdYATAUOK8oyvyxUBkZ -CayJSdM= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 949686588 (0x389b113c) - Signature Algorithm: md5WithRSAEncryption - Issuer: O=Entrust.net, OU=www.entrust.net/SSL_CPS incorp. by ref. (limits liab.), OU=(c) 2000 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority - Validity - Not Before: Feb 4 17:20:00 2000 GMT - Not After : Feb 4 17:50:00 2020 GMT - Subject: O=Entrust.net, OU=www.entrust.net/SSL_CPS incorp. by ref. (limits liab.), OU=(c) 2000 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:c7:c1:5f:4e:71:f1:ce:f0:60:86:0f:d2:58:7f: - d3:33:97:2d:17:a2:75:30:b5:96:64:26:2f:68:c3: - 44:ab:a8:75:e6:00:67:34:57:9e:65:c7:22:9b:73: - e6:d3:dd:08:0e:37:55:aa:25:46:81:6c:bd:fe:a8: - f6:75:57:57:8c:90:6c:4a:c3:3e:8b:4b:43:0a:c9: - 11:56:9a:9a:27:22:99:cf:55:9e:61:d9:02:e2:7c: - b6:7c:38:07:dc:e3:7f:4f:9a:b9:03:41:80:b6:75: - 67:13:0b:9f:e8:57:36:c8:5d:00:36:de:66:14:da: - 6e:76:1f:4f:37:8c:82:13:89 - Exponent: 65537 (0x10001) - X509v3 extensions: - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 CRL Distribution Points: - DirName:/O=Entrust.net/OU=www.entrust.net/SSL_CPS incorp. by ref. (limits liab.)/OU=(c) 2000 Entrust.net Limited/CN=Entrust.net Secure Server Certification Authority/CN=CRL1 - - X509v3 Private Key Usage Period: - Not Before: Feb 4 17:20:00 2000 GMT, Not After: Feb 4 17:50:00 2020 GMT - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Authority Key Identifier: - keyid:CB:6C:C0:6B:E3:BB:3E:CB:FC:22:9C:FE:FB:8B:92:9C:B0:F2:6E:22 - - X509v3 Subject Key Identifier: - CB:6C:C0:6B:E3:BB:3E:CB:FC:22:9C:FE:FB:8B:92:9C:B0:F2:6E:22 - X509v3 Basic Constraints: - CA:TRUE - 1.2.840.113533.7.65.0: - 0...V5.0:4.0.... - Signature Algorithm: md5WithRSAEncryption - 62:db:81:91:ce:c8:9a:77:42:2f:ec:bd:27:a3:53:0f:50:1b: - ea:4e:92:f0:a9:af:a9:a0:ba:48:61:cb:ef:c9:06:ef:1f:d5: - f4:ee:df:56:2d:e6:ca:6a:19:73:aa:53:be:92:b3:50:02:b6: - 85:26:72:63:d8:75:50:62:75:14:b7:b3:50:1a:3f:ca:11:00: - 0b:85:45:69:6d:b6:a5:ae:51:e1:4a:dc:82:3f:6c:8c:34:b2: - 77:6b:d9:02:f6:7f:0e:ea:65:04:f1:cd:54:ca:ba:c9:cc:e0: - 84:f7:c8:3e:11:97:d3:60:09:18:bc:05:ff:6c:89:33:f0:ec: - 15:0f -MD5 Fingerprint=9D:66:6A:CC:FF:D5:F5:43:B4:BF:8C:16:D1:2B:A8:99 ------BEGIN CERTIFICATE----- -MIIElTCCA/6gAwIBAgIEOJsRPDANBgkqhkiG9w0BAQQFADCBujEUMBIGA1UEChML -RW50cnVzdC5uZXQxPzA9BgNVBAsUNnd3dy5lbnRydXN0Lm5ldC9TU0xfQ1BTIGlu -Y29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDIwMDAg -RW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJl -IFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMDAyMDQxNzIwMDBa -Fw0yMDAyMDQxNzUwMDBaMIG6MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDE/MD0GA1UE -CxQ2d3d3LmVudHJ1c3QubmV0L1NTTF9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p -dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMjAwMCBFbnRydXN0Lm5ldCBMaW1pdGVk -MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp -b24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHwV9OcfHO -8GCGD9JYf9Mzly0XonUwtZZkJi9ow0SrqHXmAGc0V55lxyKbc+bT3QgON1WqJUaB -bL3+qPZ1V1eMkGxKwz6LS0MKyRFWmponIpnPVZ5h2QLifLZ8OAfc439PmrkDQYC2 -dWcTC5/oVzbIXQA23mYU2m52H083jIITiQIDAQABo4IBpDCCAaAwEQYJYIZIAYb4 -QgEBBAQDAgAHMIHjBgNVHR8EgdswgdgwgdWggdKggc+kgcwwgckxFDASBgNVBAoT -C0VudHJ1c3QubmV0MT8wPQYDVQQLFDZ3d3cuZW50cnVzdC5uZXQvU1NMX0NQUyBp -bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAyMDAw -IEVudHJ1c3QubmV0IExpbWl0ZWQxOjA4BgNVBAMTMUVudHJ1c3QubmV0IFNlY3Vy -ZSBTZXJ2ZXIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxDTALBgNVBAMTBENSTDEw -KwYDVR0QBCQwIoAPMjAwMDAyMDQxNzIwMDBagQ8yMDIwMDIwNDE3NTAwMFowCwYD -VR0PBAQDAgEGMB8GA1UdIwQYMBaAFMtswGvjuz7L/CKc/vuLkpyw8m4iMB0GA1Ud -DgQWBBTLbMBr47s+y/winP77i5KcsPJuIjAMBgNVHRMEBTADAQH/MB0GCSqGSIb2 -fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0BAQQFAAOBgQBi24GRzsia -d0Iv7L0no1MPUBvqTpLwqa+poLpIYcvvyQbvH9X07t9WLebKahlzqlO+krNQAraF -JnJj2HVQYnUUt7NQGj/KEQALhUVpbbalrlHhStyCP2yMNLJ3a9kC9n8O6mUE8c1U -yrrJzOCE98g+EZfTYAkYvAX/bIkz8OwVDw== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 949941988 (0x389ef6e4) - Signature Algorithm: md5WithRSAEncryption - Issuer: O=Entrust.net, OU=www.entrust.net/GCCA_CPS incorp. by ref. (limits liab.), OU=(c) 2000 Entrust.net Limited, CN=Entrust.net Client Certification Authority - Validity - Not Before: Feb 7 16:16:40 2000 GMT - Not After : Feb 7 16:46:40 2020 GMT - Subject: O=Entrust.net, OU=www.entrust.net/GCCA_CPS incorp. by ref. (limits liab.), OU=(c) 2000 Entrust.net Limited, CN=Entrust.net Client Certification Authority - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:93:74:b4:b6:e4:c5:4b:d6:a1:68:7f:62:d5:ec: - f7:51:57:b3:72:4a:98:f5:d0:89:c9:ad:63:cd:4d: - 35:51:6a:84:d4:ad:c9:68:79:6f:b8:eb:11:db:87: - ae:5c:24:51:13:f1:54:25:84:af:29:2b:9f:e3:80: - e2:d9:cb:dd:c6:45:49:34:88:90:5e:01:97:ef:ea: - 53:a6:dd:fc:c1:de:4b:2a:25:e4:e9:35:fa:55:05: - 06:e5:89:7a:ea:a4:11:57:3b:fc:7c:3d:36:cd:67: - 35:6d:a4:a9:25:59:bd:66:f5:f9:27:e4:95:67:d6: - 3f:92:80:5e:f2:34:7d:2b:85 - Exponent: 65537 (0x10001) - X509v3 extensions: - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 CRL Distribution Points: - DirName:/O=Entrust.net/OU=www.entrust.net/GCCA_CPS incorp. by ref. (limits liab.)/OU=(c) 2000 Entrust.net Limited/CN=Entrust.net Client Certification Authority/CN=CRL1 - - X509v3 Private Key Usage Period: - Not Before: Feb 7 16:16:40 2000 GMT, Not After: Feb 7 16:46:40 2020 GMT - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Authority Key Identifier: - keyid:84:8B:74:FD:C5:8D:C0:FF:27:6D:20:37:45:7C:FE:2D:CE:BA:D3:7D - - X509v3 Subject Key Identifier: - 84:8B:74:FD:C5:8D:C0:FF:27:6D:20:37:45:7C:FE:2D:CE:BA:D3:7D - X509v3 Basic Constraints: - CA:TRUE - 1.2.840.113533.7.65.0: - 0...V5.0:4.0.... - Signature Algorithm: md5WithRSAEncryption - 4e:6f:35:80:3b:d1:8a:f5:0e:a7:20:cb:2d:65:55:d0:92:f4: - e7:84:b5:06:26:83:12:84:0b:ac:3b:b2:44:ee:bd:cf:40:db: - 20:0e:ba:6e:14:ea:30:e0:3b:62:7c:7f:8b:6b:7c:4a:a7:d5: - 35:3c:be:a8:5c:ea:4b:bb:93:8e:80:66:ab:0f:29:fd:4d:2d: - bf:1a:9b:0a:90:c5:ab:da:d1:b3:86:d4:2f:24:52:5c:7a:6d: - c6:f2:fe:e5:4d:1a:30:8c:90:f2:ba:d7:4a:3e:43:7e:d4:c8: - 50:1a:87:f8:4f:81:c7:76:0b:84:3a:72:9d:ce:65:66:97:ae: - 26:5e -MD5 Fingerprint=9A:77:19:18:ED:96:CF:DF:1B:B7:0E:F5:8D:B9:88:2E ------BEGIN CERTIFICATE----- -MIIEgzCCA+ygAwIBAgIEOJ725DANBgkqhkiG9w0BAQQFADCBtDEUMBIGA1UEChML -RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9HQ0NBX0NQUyBp -bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAyMDAw -IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENsaWVu -dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMDAyMDcxNjE2NDBaFw0yMDAy -MDcxNjQ2NDBaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 -LmVudHJ1c3QubmV0L0dDQ0FfQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp -YWIuKTElMCMGA1UECxMcKGMpIDIwMDAgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG -A1UEAxMqRW50cnVzdC5uZXQgQ2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCTdLS25MVL1qFof2LV7PdRV7Ny -Spj10InJrWPNTTVRaoTUrcloeW+46xHbh65cJFET8VQlhK8pK5/jgOLZy93GRUk0 -iJBeAZfv6lOm3fzB3ksqJeTpNfpVBQbliXrqpBFXO/x8PTbNZzVtpKklWb1m9fkn -5JVn1j+SgF7yNH0rhQIDAQABo4IBnjCCAZowEQYJYIZIAYb4QgEBBAQDAgAHMIHd -BgNVHR8EgdUwgdIwgc+ggcyggcmkgcYwgcMxFDASBgNVBAoTC0VudHJ1c3QubmV0 -MUAwPgYDVQQLFDd3d3cuZW50cnVzdC5uZXQvR0NDQV9DUFMgaW5jb3JwLiBieSBy -ZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMjAwMCBFbnRydXN0Lm5l -dCBMaW1pdGVkMTMwMQYDVQQDEypFbnRydXN0Lm5ldCBDbGllbnQgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMjAwMDAy -MDcxNjE2NDBagQ8yMDIwMDIwNzE2NDY0MFowCwYDVR0PBAQDAgEGMB8GA1UdIwQY -MBaAFISLdP3FjcD/J20gN0V8/i3OutN9MB0GA1UdDgQWBBSEi3T9xY3A/ydtIDdF -fP4tzrrTfTAMBgNVHRMEBTADAQH/MB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4w -AwIEkDANBgkqhkiG9w0BAQQFAAOBgQBObzWAO9GK9Q6nIMstZVXQkvTnhLUGJoMS -hAusO7JE7r3PQNsgDrpuFOow4DtifH+La3xKp9U1PL6oXOpLu5OOgGarDyn9TS2/ -GpsKkMWr2tGzhtQvJFJcem3G8v7lTRowjJDyutdKPkN+1MhQGof4T4HHdguEOnKd -zmVml64mXg== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=AOL Time Warner Inc., OU=America Online Inc., CN=AOL Time Warner Root Certification Authority 1 - Validity - Not Before: May 29 06:00:00 2002 GMT - Not After : Nov 20 15:03:00 2037 GMT - Subject: C=US, O=AOL Time Warner Inc., OU=America Online Inc., CN=AOL Time Warner Root Certification Authority 1 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:99:de:8f:c3:25:a3:69:34:e8:05:f7:74:b9:bf: - 5a:97:19:b9:2f:94:d2:93:e5:2d:89:ca:84:7c:3f: - 10:43:1b:8c:8b:7c:84:58:f8:24:7c:48:cf:2a:fd: - c0:15:d9:18:7e:84:1a:17:d3:db:9e:d7:ca:e4:d9: - d7:aa:58:51:87:f0:f0:8b:48:4e:e2:c2:c4:59:69: - 30:62:b6:30:a2:8c:0b:11:99:61:35:6d:7e:ef:c5: - b1:19:06:20:12:8e:42:e1:df:0f:96:10:52:a8:cf: - 9c:5f:95:14:d8:af:3b:75:0b:31:20:1f:44:2f:a2: - 62:41:b3:bb:18:21:db:ca:71:3c:8c:ec:b6:b9:0d: - 9f:ef:51:ef:4d:7b:12:f2:0b:0c:e1:ac:40:8f:77: - 7f:b0:ca:78:71:0c:5d:16:71:70:a2:d7:c2:3a:85: - cd:0e:9a:c4:e0:00:b0:d5:25:ea:dc:2b:e4:94:2d: - 38:9c:89:41:57:64:28:65:19:1c:b6:44:b4:c8:31: - 6b:8e:01:7b:76:59:25:7f:15:1c:84:08:7c:73:65: - 20:0a:a1:04:2e:1a:32:a8:9a:20:b1:9c:2c:21:59: - e7:fb:cf:ee:70:2d:08:ca:63:3e:2c:9b:93:19:6a: - a4:c2:97:ff:b7:86:57:88:85:6c:9e:15:16:2b:4d: - 2c:b3 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Subject Key Identifier: - A1:36:30:16:CB:86:90:00:45:80:53:B1:8F:C8:D8:3D:7C:BE:5F:12 - X509v3 Authority Key Identifier: - keyid:A1:36:30:16:CB:86:90:00:45:80:53:B1:8F:C8:D8:3D:7C:BE:5F:12 - - X509v3 Key Usage: critical - Digital Signature, Certificate Sign, CRL Sign - Signature Algorithm: sha1WithRSAEncryption - 8a:20:18:a5:be:b3:2f:b4:a6:84:00:40:30:29:fa:b4:14:73: - 4c:79:45:a7:f6:70:e0:e8:7e:64:1e:0a:95:7c:6a:61:c2:ef: - 4e:1f:be:ff:c9:99:1f:07:61:4a:e1:5d:4c:cd:ad:ee:d0:52: - 32:d9:59:32:bc:da:79:72:d6:7b:09:e8:02:81:35:d3:0a:df: - 11:1d:c9:79:a0:80:4d:fe:5a:d7:56:d6:ed:0f:2a:af:a7:18: - 75:33:0c:ea:c1:61:05:4f:6a:9a:89:f2:8d:b9:9f:2e:ef:b0: - 5f:5a:00:eb:be:ad:a0:f8:44:05:67:bc:cb:04:ef:9e:64:c5: - e9:c8:3f:05:bf:c6:2f:07:1c:c3:36:71:86:ca:38:66:4a:cd: - d6:b8:4b:c6:6c:a7:97:3b:fa:13:2d:6e:23:61:87:a1:63:42: - ac:c2:cb:97:9f:61:68:cf:2d:4c:04:9d:d7:25:4f:0a:0e:4d: - 90:8b:18:56:a8:93:48:57:dc:6f:ae:bd:9e:67:57:77:89:50: - b3:be:11:9b:45:67:83:86:19:87:d3:98:bd:08:1a:16:1f:58: - 82:0b:e1:96:69:05:4b:8e:ec:83:51:31:07:d5:d4:9f:ff:59: - 7b:a8:6e:85:cf:d3:4b:a9:49:b0:5f:b0:39:28:68:0e:73:dd: - 25:9a:de:12 -MD5 Fingerprint=E7:7A:DC:B1:1F:6E:06:1F:74:6C:59:16:27:C3:4B:C0 ------BEGIN CERTIFICATE----- -MIID5jCCAs6gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMx -HTAbBgNVBAoTFEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNh -IE9ubGluZSBJbmMuMTcwNQYDVQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0 -aWZpY2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyOTA2MDAwMFoXDTM3MTEyMDE1 -MDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wgVGltZSBXYXJuZXIg -SW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMuQU9M -IFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnej8Mlo2k06AX3dLm/WpcZuS+U -0pPlLYnKhHw/EEMbjIt8hFj4JHxIzyr9wBXZGH6EGhfT257XyuTZ16pYUYfw8ItI -TuLCxFlpMGK2MKKMCxGZYTVtfu/FsRkGIBKOQuHfD5YQUqjPnF+VFNivO3ULMSAf -RC+iYkGzuxgh28pxPIzstrkNn+9R7017EvILDOGsQI93f7DKeHEMXRZxcKLXwjqF -zQ6axOAAsNUl6twr5JQtOJyJQVdkKGUZHLZEtMgxa44Be3ZZJX8VHIQIfHNlIAqh -BC4aMqiaILGcLCFZ5/vP7nAtCMpjPiybkxlqpMKX/7eGV4iFbJ4VFitNLLMCAwEA -AaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUoTYwFsuGkABFgFOxj8jY -PXy+XxIwHwYDVR0jBBgwFoAUoTYwFsuGkABFgFOxj8jYPXy+XxIwDgYDVR0PAQH/ -BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQCKIBilvrMvtKaEAEAwKfq0FHNMeUWn -9nDg6H5kHgqVfGphwu9OH77/yZkfB2FK4V1Mza3u0FIy2VkyvNp5ctZ7CegCgTXT -Ct8RHcl5oIBN/lrXVtbtDyqvpxh1MwzqwWEFT2qaifKNuZ8u77BfWgDrvq2g+EQF -Z7zLBO+eZMXpyD8Fv8YvBxzDNnGGyjhmSs3WuEvGbKeXO/oTLW4jYYehY0KswsuX -n2Fozy1MBJ3XJU8KDk2QixhWqJNIV9xvrr2eZ1d3iVCzvhGbRWeDhhmH05i9CBoW -H1iCC+GWaQVLjuyDUTEH1dSf/1l7qG6Fz9NLqUmwX7A5KGgOc90lmt4S ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=AOL Time Warner Inc., OU=America Online Inc., CN=AOL Time Warner Root Certification Authority 2 - Validity - Not Before: May 29 06:00:00 2002 GMT - Not After : Sep 28 23:43:00 2037 GMT - Subject: C=US, O=AOL Time Warner Inc., OU=America Online Inc., CN=AOL Time Warner Root Certification Authority 2 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (4096 bit) - Modulus (4096 bit): - 00:b4:37:5a:08:16:99:14:e8:55:b1:1b:24:6b:fc: - c7:8b:e6:87:a9:89:ee:8b:99:cd:4f:40:86:a4:b6: - 4d:c9:d9:b1:dc:3c:4d:0d:85:4c:15:6c:46:8b:52: - 78:9f:f8:23:fd:67:f5:24:3a:68:5d:d0:f7:64:61: - 41:54:a3:8b:a5:08:d2:29:5b:9b:60:4f:26:83:d1: - 63:12:56:49:76:a4:16:c2:a5:9d:45:ac:8b:84:95: - a8:16:b1:ec:9f:ea:24:1a:ef:b9:57:5c:9a:24:21: - 2c:4d:0e:71:1f:a6:ac:5d:45:74:03:98:c4:54:8c: - 16:4a:41:77:86:95:75:0c:47:01:66:60:fc:15:f1: - 0f:ea:f5:14:78:c7:0e:d7:6e:81:1c:5e:bf:5e:e7: - 3a:2a:d8:97:17:30:7c:00:ad:08:9d:33:af:b8:99: - 61:80:8b:a8:95:7e:14:dc:12:6c:a4:d0:d8:ef:40: - 49:02:36:f9:6e:a9:d6:1d:96:56:04:b2:b3:2d:16: - 56:86:8f:d9:20:57:80:cd:67:10:6d:b0:4c:f0:da: - 46:b6:ea:25:2e:46:af:8d:b0:85:38:34:8b:14:26: - 82:2b:ac:ae:99:0b:8e:14:d7:52:bd:9e:69:c3:86: - 02:0b:ea:76:75:31:09:ce:33:19:21:85:43:e6:89: - 2d:9f:25:37:67:f1:23:6a:d2:00:6d:97:f9:9f:e7: - 29:ca:dd:1f:d7:06:ea:b8:c9:b9:09:21:9f:c8:3f: - 06:c5:d2:e9:12:46:00:4e:7b:08:eb:42:3d:2b:48: - 6e:9d:67:dd:4b:02:e4:44:f3:93:19:a5:27:ce:69: - 7a:be:67:d3:fc:50:a4:2c:ab:c3:6b:b9:e3:80:4c: - cf:05:61:4b:2b:dc:1b:b9:a6:d2:d0:aa:f5:2b:73: - fb:ce:90:35:9f:0c:52:1c:bf:5c:21:61:11:5b:15: - 4b:a9:24:51:fc:a4:5c:f7:17:9d:b0:d2:fa:07:e9: - 8f:56:e4:1a:8c:68:8a:04:d3:7c:5a:e3:9e:a2:a1: - ca:71:5b:a2:d4:a0:e7:29:85:5d:03:68:2a:4f:d2: - 06:d7:3d:f9:c3:03:2f:3f:65:f9:67:1e:47:40:d3: - 63:0f:e3:d5:8e:f9:85:ab:97:4c:b3:d7:26:eb:96: - 0a:94:de:85:36:9c:c8:7f:81:09:02:49:2a:0e:f5: - 64:32:0c:82:d1:ba:6a:82:1b:b3:4b:74:11:f3:8c: - 77:d6:9f:bf:dc:37:a4:a7:55:04:2f:d4:31:e8:d3: - 46:b9:03:7c:da:12:4e:59:64:b7:51:31:31:50:a0: - ca:1c:27:d9:10:2e:ad:d6:bd:10:66:2b:c3:b0:22: - 4a:12:5b - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Subject Key Identifier: - 4F:69:6D:03:7E:9D:9F:07:18:43:BC:B7:10:4E:D5:BF:A9:C4:20:28 - X509v3 Authority Key Identifier: - keyid:4F:69:6D:03:7E:9D:9F:07:18:43:BC:B7:10:4E:D5:BF:A9:C4:20:28 - - X509v3 Key Usage: critical - Digital Signature, Certificate Sign, CRL Sign - Signature Algorithm: sha1WithRSAEncryption - 3b:f3:ae:ca:e8:2e:87:85:fb:65:59:e7:ad:11:14:a5:57:bc: - 58:9f:24:12:57:bb:fb:3f:34:da:ee:ad:7a:2a:34:72:70:31: - 6b:c7:19:98:80:c9:82:de:37:77:5e:54:8b:8e:f2:ea:67:4f: - c9:74:84:91:56:09:d5:e5:7a:9a:81:b6:81:c2:ad:36:e4:f1: - 54:11:53:f3:34:45:01:26:c8:e5:1a:bc:34:44:21:de:ad:25: - fc:76:16:77:21:90:80:98:57:9d:4e:ea:ec:2f:aa:3c:14:7b: - 57:c1:7e:18:14:67:ee:24:c6:bd:ba:15:b0:d2:18:bd:b7:55: - 81:ac:53:c0:e8:dd:69:12:13:42:b7:02:b5:05:41:ca:79:50: - 6e:82:0e:71:72:93:46:e8:9d:0d:5d:bd:ae:ce:29:ad:63:d5: - 55:16:80:30:27:ff:76:ba:f7:b8:d6:4a:e3:d9:b5:f9:52:d0: - 4e:40:a9:c7:e5:c2:32:c7:aa:76:24:e1:6b:05:50:eb:c5:bf: - 0a:54:e5:b9:42:3c:24:fb:b7:07:9c:30:9f:79:5a:e6:e0:40: - 52:15:f4:fc:aa:f4:56:f9:44:97:87:ed:0e:65:72:5e:be:26: - fb:4d:a4:2d:08:07:de:d8:5c:a0:dc:81:33:99:18:25:11:77: - a7:eb:fd:58:09:2c:99:6b:1b:8a:f3:52:3f:1a:4d:48:60:f1: - a0:f6:33:02:53:8b:ed:25:09:b8:0d:2d:ed:97:73:ec:d7:96: - 1f:8e:60:0e:da:10:9b:2f:18:24:f6:a6:4d:0a:f9:3b:cb:75: - c2:cc:2f:ce:24:69:c9:0a:22:8e:59:a7:f7:82:0c:d7:d7:6b: - 35:9c:43:00:6a:c4:95:67:ba:9c:45:cb:b8:0e:37:f7:dc:4e: - 01:4f:be:0a:b6:03:d3:ad:8a:45:f7:da:27:4d:29:b1:48:df: - e4:11:e4:96:46:bd:6c:02:3e:d6:51:c8:95:17:01:15:a9:f2: - aa:aa:f2:bf:2f:65:1b:6f:d0:b9:1a:93:f5:8e:35:c4:80:87: - 3e:94:2f:66:e4:e9:a8:ff:41:9c:70:2a:4f:2a:39:18:95:1e: - 7e:fb:61:01:3c:51:08:2e:28:18:a4:16:0f:31:fd:3a:6c:23: - 93:20:76:e1:fd:07:85:d1:5b:3f:d2:1c:73:32:dd:fa:b9:f8: - 8c:cf:02:87:7a:9a:96:e4:ed:4f:89:8d:53:43:ab:0e:13:c0: - 01:15:b4:79:38:db:fc:6e:3d:9e:51:b6:b8:13:8b:67:cf:f9: - 7c:d9:22:1d:f6:5d:c5:1c:01:2f:98:e8:7a:24:18:bc:84:d7: - fa:dc:72:5b:f7:c1:3a:68 -MD5 Fingerprint=01:5A:99:C3:D6:4F:A9:4B:3C:3B:B1:A3:AB:27:4C:BF ------BEGIN CERTIFICATE----- -MIIF5jCCA86gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMx -HTAbBgNVBAoTFEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNh -IE9ubGluZSBJbmMuMTcwNQYDVQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0 -aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyOTA2MDAwMFoXDTM3MDkyODIz -NDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wgVGltZSBXYXJuZXIg -SW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMuQU9M -IFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIw -DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3WggWmRToVbEbJGv8x4vmh6mJ -7ouZzU9AhqS2TcnZsdw8TQ2FTBVsRotSeJ/4I/1n9SQ6aF3Q92RhQVSji6UI0ilb -m2BPJoPRYxJWSXakFsKlnUWsi4SVqBax7J/qJBrvuVdcmiQhLE0OcR+mrF1FdAOY -xFSMFkpBd4aVdQxHAWZg/BXxD+r1FHjHDtdugRxev17nOirYlxcwfACtCJ0zr7iZ -YYCLqJV+FNwSbKTQ2O9ASQI2+W6p1h2WVgSysy0WVoaP2SBXgM1nEG2wTPDaRrbq -JS5Gr42whTg0ixQmgiusrpkLjhTXUr2eacOGAgvqdnUxCc4zGSGFQ+aJLZ8lN2fx -I2rSAG2X+Z/nKcrdH9cG6rjJuQkhn8g/BsXS6RJGAE57COtCPStIbp1n3UsC5ETz -kxmlJ85per5n0/xQpCyrw2u544BMzwVhSyvcG7mm0tCq9Stz+86QNZ8MUhy/XCFh -EVsVS6kkUfykXPcXnbDS+gfpj1bkGoxoigTTfFrjnqKhynFbotSg5ymFXQNoKk/S -Btc9+cMDLz9l+WceR0DTYw/j1Y75hauXTLPXJuuWCpTehTacyH+BCQJJKg71ZDIM -gtG6aoIbs0t0EfOMd9afv9w3pKdVBC/UMejTRrkDfNoSTllkt1ExMVCgyhwn2RAu -rda9EGYrw7AiShJbAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE -FE9pbQN+nZ8HGEO8txBO1b+pxCAoMB8GA1UdIwQYMBaAFE9pbQN+nZ8HGEO8txBO -1b+pxCAoMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAO/Ouyugu -h4X7ZVnnrREUpVe8WJ8kEle7+z802u6teio0cnAxa8cZmIDJgt43d15Ui47y6mdP -yXSEkVYJ1eV6moG2gcKtNuTxVBFT8zRFASbI5Rq8NEQh3q0l/HYWdyGQgJhXnU7q -7C+qPBR7V8F+GBRn7iTGvboVsNIYvbdVgaxTwOjdaRITQrcCtQVBynlQboIOcXKT -RuidDV29rs4prWPVVRaAMCf/drr3uNZK49m1+VLQTkCpx+XCMseqdiThawVQ68W/ -ClTluUI8JPu3B5wwn3la5uBAUhX0/Kr0VvlEl4ftDmVyXr4m+02kLQgH3thcoNyB -M5kYJRF3p+v9WAksmWsbivNSPxpNSGDxoPYzAlOL7SUJuA0t7Zdz7NeWH45gDtoQ -my8YJPamTQr5O8t1wswvziRpyQoijlmn94IM19drNZxDAGrElWe6nEXLuA4399xO -AU++CrYD062KRffaJ00psUjf5BHklka9bAI+1lHIlRcBFanyqqryvy9lG2/QuRqT -9Y41xICHPpQvZuTpqP9BnHAqTyo5GJUefvthATxRCC4oGKQWDzH9OmwjkyB24f0H -hdFbP9IcczLd+rn4jM8Ch3qaluTtT4mNU0OrDhPAARW0eTjb/G49nlG2uBOLZ8/5 -fNkiHfZdxRwBL5joeiQYvITX+txyW/fBOmg= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1018510662 (0x3cb53d46) - Signature Algorithm: sha1WithRSAEncryption - Issuer: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA-Baltimore Implementation - Validity - Not Before: Apr 11 07:38:51 2002 GMT - Not After : Apr 11 07:38:51 2022 GMT - Subject: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA-Baltimore Implementation - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:bc:7e:c4:39:9c:8c:e3:d6:1c:86:ff:ca:62:ad: - e0:7f:30:45:7a:8e:1a:b3:b8:c7:f9:d1:36:ff:22: - f3:4e:6a:5f:84:10:fb:66:81:c3:94:79:31:d2:91: - e1:77:8e:18:2a:c3:14:de:51:f5:4f:a3:2b:bc:18: - 16:e2:b5:dd:79:de:22:f8:82:7e:cb:81:1f:fd:27: - 2c:8f:fa:97:64:22:8e:f8:ff:61:a3:9c:1b:1e:92: - 8f:c0:a8:09:df:09:11:ec:b7:7d:31:9a:1a:ea:83: - 21:06:3c:9f:ba:5c:ff:94:ea:6a:b8:c3:6b:55:34: - 4f:3d:32:1f:dd:81:14:e0:c4:3c:cd:9d:30:f8:30: - a9:97:d3:ee:cc:a3:d0:1f:5f:1c:13:81:d4:18:ab: - 94:d1:63:c3:9e:7f:35:92:9e:5f:44:ea:ec:f4:22: - 5c:b7:e8:3d:7d:a4:f9:89:a9:91:b2:2a:d9:eb:33: - 87:ee:a5:fd:e3:da:cc:88:e6:89:26:6e:c7:2b:82: - d0:5e:9d:59:db:14:ec:91:83:05:c3:5e:0e:c6:2a: - d0:04:dd:71:3d:20:4e:58:27:fc:53:fb:78:78:19: - 14:b2:fc:90:52:89:38:62:60:07:b4:a0:ec:ac:6b: - 50:d6:fd:b9:28:6b:ef:52:2d:3a:b2:ff:f1:01:40: - ac:37 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Certificate Policies: - Policy: 1.3.6.1.4.1.6334.0.0.1.9.40.51377 - User Notice: - Explicit Text: Reliance on or use of this Certificate creates an acknowledgment and acceptance of the then applicable standard terms and conditions of use, the Certification Practice Statement and the Relying Party Agreement, which can be found at the beTRUSTed web site, http://www.betrusted.com/products_services/index.html - CPS: http://www.betrusted.com/products_services/index.html - - X509v3 Subject Key Identifier: - 45:3D:C3:A9:D1:DC:3F:24:56:98:1C:73:18:88:6A:FF:83:47:ED:B6 - X509v3 Authority Key Identifier: - keyid:45:3D:C3:A9:D1:DC:3F:24:56:98:1C:73:18:88:6A:FF:83:47:ED:B6 - - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - Signature Algorithm: sha1WithRSAEncryption - 49:92:bc:a3:ee:ac:bd:fa:0d:c9:8b:79:86:1c:23:76:b0:80: - 59:77:fc:da:7f:b4:4b:df:c3:64:4b:6a:4e:0e:ad:f2:7d:59: - 77:05:ad:0a:89:73:b0:fa:bc:cb:dc:8d:00:88:8f:a6:a0:b2: - ea:ac:52:27:bf:a1:48:7c:97:10:7b:ba:ed:13:1d:9a:07:6e: - cb:31:62:12:e8:63:03:aa:7d:6d:e3:f8:1b:76:21:78:1b:9f: - 4b:43:8c:d3:49:86:f6:1b:5c:f6:2e:60:15:d3:e9:e3:7b:75: - 3f:d0:02:83:d0:18:82:41:cd:65:37:ea:8e:32:7e:bd:6b:99: - 5d:30:11:c8:db:48:54:1c:3b:e1:a7:13:d3:6a:48:93:f7:3d: - 8c:7f:05:e8:ce:f3:88:2a:63:04:b8:ea:7e:58:7c:01:7b:5b: - e1:c5:7d:ef:21:e0:8d:0e:5d:51:7d:b1:67:fd:a3:bd:38:36: - c6:f2:38:86:87:1a:96:68:60:46:fb:28:14:47:55:e1:a7:80: - 0c:6b:e2:ea:df:4d:7c:90:48:a0:36:bd:09:17:89:7f:c3:f2: - d3:9c:9c:e3:dd:c4:1b:dd:f5:b7:71:b3:53:05:89:06:d0:cb: - 4a:80:c1:c8:53:90:b5:3c:31:88:17:50:9f:c9:c4:0e:8b:d8: - a8:02:63:0d -MD5 Fingerprint=81:35:B9:FB:FB:12:CA:18:69:36:EB:AE:69:78:A1:F1 ------BEGIN CERTIFICATE----- -MIIFajCCBFKgAwIBAgIEPLU9RjANBgkqhkiG9w0BAQUFADBmMRIwEAYDVQQKEwli -ZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEzMDEGA1UEAxMq -YmVUUlVTVGVkIFJvb3QgQ0EtQmFsdGltb3JlIEltcGxlbWVudGF0aW9uMB4XDTAy -MDQxMTA3Mzg1MVoXDTIyMDQxMTA3Mzg1MVowZjESMBAGA1UEChMJYmVUUlVTVGVk -MRswGQYDVQQLExJiZVRSVVNUZWQgUm9vdCBDQXMxMzAxBgNVBAMTKmJlVFJVU1Rl -ZCBSb290IENBLUJhbHRpbW9yZSBJbXBsZW1lbnRhdGlvbjCCASIwDQYJKoZIhvcN -AQEBBQADggEPADCCAQoCggEBALx+xDmcjOPWHIb/ymKt4H8wRXqOGrO4x/nRNv8i -805qX4QQ+2aBw5R5MdKR4XeOGCrDFN5R9U+jK7wYFuK13XneIviCfsuBH/0nLI/6 -l2Qijvj/YaOcGx6Sj8CoCd8JEey3fTGaGuqDIQY8n7pc/5TqarjDa1U0Tz0yH92B -FODEPM2dMPgwqZfT7syj0B9fHBOB1BirlNFjw55/NZKeX0Tq7PQiXLfoPX2k+Ymp -kbIq2eszh+6l/ePazIjmiSZuxyuC0F6dWdsU7JGDBcNeDsYq0ATdcT0gTlgn/FP7 -eHgZFLL8kFKJOGJgB7Sg7KxrUNb9uShr71ItOrL/8QFArDcCAwEAAaOCAh4wggIa -MA8GA1UdEwEB/wQFMAMBAf8wggG1BgNVHSAEggGsMIIBqDCCAaQGDysGAQQBsT4A -AAEJKIORMTCCAY8wggFIBggrBgEFBQcCAjCCAToaggE2UmVsaWFuY2Ugb24gb3Ig -dXNlIG9mIHRoaXMgQ2VydGlmaWNhdGUgY3JlYXRlcyBhbiBhY2tub3dsZWRnbWVu -dCBhbmQgYWNjZXB0YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJk -IHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwgdGhlIENlcnRpZmljYXRpb24g -UHJhY3RpY2UgU3RhdGVtZW50IGFuZCB0aGUgUmVseWluZyBQYXJ0eSBBZ3JlZW1l -bnQsIHdoaWNoIGNhbiBiZSBmb3VuZCBhdCB0aGUgYmVUUlVTVGVkIHdlYiBzaXRl -LCBodHRwOi8vd3d3LmJldHJ1c3RlZC5jb20vcHJvZHVjdHNfc2VydmljZXMvaW5k -ZXguaHRtbDBBBggrBgEFBQcCARY1aHR0cDovL3d3dy5iZXRydXN0ZWQuY29tL3By -b2R1Y3RzX3NlcnZpY2VzL2luZGV4Lmh0bWwwHQYDVR0OBBYEFEU9w6nR3D8kVpgc -cxiIav+DR+22MB8GA1UdIwQYMBaAFEU9w6nR3D8kVpgccxiIav+DR+22MA4GA1Ud -DwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEASZK8o+6svfoNyYt5hhwjdrCA -WXf82n+0S9/DZEtqTg6t8n1ZdwWtColzsPq8y9yNAIiPpqCy6qxSJ7+hSHyXEHu6 -7RMdmgduyzFiEuhjA6p9beP4G3YheBufS0OM00mG9htc9i5gFdPp43t1P9ACg9AY -gkHNZTfqjjJ+vWuZXTARyNtIVBw74acT02pIk/c9jH8F6M7ziCpjBLjqflh8AXtb -4cV97yHgjQ5dUX2xZ/2jvTg2xvI4hocalmhgRvsoFEdV4aeADGvi6t9NfJBIoDa9 -CReJf8Py05yc493EG931t3GzUwWJBtDLSoDByFOQtTwxiBdQn8nEDovYqAJjDQ== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1018515264 (0x3cb54f40) - Signature Algorithm: sha1WithRSAEncryption - Issuer: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA - Entrust Implementation - Validity - Not Before: Apr 11 08:24:27 2002 GMT - Not After : Apr 11 08:54:27 2022 GMT - Subject: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA - Entrust Implementation - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:ba:f4:44:03:aa:12:6a:b5:43:ec:55:92:b6:30: - 7d:35:57:0c:db:f3:0d:27:6e:4c:f7:50:a8:9b:4e: - 2b:6f:db:f5:ad:1c:4b:5d:b3:a9:c1:fe:7b:44:eb: - 5b:a3:05:0d:1f:c5:34:2b:30:00:29:f1:78:40:b2: - a4:ff:3a:f4:01:88:17:7e:e6:d4:26:d3:ba:4c:ea: - 32:fb:43:77:97:87:23:c5:db:43:a3:f5:2a:a3:51: - 5e:e1:3b:d2:65:69:7e:55:15:9b:7a:e7:69:f7:44: - e0:57:b5:15:e8:66:60:0f:0d:03:fb:82:8e:a3:e8: - 11:7b:6c:be:c7:63:0e:17:93:df:cf:4b:ae:6e:73: - 75:e0:f3:aa:b9:a4:c0:09:1b:85:ea:71:29:88:41: - 32:f9:f0:2a:0e:6c:09:f2:74:6b:66:6c:52:13:1f: - 18:bc:d4:3e:f7:d8:6e:20:9e:ca:fe:fc:21:94:ee: - 13:28:4b:d7:5c:5e:0c:66:ee:e9:bb:0f:c1:34:b1: - 7f:08:76:f3:3d:26:70:c9:8b:25:1d:62:24:0c:ea: - 1c:75:4e:c0:12:e4:ba:13:1d:30:29:2d:56:33:05: - bb:97:59:7e:c6:49:4f:89:d7:2f:24:a8:b6:88:40: - b5:64:92:53:56:24:e4:a2:a0:85:b3:5e:90:b4:12: - 33:cd - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Certificate Policies: - Policy: 1.3.6.1.4.1.6334.0.0.2.9.40.51377 - User Notice: - Explicit Text: Reliance on or use of this Certificate creates an acknowledgment and acceptance of the then applicable standard terms and conditions of use, the Certification Practice Statement and the Relying Party Agreement, which can be found at the beTRUSTed web site, https://www.betrusted.com/products_services/index.html - CPS: https://www.betrusted.com/products_services/index.html - - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 CRL Distribution Points: - DirName:/O=beTRUSTed/OU=beTRUSTed Root CAs/CN=beTRUSTed Root CA - Entrust Implementation/CN=CRL1 - - X509v3 Private Key Usage Period: - Not Before: Apr 11 08:24:27 2002 GMT, Not After: Apr 11 08:54:27 2022 GMT - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Authority Key Identifier: - keyid:7D:70:E5:AE:38:8B:06:3F:AA:1C:1A:8F:F9:CF:24:30:AA:84:84:16 - - X509v3 Subject Key Identifier: - 7D:70:E5:AE:38:8B:06:3F:AA:1C:1A:8F:F9:CF:24:30:AA:84:84:16 - X509v3 Basic Constraints: - CA:TRUE - 1.2.840.113533.7.65.0: - 0...V6.0:4.0.... - Signature Algorithm: sha1WithRSAEncryption - 2a:b8:17:ce:1f:10:94:eb:b8:9a:b7:b9:5f:ec:da:f7:92:24: - ac:dc:92:3b:c7:20:8d:f2:99:e5:5d:38:a1:c2:34:ed:c5:13: - 59:5c:05:b5:2b:4f:61:9b:91:fb:41:fc:fc:d5:3c:4d:98:76: - 06:f5:81:7d:eb:dd:90:e6:d1:56:54:da:e3:2d:0c:9f:11:32: - 94:22:01:7a:f6:6c:2c:74:67:04:cc:a5:8f:8e:2c:b3:43:b5: - 94:a2:d0:7d:e9:62:7f:06:be:27:01:83:9e:3a:fd:8a:ee:98: - 43:4a:6b:d7:b5:97:3b:3a:bf:4f:6d:b4:63:fa:33:00:34:2e: - 2d:6d:96:c9:7b:ca:99:63:ba:be:f4:f6:30:a0:2d:98:96:e9: - 56:44:05:a9:44:a3:61:10:eb:82:a1:67:5d:bc:5d:27:75:aa: - 8a:28:36:2a:38:92:d9:dd:a4:5e:00:a5:cc:cc:7c:29:2a:de: - 28:90:ab:b7:e1:b6:ff:7d:25:0b:40:d8:aa:34:a3:2d:de:07: - eb:5f:ce:0a:dd:ca:7e:3a:7d:26:c1:62:68:3a:e6:2f:37:f3: - 81:86:21:c4:a9:64:aa:ef:45:36:d1:1a:66:7c:f8:e9:37:d6: - d6:61:be:a2:ad:48:e7:df:e6:74:fe:d3:6d:7d:d2:25:dc:ac: - 62:57:a9:f7 -MD5 Fingerprint=7D:86:90:8F:5B:F1:F2:40:C0:F7:3D:62:B5:A4:A9:3B ------BEGIN CERTIFICATE----- -MIIGUTCCBTmgAwIBAgIEPLVPQDANBgkqhkiG9w0BAQUFADBmMRIwEAYDVQQKEwli -ZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEzMDEGA1UEAxMq -YmVUUlVTVGVkIFJvb3QgQ0EgLSBFbnRydXN0IEltcGxlbWVudGF0aW9uMB4XDTAy -MDQxMTA4MjQyN1oXDTIyMDQxMTA4NTQyN1owZjESMBAGA1UEChMJYmVUUlVTVGVk -MRswGQYDVQQLExJiZVRSVVNUZWQgUm9vdCBDQXMxMzAxBgNVBAMTKmJlVFJVU1Rl -ZCBSb290IENBIC0gRW50cnVzdCBJbXBsZW1lbnRhdGlvbjCCASIwDQYJKoZIhvcN -AQEBBQADggEPADCCAQoCggEBALr0RAOqEmq1Q+xVkrYwfTVXDNvzDSduTPdQqJtO -K2/b9a0cS12zqcH+e0TrW6MFDR/FNCswACnxeECypP869AGIF37m1CbTukzqMvtD -d5eHI8XbQ6P1KqNRXuE70mVpflUVm3rnafdE4Fe1FehmYA8NA/uCjqPoEXtsvsdj -DheT389Lrm5zdeDzqrmkwAkbhepxKYhBMvnwKg5sCfJ0a2ZsUhMfGLzUPvfYbiCe -yv78IZTuEyhL11xeDGbu6bsPwTSxfwh28z0mcMmLJR1iJAzqHHVOwBLkuhMdMCkt -VjMFu5dZfsZJT4nXLySotohAtWSSU1Yk5KKghbNekLQSM80CAwEAAaOCAwUwggMB -MIIBtwYDVR0gBIIBrjCCAaowggGmBg8rBgEEAbE+AAACCSiDkTEwggGRMIIBSQYI -KwYBBQUHAgIwggE7GoIBN1JlbGlhbmNlIG9uIG9yIHVzZSBvZiB0aGlzIENlcnRp -ZmljYXRlIGNyZWF0ZXMgYW4gYWNrbm93bGVkZ21lbnQgYW5kIGFjY2VwdGFuY2Ug -b2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0 -aW9ucyBvZiB1c2UsIHRoZSBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu -dCBhbmQgdGhlIFJlbHlpbmcgUGFydHkgQWdyZWVtZW50LCB3aGljaCBjYW4gYmUg -Zm91bmQgYXQgdGhlIGJlVFJVU1RlZCB3ZWIgc2l0ZSwgaHR0cHM6Ly93d3cuYmV0 -cnVzdGVkLmNvbS9wcm9kdWN0c19zZXJ2aWNlcy9pbmRleC5odG1sMEIGCCsGAQUF -BwIBFjZodHRwczovL3d3dy5iZXRydXN0ZWQuY29tL3Byb2R1Y3RzX3NlcnZpY2Vz -L2luZGV4Lmh0bWwwEQYJYIZIAYb4QgEBBAQDAgAHMIGJBgNVHR8EgYEwfzB9oHug -eaR3MHUxEjAQBgNVBAoTCWJlVFJVU1RlZDEbMBkGA1UECxMSYmVUUlVTVGVkIFJv -b3QgQ0FzMTMwMQYDVQQDEypiZVRSVVNUZWQgUm9vdCBDQSAtIEVudHJ1c3QgSW1w -bGVtZW50YXRpb24xDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMjAwMjA0MTEw -ODI0MjdagQ8yMDIyMDQxMTA4NTQyN1owCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaA -FH1w5a44iwY/qhwaj/nPJDCqhIQWMB0GA1UdDgQWBBR9cOWuOIsGP6ocGo/5zyQw -qoSEFjAMBgNVHRMEBTADAQH/MB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6NC4wAwIE -kDANBgkqhkiG9w0BAQUFAAOCAQEAKrgXzh8QlOu4mre5X+za95IkrNySO8cgjfKZ -5V04ocI07cUTWVwFtStPYZuR+0H8/NU8TZh2BvWBfevdkObRVlTa4y0MnxEylCIB -evZsLHRnBMylj44ss0O1lKLQfelifwa+JwGDnjr9iu6YQ0pr17WXOzq/T220Y/oz -ADQuLW2WyXvKmWO6vvT2MKAtmJbpVkQFqUSjYRDrgqFnXbxdJ3Wqiig2KjiS2d2k -XgClzMx8KSreKJCrt+G2/30lC0DYqjSjLd4H61/OCt3Kfjp9JsFiaDrmLzfzgYYh -xKlkqu9FNtEaZnz46TfW1mG+oq1I59/mdP7TbX3SJdysYlep9w== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 3b:59:c7:7b:cd:5b:57:9e:bd:37:52:ac:76:b4:aa:1a - Signature Algorithm: sha1WithRSAEncryption - Issuer: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA - RSA Implementation - Validity - Not Before: Apr 11 11:18:13 2002 GMT - Not After : Apr 12 11:07:25 2022 GMT - Subject: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA - RSA Implementation - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:e4:ba:34:30:09:8e:57:d0:b9:06:2c:6f:6e:24: - 80:22:bf:5d:43:a6:fa:4f:ac:82:e7:1c:68:70:85: - 1b:a3:6e:b5:aa:78:d9:6e:07:4b:3f:e9:df:f5:ea: - e8:54:a1:61:8a:0e:2f:69:75:18:b7:0c:e5:14:8d: - 71:6e:98:b8:55:fc:0c:95:d0:9b:6e:e1:2d:88:d4: - 3a:40:6b:92:f1:99:96:64:de:db:ff:78:f4:ee:96: - 1d:47:89:7c:d4:be:b9:88:77:23:3a:09:e6:04:9e: - 6d:aa:5e:d2:c8:bd:9a:4e:19:df:89:ea:5b:0e:7e: - c3:e4:b4:f0:e0:69:3b:88:0f:41:90:f8:d4:71:43: - 24:c1:8f:26:4b:3b:56:e9:ff:8c:6c:37:e9:45:ad: - 85:8c:53:c3:60:86:90:4a:96:c9:b3:54:b0:bb:17: - f0:1c:45:d9:d4:1b:19:64:56:0a:19:f7:cc:e1:ff: - 86:af:7e:58:5e:ac:7a:90:1f:c9:28:39:45:7b:a2: - b6:c7:9c:1f:da:85:d4:21:86:59:30:93:be:53:33: - 37:f6:ef:41:cf:33:c7:ab:72:6b:25:f5:f3:53:1b: - 0c:4c:2e:f1:75:4b:ef:a0:87:f7:fe:8a:15:d0:6c: - d5:cb:f9:68:53:b9:70:15:13:c2:f5:2e:fb:43:35: - 75:2d - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:TRUE - X509v3 Certificate Policies: - Policy: 1.3.6.1.4.1.6334.0.0.3.9.40.51377 - CPS: http://www.betrusted.com/products_services/index.html - User Notice: - Explicit Text: Reliance on or use of this Certificate creates an acknowledgment and acceptance of the then applicable standard terms and conditions of use, the Certification Practice Statement and the Relying Party Agreement, which can be found at the beTRUSTed web site, http://www.betrusted.com/products_services/index.html - - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Authority Key Identifier: - keyid:A9:EC:14:7E:F9:D9:43:CC:53:2B:14:AD:CF:F7:F0:59:89:41:CD:19 - - X509v3 Subject Key Identifier: - A9:EC:14:7E:F9:D9:43:CC:53:2B:14:AD:CF:F7:F0:59:89:41:CD:19 - Signature Algorithm: sha1WithRSAEncryption - db:97:b0:75:ea:0c:c4:c1:98:ca:56:05:c0:a8:ad:26:48:af: - 2d:20:e8:81:c7:b6:df:43:c1:2c:1d:75:4b:d4:42:8d:e7:7a: - a8:74:dc:66:42:59:87:b3:f5:69:6d:d9:a9:9e:b3:7d:1c:31: - c1:f5:54:e2:59:24:49:e5:ee:bd:39:a6:6b:8a:98:44:fb:9b: - d7:2a:83:97:34:2d:c7:7d:35:4c:2d:34:b8:3e:0d:c4:ec:88: - 27:af:9e:92:fd:50:61:82:a8:60:07:14:53:cc:65:13:c1:f6: - 47:44:69:d2:31:c8:a6:dd:2e:b3:0b:de:4a:8d:5b:3d:ab:0d: - c2:35:52:a2:56:37:cc:32:8b:28:85:42:9c:91:40:7a:70:2b: - 38:36:d5:e1:73:1a:1f:e5:fa:7e:5f:dc:d6:9c:3b:30:ea:db: - c0:5b:27:5c:d3:73:07:c1:c2:f3:4c:9b:6f:9f:1b:ca:1e:aa: - a8:38:33:09:58:b2:ae:fc:07:e8:36:dc:55:ba:2f:4f:40:fe: - 7a:bd:06:a6:81:c1:93:22:7c:86:11:0a:06:77:48:ae:35:b7: - 2f:32:9a:61:5e:8b:be:29:9f:29:24:88:56:39:2c:a8:d2:ab: - 96:03:5a:d4:48:9f:b9:40:84:0b:98:68:fb:01:43:d6:1b:e2: - 09:b1:97:1c -MD5 Fingerprint=86:42:05:09:BC:A7:9D:EC:1D:F3:2E:0E:BA:D8:1D:D0 ------BEGIN CERTIFICATE----- -MIIFaDCCBFCgAwIBAgIQO1nHe81bV569N1KsdrSqGjANBgkqhkiG9w0BAQUFADBi -MRIwEAYDVQQKEwliZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENB -czEvMC0GA1UEAxMmYmVUUlVTVGVkIFJvb3QgQ0EgLSBSU0EgSW1wbGVtZW50YXRp -b24wHhcNMDIwNDExMTExODEzWhcNMjIwNDEyMTEwNzI1WjBiMRIwEAYDVQQKEwli -ZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEvMC0GA1UEAxMm -YmVUUlVTVGVkIFJvb3QgQ0EgLSBSU0EgSW1wbGVtZW50YXRpb24wggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkujQwCY5X0LkGLG9uJIAiv11DpvpPrILn -HGhwhRujbrWqeNluB0s/6d/16uhUoWGKDi9pdRi3DOUUjXFumLhV/AyV0Jtu4S2I -1DpAa5LxmZZk3tv/ePTulh1HiXzUvrmIdyM6CeYEnm2qXtLIvZpOGd+J6lsOfsPk -tPDgaTuID0GQ+NRxQyTBjyZLO1bp/4xsN+lFrYWMU8NghpBKlsmzVLC7F/AcRdnU -GxlkVgoZ98zh/4avflherHqQH8koOUV7orbHnB/ahdQhhlkwk75TMzf270HPM8er -cmsl9fNTGwxMLvF1S++gh/f+ihXQbNXL+WhTuXAVE8L1LvtDNXUtAgMBAAGjggIY -MIICFDAMBgNVHRMEBTADAQH/MIIBtQYDVR0gBIIBrDCCAagwggGkBg8rBgEEAbE+ -AAADCSiDkTEwggGPMEEGCCsGAQUFBwIBFjVodHRwOi8vd3d3LmJldHJ1c3RlZC5j -b20vcHJvZHVjdHNfc2VydmljZXMvaW5kZXguaHRtbDCCAUgGCCsGAQUFBwICMIIB -OhqCATZSZWxpYW5jZSBvbiBvciB1c2Ugb2YgdGhpcyBDZXJ0aWZpY2F0ZSBjcmVh -dGVzIGFuIGFja25vd2xlZGdtZW50IGFuZCBhY2NlcHRhbmNlIG9mIHRoZSB0aGVu -IGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdXNl -LCB0aGUgQ2VydGlmaWNhdGlvbiBQcmFjdGljZSBTdGF0ZW1lbnQgYW5kIHRoZSBS -ZWx5aW5nIFBhcnR5IEFncmVlbWVudCwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0IHRo -ZSBiZVRSVVNUZWQgd2ViIHNpdGUsIGh0dHA6Ly93d3cuYmV0cnVzdGVkLmNvbS9w -cm9kdWN0c19zZXJ2aWNlcy9pbmRleC5odG1sMAsGA1UdDwQEAwIBBjAfBgNVHSME -GDAWgBSp7BR++dlDzFMrFK3P9/BZiUHNGTAdBgNVHQ4EFgQUqewUfvnZQ8xTKxSt -z/fwWYlBzRkwDQYJKoZIhvcNAQEFBQADggEBANuXsHXqDMTBmMpWBcCorSZIry0g -6IHHtt9DwSwddUvUQo3neqh03GZCWYez9Wlt2ames30cMcH1VOJZJEnl7r05pmuK -mET7m9cqg5c0Lcd9NUwtNLg+DcTsiCevnpL9UGGCqGAHFFPMZRPB9kdEadIxyKbd -LrML3kqNWz2rDcI1UqJWN8wyiyiFQpyRQHpwKzg21eFzGh/l+n5f3NacOzDq28Bb -J1zTcwfBwvNMm2+fG8oeqqg4MwlYsq78B+g23FW6L09A/nq9BqaBwZMifIYRCgZ3 -SK41ty8ymmFei74pnykkiFY5LKjSq5YDWtRIn7lAhAuYaPsBQ9Yb4gmxlxw= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 0a:01:01:01:00:00:02:7c:00:00:00:0a:00:00:00:02 - Signature Algorithm: sha1WithRSAEncryption - Issuer: O=RSA Security Inc, OU=RSA Security 2048 V3 - Validity - Not Before: Feb 22 20:39:23 2001 GMT - Not After : Feb 22 20:39:23 2026 GMT - Subject: O=RSA Security Inc, OU=RSA Security 2048 V3 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:b7:8f:55:71:d2:80:dd:7b:69:79:a7:f0:18:50: - 32:3c:62:67:f6:0a:95:07:dd:e6:1b:f3:9e:d9:d2: - 41:54:6b:ad:9f:7c:be:19:cd:fb:46:ab:41:68:1e: - 18:ea:55:c8:2f:91:78:89:28:fb:27:29:60:ff:df: - 8f:8c:3b:c9:49:9b:b5:a4:94:ce:01:ea:3e:b5:63: - 7b:7f:26:fd:19:dd:c0:21:bd:84:d1:2d:4f:46:c3: - 4e:dc:d8:37:39:3b:28:af:cb:9d:1a:ea:2b:af:21: - a5:c1:23:22:b8:b8:1b:5a:13:87:57:83:d1:f0:20: - e7:e8:4f:23:42:b0:00:a5:7d:89:e9:e9:61:73:94: - 98:71:26:bc:2d:6a:e0:f7:4d:f0:f1:b6:2a:38:31: - 81:0d:29:e1:00:c1:51:0f:4c:52:f8:04:5a:aa:7d: - 72:d3:b8:87:2a:bb:63:10:03:2a:b3:a1:4f:0d:5a: - 5e:46:b7:3d:0e:f5:74:ec:99:9f:f9:3d:24:81:88: - a6:dd:60:54:e8:95:36:3d:c6:09:93:9a:a3:12:80: - 00:55:99:19:47:bd:d0:a5:7c:c3:ba:fb:1f:f7:f5: - 0f:f8:ac:b9:b5:f4:37:98:13:18:de:85:5b:b7:0c: - 82:3b:87:6f:95:39:58:30:da:6e:01:68:17:22:cc: - c0:0b - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - X509v3 Authority Key Identifier: - keyid:07:C3:51:30:A4:AA:E9:45:AE:35:24:FA:FF:24:2C:33:D0:B1:9D:8C - - X509v3 Subject Key Identifier: - 07:C3:51:30:A4:AA:E9:45:AE:35:24:FA:FF:24:2C:33:D0:B1:9D:8C - Signature Algorithm: sha1WithRSAEncryption - 5f:3e:86:76:6e:b8:35:3c:4e:36:1c:1e:79:98:bf:fd:d5:12: - 11:79:52:0e:ee:31:89:bc:dd:7f:f9:d1:c6:15:21:e8:8a:01: - 54:0d:3a:fb:54:b9:d6:63:d4:b1:aa:96:4d:a2:42:4d:d4:53: - 1f:8b:10:de:7f:65:be:60:13:27:71:88:a4:73:e3:84:63:d1: - a4:55:e1:50:93:e6:1b:0e:79:d0:67:bc:46:c8:bf:3f:17:0d: - 95:e6:c6:90:69:de:e7:b4:2f:de:95:7d:d0:12:3f:3d:3e:7f: - 4d:3f:14:68:f5:11:50:d5:c1:f4:90:a5:08:1d:31:60:ff:60: - 8c:23:54:0a:af:fe:a1:6e:c5:d1:7a:2a:68:78:cf:1e:82:0a: - 20:b4:1f:ad:e5:85:b2:6a:68:75:4e:ad:25:37:94:85:be:bd: - a1:d4:ea:b7:0c:4b:3c:9d:e8:12:00:f0:5f:ac:0d:e1:ac:70: - 63:73:f7:7f:79:9f:32:25:42:74:05:80:28:bf:bd:c1:24:96: - 58:15:b1:17:21:e9:89:4b:db:07:88:67:f4:15:ad:70:3e:2f: - 4d:85:3b:c2:b7:db:fe:98:68:23:89:e1:74:0f:de:f4:c5:84: - 63:29:1b:cc:cb:07:c9:00:a4:a9:d7:c2:22:4f:67:d7:77:ec: - 20:05:61:de -MD5 Fingerprint=77:0D:19:B1:21:FD:00:42:9C:3E:0C:A5:DD:0B:02:8E ------BEGIN CERTIFICATE----- -MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6 -MRkwFwYDVQQKExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJp -dHkgMjA0OCBWMzAeFw0wMTAyMjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAX -BgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAbBgNVBAsTFFJTQSBTZWN1cml0eSAy -MDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt49VcdKA3Xtp -eafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7Jylg -/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGl -wSMiuLgbWhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnh -AMFRD0xS+ARaqn1y07iHKrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2 -PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP+Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpu -AWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4EFgQUB8NR -MKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYc -HnmYv/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/ -Zb5gEydxiKRz44Rj0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+ -f00/FGj1EVDVwfSQpQgdMWD/YIwjVAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVO -rSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395nzIlQnQFgCi/vcEkllgVsRch -6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kApKnXwiJPZ9d3 -7CAFYd4= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 0a:01:01:01:00:00:02:7c:00:00:00:0b:00:00:00:02 - Signature Algorithm: sha1WithRSAEncryption - Issuer: O=RSA Security Inc, OU=RSA Security 1024 V3 - Validity - Not Before: Feb 22 21:01:49 2001 GMT - Not After : Feb 22 20:01:49 2026 GMT - Subject: O=RSA Security Inc, OU=RSA Security 1024 V3 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:d5:dd:fe:66:09:cf:24:3c:3e:ae:81:4e:4e:8a: - c4:69:80:5b:59:3b:df:b9:4d:4c:ca:b5:2d:c3:27: - 2d:3c:af:00:42:6d:bc:28:a6:96:cf:7f:d7:58:ac: - 83:0a:a3:55:b5:7b:17:90:15:84:4c:8a:ee:26:99: - dc:58:ef:c7:38:a6:aa:af:d0:8e:42:c8:62:d7:ab: - ac:a9:fb:4a:7d:bf:ea:fe:12:4d:dd:ff:26:2d:6f: - 36:54:68:c8:d2:84:56:ee:92:53:61:09:b3:3f:39: - 9b:a8:c9:9b:bd:ce:9f:7e:d4:19:6a:16:29:18:be: - d7:3a:69:dc:25:5b:33:1a:51 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - X509v3 Authority Key Identifier: - keyid:C4:C0:1C:A4:07:94:FD:CD:4D:01:D4:54:DA:A5:0C:5F:DE:AE:05:5A - - X509v3 Subject Key Identifier: - C4:C0:1C:A4:07:94:FD:CD:4D:01:D4:54:DA:A5:0C:5F:DE:AE:05:5A - Signature Algorithm: sha1WithRSAEncryption - 3f:2d:6a:e3:26:43:95:7d:89:97:65:fb:75:e4:72:1d:46:57: - c4:61:6b:69:9f:12:9b:2c:d5:5a:e8:c0:a2:f0:43:95:e3:1f: - e9:76:cd:dc:eb:bc:93:a0:65:0a:c7:4d:4f:5f:a7:af:a2:46: - 14:b9:0c:f3:cc:bd:6a:6e:b7:9d:de:25:42:d0:54:ff:9e:68: - 73:63:dc:24:eb:22:bf:a8:72:f2:5e:00:e1:0d:4e:3a:43:6e: - 99:4e:3f:89:78:03:98:ca:f3:55:cc:9d:ae:8e:c1:aa:45:98: - fa:8f:1a:a0:8d:88:23:f1:15:41:0d:a5:46:3e:91:3f:8b:eb: - f7:71 -MD5 Fingerprint=3A:E5:50:B0:39:BE:C7:46:36:33:A1:FE:82:3E:8D:94 ------BEGIN CERTIFICATE----- -MIICXDCCAcWgAwIBAgIQCgEBAQAAAnwAAAALAAAAAjANBgkqhkiG9w0BAQUFADA6 -MRkwFwYDVQQKExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJp -dHkgMTAyNCBWMzAeFw0wMTAyMjIyMTAxNDlaFw0yNjAyMjIyMDAxNDlaMDoxGTAX -BgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAbBgNVBAsTFFJTQSBTZWN1cml0eSAx -MDI0IFYzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDV3f5mCc8kPD6ugU5O -isRpgFtZO9+5TUzKtS3DJy08rwBCbbwoppbPf9dYrIMKo1W1exeQFYRMiu4mmdxY -78c4pqqv0I5CyGLXq6yp+0p9v+r+Ek3d/yYtbzZUaMjShFbuklNhCbM/OZuoyZu9 -zp9+1BlqFikYvtc6adwlWzMaUQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBTEwBykB5T9zU0B1FTapQxf3q4FWjAd -BgNVHQ4EFgQUxMAcpAeU/c1NAdRU2qUMX96uBVowDQYJKoZIhvcNAQEFBQADgYEA -Py1q4yZDlX2Jl2X7deRyHUZXxGFraZ8SmyzVWujAovBDleMf6XbN3Ou8k6BlCsdN -T1+nr6JGFLkM88y9am63nd4lQtBU/55oc2PcJOsiv6hy8l4A4Q1OOkNumU4/iXgD -mMrzVcydro7BqkWY+o8aoI2II/EVQQ2lRj6RP4vr93E= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 144470 (0x23456) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA - Validity - Not Before: May 21 04:00:00 2002 GMT - Not After : May 21 04:00:00 2022 GMT - Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:da:cc:18:63:30:fd:f4:17:23:1a:56:7e:5b:df: - 3c:6c:38:e4:71:b7:78:91:d4:bc:a1:d8:4c:f8:a8: - 43:b6:03:e9:4d:21:07:08:88:da:58:2f:66:39:29: - bd:05:78:8b:9d:38:e8:05:b7:6a:7e:71:a4:e6:c4: - 60:a6:b0:ef:80:e4:89:28:0f:9e:25:d6:ed:83:f3: - ad:a6:91:c7:98:c9:42:18:35:14:9d:ad:98:46:92: - 2e:4f:ca:f1:87:43:c1:16:95:57:2d:50:ef:89:2d: - 80:7a:57:ad:f2:ee:5f:6b:d2:00:8d:b9:14:f8:14: - 15:35:d9:c0:46:a3:7b:72:c8:91:bf:c9:55:2b:cd: - d0:97:3e:9c:26:64:cc:df:ce:83:19:71:ca:4e:e6: - d4:d5:7b:a9:19:cd:55:de:c8:ec:d2:5e:38:53:e5: - 5c:4f:8c:2d:fe:50:23:36:fc:66:e6:cb:8e:a4:39: - 19:00:b7:95:02:39:91:0b:0e:fe:38:2e:d1:1d:05: - 9a:f6:4d:3e:6f:0f:07:1d:af:2c:1e:8f:60:39:e2: - fa:36:53:13:39:d4:5e:26:2b:db:3d:a8:14:bd:32: - eb:18:03:28:52:04:71:e5:ab:33:3d:e1:38:bb:07: - 36:84:62:9c:79:ea:16:30:f4:5f:c0:2b:e8:71:6b: - e4:f9 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Subject Key Identifier: - C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E - X509v3 Authority Key Identifier: - keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E - - Signature Algorithm: sha1WithRSAEncryption - 35:e3:29:6a:e5:2f:5d:54:8e:29:50:94:9f:99:1a:14:e4:8f: - 78:2a:62:94:a2:27:67:9e:d0:cf:1a:5e:47:e9:c1:b2:a4:cf: - dd:41:1a:05:4e:9b:4b:ee:4a:6f:55:52:b3:24:a1:37:0a:eb: - 64:76:2a:2e:2c:f3:fd:3b:75:90:bf:fa:71:d8:c7:3d:37:d2: - b5:05:95:62:b9:a6:de:89:3d:36:7b:38:77:48:97:ac:a6:20: - 8f:2e:a6:c9:0c:c2:b2:99:45:00:c7:ce:11:51:22:22:e0:a5: - ea:b6:15:48:09:64:ea:5e:4f:74:f7:05:3e:c7:8a:52:0c:db: - 15:b4:bd:6d:9b:e5:c6:b1:54:68:a9:e3:69:90:b6:9a:a5:0f: - b8:b9:3f:20:7d:ae:4a:b5:b8:9c:e4:1d:b6:ab:e6:94:a5:c1: - c7:83:ad:db:f5:27:87:0e:04:6c:d5:ff:dd:a0:5d:ed:87:52: - b7:2b:15:02:ae:39:a6:6a:74:e9:da:c4:e7:bc:4d:34:1e:a9: - 5c:4d:33:5f:92:09:2f:88:66:5d:77:97:c7:1d:76:13:a9:d5: - e5:f1:16:09:11:35:d5:ac:db:24:71:70:2c:98:56:0b:d9:17: - b4:d1:e3:51:2b:5e:75:e8:d5:d0:dc:4f:34:ed:c2:05:66:80: - a1:cb:e6:33 -MD5 Fingerprint=F7:75:AB:29:FB:51:4E:B7:77:5E:FF:05:3C:99:8E:F5 ------BEGIN CERTIFICATE----- -MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT -MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i -YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG -EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg -R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 -9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq -fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv -iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU -1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ -bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW -MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA -ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l -uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn -Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS -tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF -PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un -hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV -5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 44:be:0c:8b:50:00:24:b4:11:d3:36:30:4b:c0:33:77 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN-USERFirst-Network Applications - Validity - Not Before: Jul 9 18:48:39 1999 GMT - Not After : Jul 9 18:57:49 2019 GMT - Subject: C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN-USERFirst-Network Applications - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:b3:fb:91:a1:e4:36:55:85:ac:06:34:5b:a0:9a: - 58:b2:f8:b5:0f:05:77:83:ae:32:b1:76:92:68:ec: - 23:4a:c9:76:3f:e3:9c:b6:37:79:03:b9:ab:69:8d: - 07:25:b6:19:67:e4:b0:1b:18:73:61:4a:e8:7e:cd: - d3:2f:64:e3:a6:7c:0c:fa:17:80:a3:0d:47:89:4f: - 51:71:2f:ee:fc:3f:f9:b8:16:80:87:89:93:25:20: - 9a:43:82:69:24:76:28:59:35:a1:1d:c0:7f:83:06: - 64:16:20:2c:d3:49:a4:85:b4:c0:61:7f:51:08:f8: - 68:15:91:80:cb:a5:d5:ee:3b:3a:f4:84:04:5e:60: - 59:a7:8c:34:72:ee:b8:78:c5:d1:3b:12:4a:6f:7e: - 65:27:b9:a4:55:c5:b9:6f:43:a4:c5:1d:2c:99:c0: - 52:a4:78:4c:15:b3:40:98:08:6b:43:c6:01:b0:7a: - 7b:f5:6b:1c:22:3f:cb:ef:ff:a8:d0:3a:4b:76:15: - 9e:d2:d1:c6:2e:e3:db:57:1b:32:a2:b8:6f:e8:86: - a6:3f:70:ab:e5:70:92:ab:44:1e:40:50:fb:9c:a3: - 62:e4:6c:6e:a0:c8:de:e2:80:42:fa:e9:2f:e8:ce: - 32:04:8f:7c:8d:b7:1c:a3:35:3c:15:dd:9e:c3:ae: - 97:a5 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Key Usage: - Digital Signature, Non Repudiation, Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Subject Key Identifier: - FA:86:C9:DB:E0:BA:E9:78:F5:4B:A8:D6:15:DF:F0:D3:E1:6A:14:3C - X509v3 CRL Distribution Points: - URI:http://crl.usertrust.com/UTN-USERFirst-NetworkApplications.crl - - Signature Algorithm: sha1WithRSAEncryption - a4:f3:25:cc:d1:d4:91:83:22:d0:cc:32:ab:9b:96:4e:34:91: - 54:20:25:34:61:5f:2a:02:15:e1:8b:aa:ff:7d:64:51:cf:0a: - ff:bc:7d:d8:21:6a:78:cb:2f:51:6f:f8:42:1d:33:bd:eb:b5: - 7b:94:c3:c3:a9:a0:2d:df:d1:29:1f:1d:fe:8f:3f:bb:a8:45: - 2a:7f:d1:6e:55:24:e2:bb:02:fb:31:3f:be:e8:bc:ec:40:2b: - f8:01:d4:56:38:e4:ca:44:82:b5:61:20:21:67:65:f6:f0:0b: - e7:34:f8:a5:c2:9c:a3:5c:40:1f:85:93:95:06:de:4f:d4:27: - a9:b6:a5:fc:16:cd:73:31:3f:b8:65:27:cf:d4:53:1a:f0:ac: - 6e:9f:4f:05:0c:03:81:a7:84:29:c4:5a:bd:64:57:72:ad:3b: - cf:37:18:a6:98:c6:ad:06:b4:dc:08:a3:04:d5:29:a4:96:9a: - 12:67:4a:8c:60:45:9d:f1:23:9a:b0:00:9c:68:b5:98:50:d3: - ef:8e:2e:92:65:b1:48:3e:21:be:15:30:2a:0d:b5:0c:a3:6b: - 3f:ae:7f:57:f5:1f:96:7c:df:6f:dd:82:30:2c:65:1b:40:4a: - cd:68:b9:72:ec:71:76:ec:54:8e:1f:85:0c:01:6a:fa:a6:38: - ac:1f:c4:84 -MD5 Fingerprint=BF:60:59:A3:5B:BA:F6:A7:76:42:DA:6F:1A:7B:50:CF ------BEGIN CERTIFICATE----- -MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCB -ozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug -Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho -dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3Qt -TmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5WhcNMTkwNzA5MTg1 -NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0 -IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYD -VQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VS -Rmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IB -DwAwggEKAoIBAQCz+5Gh5DZVhawGNFugmliy+LUPBXeDrjKxdpJo7CNKyXY/45y2 -N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4CjDUeJT1FxL+78P/m4FoCH -iZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXuOzr0hARe -YFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1 -axwiP8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6g -yN7igEL66S/ozjIEj3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQD -AgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPh -ahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9V -VE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0GCSqGSIb3DQEB -BQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3Y -IWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6Lzs -QCv4AdRWOOTKRIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4 -ZSfP1FMa8Kxun08FDAOBp4QpxFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qM -YEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAqDbUMo2s/rn9X9R+WfN9v3YIwLGUb -QErNaLly7HF27FSOH4UMAWr6pjisH8SE ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=America Online Inc., CN=America Online Root Certification Authority 1 - Validity - Not Before: May 28 06:00:00 2002 GMT - Not After : Nov 19 20:43:00 2037 GMT - Subject: C=US, O=America Online Inc., CN=America Online Root Certification Authority 1 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:a8:2f:e8:a4:69:06:03:47:c3:e9:2a:98:ff:19: - a2:70:9a:c6:50:b2:7e:a5:df:68:4d:1b:7c:0f:b6: - 97:68:7d:2d:a6:8b:97:e9:64:86:c9:a3:ef:a0:86: - bf:60:65:9c:4b:54:88:c2:48:c5:4a:39:bf:14:e3: - 59:55:e5:19:b4:74:c8:b4:05:39:5c:16:a5:e2:95: - 05:e0:12:ae:59:8b:a2:33:68:58:1c:a6:d4:15:b7: - d8:9f:d7:dc:71:ab:7e:9a:bf:9b:8e:33:0f:22:fd: - 1f:2e:e7:07:36:ef:62:39:c5:dd:cb:ba:25:14:23: - de:0c:c6:3d:3c:ce:82:08:e6:66:3e:da:51:3b:16: - 3a:a3:05:7f:a0:dc:87:d5:9c:fc:72:a9:a0:7d:78: - e4:b7:31:55:1e:65:bb:d4:61:b0:21:60:ed:10:32: - 72:c5:92:25:1e:f8:90:4a:18:78:47:df:7e:30:37: - 3e:50:1b:db:1c:d3:6b:9a:86:53:07:b0:ef:ac:06: - 78:f8:84:99:fe:21:8d:4c:80:b6:0c:82:f6:66:70: - 79:1a:d3:4f:a3:cf:f1:cf:46:b0:4b:0f:3e:dd:88: - 62:b8:8c:a9:09:28:3b:7a:c7:97:e1:1e:e5:f4:9f: - c0:c0:ae:24:a0:c8:a1:d9:0f:d6:7b:26:82:69:32: - 3d:a7 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Subject Key Identifier: - 00:AD:D9:A3:F6:79:F6:6E:74:A9:7F:33:3D:81:17:D7:4C:CF:33:DE - X509v3 Authority Key Identifier: - keyid:00:AD:D9:A3:F6:79:F6:6E:74:A9:7F:33:3D:81:17:D7:4C:CF:33:DE - - X509v3 Key Usage: critical - Digital Signature, Certificate Sign, CRL Sign - Signature Algorithm: sha1WithRSAEncryption - 7c:8a:d1:1f:18:37:82:e0:b8:b0:a3:ed:56:95:c8:62:61:9c: - 05:a2:cd:c2:62:26:61:cd:10:16:d7:cc:b4:65:34:d0:11:8a: - ad:a8:a9:05:66:ef:74:f3:6d:5f:9d:99:af:f6:8b:fb:eb:52: - b2:05:98:a2:6f:2a:c5:54:bd:25:bd:5f:ae:c8:86:ea:46:2c: - c1:b3:bd:c1:e9:49:70:18:16:97:08:13:8c:20:e0:1b:2e:3a: - 47:cb:1e:e4:00:30:95:5b:f4:45:a3:c0:1a:b0:01:4e:ab:bd: - c0:23:6e:63:3f:80:4a:c5:07:ed:dc:e2:6f:c7:c1:62:f1:e3: - 72:d6:04:c8:74:67:0b:fa:88:ab:a1:01:c8:6f:f0:14:af:d2: - 99:cd:51:93:7e:ed:2e:38:c7:bd:ce:46:50:3d:72:e3:79:25: - 9d:9b:88:2b:10:20:dd:a5:b8:32:9f:8d:e0:29:df:21:74:86: - 82:db:2f:82:30:c6:c7:35:86:b3:f9:96:5f:46:db:0c:45:fd: - f3:50:c3:6f:c6:c3:48:ad:46:a6:e1:27:47:0a:1d:0e:9b:b6: - c2:77:7f:63:f2:e0:7d:1a:be:fc:e0:df:d7:c7:a7:6c:b0:f9: - ae:ba:3c:fd:74:b4:11:e8:58:0d:80:bc:d3:a8:80:3a:99:ed: - 75:cc:46:7b -MD5 Fingerprint=14:F1:08:AD:9D:FA:64:E2:89:E7:1C:CF:A8:AD:7D:5E ------BEGIN CERTIFICATE----- -MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEc -MBoGA1UEChMTQW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBP -bmxpbmUgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2 -MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0Ft -ZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2EgT25saW5lIFJvb3Qg -Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lk -hsmj76CGv2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym -1BW32J/X3HGrfpq/m44zDyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsW -OqMFf6Dch9Wc/HKpoH145LcxVR5lu9RhsCFg7RAycsWSJR74kEoYeEfffjA3PlAb -2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP8c9GsEsPPt2IYriMqQko -O3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAU -AK3Zo/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB -BQUAA4IBAQB8itEfGDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkF -Zu90821fnZmv9ov761KyBZiibyrFVL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAb -LjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft3OJvx8Fi8eNy1gTIdGcL+oir -oQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43gKd8hdIaC2y+C -MMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds -sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7 ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=America Online Inc., CN=America Online Root Certification Authority 2 - Validity - Not Before: May 28 06:00:00 2002 GMT - Not After : Sep 29 14:08:00 2037 GMT - Subject: C=US, O=America Online Inc., CN=America Online Root Certification Authority 2 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (4096 bit) - Modulus (4096 bit): - 00:cc:41:45:1d:e9:3d:4d:10:f6:8c:b1:41:c9:e0: - 5e:cb:0d:b7:bf:47:73:d3:f0:55:4d:dd:c6:0c:fa: - b1:66:05:6a:cd:78:b4:dc:02:db:4e:81:f3:d7:a7: - 7c:71:bc:75:63:a0:5d:e3:07:0c:48:ec:25:c4:03: - 20:f4:ff:0e:3b:12:ff:9b:8d:e1:c6:d5:1b:b4:6d: - 22:e3:b1:db:7f:21:64:af:86:bc:57:22:2a:d6:47: - 81:57:44:82:56:53:bd:86:14:01:0b:fc:7f:74:a4: - 5a:ae:f1:ba:11:b5:9b:58:5a:80:b4:37:78:09:33: - 7c:32:47:03:5c:c4:a5:83:48:f4:57:56:6e:81:36: - 27:18:4f:ec:9b:28:c2:d4:b4:d7:7c:0c:3e:0c:2b: - df:ca:04:d7:c6:8e:ea:58:4e:a8:a4:a5:18:1c:6c: - 45:98:a3:41:d1:2d:d2:c7:6d:8d:19:f1:ad:79:b7: - 81:3f:bd:06:82:27:2d:10:58:05:b5:78:05:b9:2f: - db:0c:6b:90:90:7e:14:59:38:bb:94:24:13:e5:d1: - 9d:14:df:d3:82:4d:46:f0:80:39:52:32:0f:e3:84: - b2:7a:43:f2:5e:de:5f:3f:1d:dd:e3:b2:1b:a0:a1: - 2a:23:03:6e:2e:01:15:87:5c:a6:75:75:c7:97:61: - be:de:86:dc:d4:48:db:bd:2a:bf:4a:55:da:e8:7d: - 50:fb:b4:80:17:b8:94:bf:01:3d:ea:da:ba:7c:e0: - 58:67:17:b9:58:e0:88:86:46:67:6c:9d:10:47:58: - 32:d0:35:7c:79:2a:90:a2:5a:10:11:23:35:ad:2f: - cc:e4:4a:5b:a7:c8:27:f2:83:de:5e:bb:5e:77:e7: - e8:a5:6e:63:c2:0d:5d:61:d0:8c:d2:6c:5a:21:0e: - ca:28:a3:ce:2a:e9:95:c7:48:cf:96:6f:1d:92:25: - c8:c6:c6:c1:c1:0c:05:ac:26:c4:d2:75:d2:e1:2a: - 67:c0:3d:5b:a5:9a:eb:cf:7b:1a:a8:9d:14:45:e5: - 0f:a0:9a:65:de:2f:28:bd:ce:6f:94:66:83:48:29: - d8:ea:65:8c:af:93:d9:64:9f:55:57:26:bf:6f:cb: - 37:31:99:a3:60:bb:1c:ad:89:34:32:62:b8:43:21: - 06:72:0c:a1:5c:6d:46:c5:fa:29:cf:30:de:89:dc: - 71:5b:dd:b6:37:3e:df:50:f5:b8:07:25:26:e5:bc: - b5:fe:3c:02:b3:b7:f8:be:43:c1:87:11:94:9e:23: - 6c:17:8a:b8:8a:27:0c:54:47:f0:a9:b3:c0:80:8c: - a0:27:eb:1d:19:e3:07:8e:77:70:ca:2b:f4:7d:76: - e0:78:67 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Subject Key Identifier: - 4D:45:C1:68:38:BB:73:A9:69:A1:20:E7:ED:F5:22:A1:23:14:D7:9E - X509v3 Authority Key Identifier: - keyid:4D:45:C1:68:38:BB:73:A9:69:A1:20:E7:ED:F5:22:A1:23:14:D7:9E - - X509v3 Key Usage: critical - Digital Signature, Certificate Sign, CRL Sign - Signature Algorithm: sha1WithRSAEncryption - 67:6b:06:b9:5f:45:3b:2a:4b:33:b3:e6:1b:6b:59:4e:22:cc: - b9:b7:a4:25:c9:a7:c4:f0:54:96:0b:64:f3:b1:58:4f:5e:51: - fc:b2:97:7b:27:65:c2:e5:ca:e7:0d:0c:25:7b:62:e3:fa:9f: - b4:87:b7:45:46:af:83:a5:97:48:8c:a5:bd:f1:16:2b:9b:76: - 2c:7a:35:60:6c:11:80:97:cc:a9:92:52:e6:2b:e6:69:ed:a9: - f8:36:2d:2c:77:bf:61:48:d1:63:0b:b9:5b:52:ed:18:b0:43: - 42:22:a6:b1:77:ae:de:69:c5:cd:c7:1c:a1:b1:a5:1c:10:fb: - 18:be:1a:70:dd:c1:92:4b:be:29:5a:9d:3f:35:be:e5:7d:51: - f8:55:e0:25:75:23:87:1e:5c:dc:ba:9d:b0:ac:b3:69:db:17: - 83:c9:f7:de:0c:bc:08:dc:91:9e:a8:d0:d7:15:37:73:a5:35: - b8:fc:7e:c5:44:40:06:c3:eb:f8:22:80:5c:47:ce:02:e3:11: - 9f:44:ff:fd:9a:32:cc:7d:64:51:0e:eb:57:26:76:3a:e3:1e: - 22:3c:c2:a6:36:dd:19:ef:a7:fc:12:f3:26:c0:59:31:85:4c: - 9c:d8:cf:df:a4:cc:cc:29:93:ff:94:6d:76:5c:13:08:97:f2: - ed:a5:0b:4d:dd:e8:c9:68:0e:66:d3:00:0e:33:12:5b:bc:95: - e5:32:90:a8:b3:c6:6c:83:ad:77:ee:8b:7e:7e:b1:a9:ab:d3: - e1:f1:b6:c0:b1:ea:88:c0:e7:d3:90:e9:28:92:94:7b:68:7b: - 97:2a:0a:67:2d:85:02:38:10:e4:03:61:d4:da:25:36:c7:08: - 58:2d:a1:a7:51:af:30:0a:49:f5:a6:69:87:07:2d:44:46:76: - 8e:2a:e5:9a:3b:d7:18:a2:fc:9c:38:10:cc:c6:3b:d2:b5:17: - 3a:6f:fd:ae:25:bd:f5:72:59:64:b1:74:2a:38:5f:18:4c:df: - cf:71:04:5a:36:d4:bf:2f:99:9c:e8:d9:ba:b1:95:e6:02:4b: - 21:a1:5b:d5:c1:4f:8f:ae:69:6d:53:db:01:93:b5:5c:1e:18: - dd:64:5a:ca:18:28:3e:63:04:11:fd:1c:8d:00:0f:b8:37:df: - 67:8a:9d:66:a9:02:6a:91:ff:13:ca:2f:5d:83:bc:87:93:6c: - dc:24:51:16:04:25:66:fa:b3:d9:c2:ba:29:be:9a:48:38:82: - 99:f4:bf:3b:4a:31:19:f9:bf:8e:21:33:14:ca:4f:54:5f:fb: - ce:fb:8f:71:7f:fd:5e:19:a0:0f:4b:91:b8:c4:54:bc:06:b0: - 45:8f:26:91:a2:8e:fe:a9 -MD5 Fingerprint=D6:ED:3C:CA:E2:66:0F:AF:10:43:0D:77:9B:04:09:BF ------BEGIN CERTIFICATE----- -MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEc -MBoGA1UEChMTQW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBP -bmxpbmUgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2 -MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0Ft -ZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2EgT25saW5lIFJvb3Qg -Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC -206B89enfHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFci -KtZHgVdEglZTvYYUAQv8f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2 -JxhP7JsowtS013wMPgwr38oE18aO6lhOqKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9 -BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JNRvCAOVIyD+OEsnpD8l7e -Xz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0gBe4lL8B -PeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67 -Xnfn6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEq -Z8A9W6Wa6897GqidFEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZ -o2C7HK2JNDJiuEMhBnIMoVxtRsX6Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3 -+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnjB453cMor9H124HhnAgMBAAGj -YzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3OpaaEg5+31IqEj -FNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE -AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmn -xPBUlgtk87FYT15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2 -LHo1YGwRgJfMqZJS5ivmae2p+DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzccc -obGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXgJXUjhx5c3LqdsKyzadsXg8n33gy8 -CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//ZoyzH1kUQ7rVyZ2OuMe -IjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgOZtMA -DjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2F -AjgQ5ANh1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUX -Om/9riW99XJZZLF0KjhfGEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPb -AZO1XB4Y3WRayhgoPmMEEf0cjQAPuDffZ4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQl -Zvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuPcX/9XhmgD0uRuMRUvAaw -RY8mkaKO/qk= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 13:86:35:4d:1d:3f:06:f2:c1:f9:65:05:d5:90:1c:62 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=VISA, OU=Visa International Service Association, CN=Visa eCommerce Root - Validity - Not Before: Jun 26 02:18:36 2002 GMT - Not After : Jun 24 00:16:12 2022 GMT - Subject: C=US, O=VISA, OU=Visa International Service Association, CN=Visa eCommerce Root - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:af:57:de:56:1e:6e:a1:da:60:b1:94:27:cb:17: - db:07:3f:80:85:4f:c8:9c:b6:d0:f4:6f:4f:cf:99: - d8:e1:db:c2:48:5c:3a:ac:39:33:c7:1f:6a:8b:26: - 3d:2b:35:f5:48:b1:91:c1:02:4e:04:96:91:7b:b0: - 33:f0:b1:14:4e:11:6f:b5:40:af:1b:45:a5:4a:ef: - 7e:b6:ac:f2:a0:1f:58:3f:12:46:60:3c:8d:a1:e0: - 7d:cf:57:3e:33:1e:fb:47:f1:aa:15:97:07:55:66: - a5:b5:2d:2e:d8:80:59:b2:a7:0d:b7:46:ec:21:63: - ff:35:ab:a5:02:cf:2a:f4:4c:fe:7b:f5:94:5d:84: - 4d:a8:f2:60:8f:db:0e:25:3c:9f:73:71:cf:94:df: - 4a:ea:db:df:72:38:8c:f3:96:bd:f1:17:bc:d2:ba: - 3b:45:5a:c6:a7:f6:c6:17:8b:01:9d:fc:19:a8:2a: - 83:16:b8:3a:48:fe:4e:3e:a0:ab:06:19:e9:53:f3: - 80:13:07:ed:2d:bf:3f:0a:3c:55:20:39:2c:2c:00: - 69:74:95:4a:bc:20:b2:a9:79:e5:18:89:91:a8:dc: - 1c:4d:ef:bb:7e:37:0b:5d:fe:39:a5:88:52:8c:00: - 6c:ec:18:7c:41:bd:f6:8b:75:77:ba:60:9d:84:e7: - fe:2d - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - X509v3 Subject Key Identifier: - 15:38:83:0F:3F:2C:3F:70:33:1E:CD:46:FE:07:8C:20:E0:D7:C3:B7 - Signature Algorithm: sha1WithRSAEncryption - 5f:f1:41:7d:7c:5c:08:b9:2b:e0:d5:92:47:fa:67:5c:a5:13: - c3:03:21:9b:2b:4c:89:46:cf:59:4d:c9:fe:a5:40:b6:63:cd: - dd:71:28:95:67:11:cc:24:ac:d3:44:6c:71:ae:01:20:6b:03: - a2:8f:18:b7:29:3a:7d:e5:16:60:53:78:3c:c0:af:15:83:f7: - 8f:52:33:24:bd:64:93:97:ee:8b:f7:db:18:a8:6d:71:b3:f7: - 2c:17:d0:74:25:69:f7:fe:6b:3c:94:be:4d:4b:41:8c:4e:e2: - 73:d0:e3:90:22:73:43:cd:f3:ef:ea:73:ce:45:8a:b0:a6:49: - ff:4c:7d:9d:71:88:c4:76:1d:90:5b:1d:ee:fd:cc:f7:ee:fd: - 60:a5:b1:7a:16:71:d1:16:d0:7c:12:3c:6c:69:97:db:ae:5f: - 39:9a:70:2f:05:3c:19:46:04:99:20:36:d0:60:6e:61:06:bb: - 16:42:8c:70:f7:30:fb:e0:db:66:a3:00:01:bd:e6:2c:da:91: - 5f:a0:46:8b:4d:6a:9c:3d:3d:dd:05:46:fe:76:bf:a0:0a:3c: - e4:00:e6:27:b7:ff:84:2d:de:ba:22:27:96:10:71:eb:22:ed: - df:df:33:9c:cf:e3:ad:ae:8e:d4:8e:e6:4f:51:af:16:92:e0: - 5c:f6:07:0f -MD5 Fingerprint=FC:11:B8:D8:08:93:30:00:6D:23:F9:7E:EB:52:1E:02 ------BEGIN CERTIFICATE----- -MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBr -MQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRl -cm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv -bW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2WhcNMjIwNjI0MDAxNjEyWjBrMQsw -CQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5h -dGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1l -cmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h -2mCxlCfLF9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4E -lpF7sDPwsRROEW+1QK8bRaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdV -ZqW1LS7YgFmypw23RuwhY/81q6UCzyr0TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq -299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI/k4+oKsGGelT84ATB+0t -vz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzsGHxBvfaL -dXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUF -AAOCAQEAX/FBfXxcCLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcR -zCSs00Rsca4BIGsDoo8Ytyk6feUWYFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3 -LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pzzkWKsKZJ/0x9nXGIxHYdkFsd -7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBuYQa7FkKMcPcw -++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt -398znM/jra6O1I7mT1GvFpLgXPYHDw== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1002 (0x3ea) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=DE, ST=Hamburg, L=Hamburg, O=TC TrustCenter for Security in Data Networks GmbH, OU=TC TrustCenter Class 2 CA/emailAddress=certificate@trustcenter.de - Validity - Not Before: Mar 9 11:59:59 1998 GMT - Not After : Jan 1 11:59:59 2011 GMT - Subject: C=DE, ST=Hamburg, L=Hamburg, O=TC TrustCenter for Security in Data Networks GmbH, OU=TC TrustCenter Class 2 CA/emailAddress=certificate@trustcenter.de - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:da:38:e8:ed:32:00:29:71:83:01:0d:bf:8c:01: - dc:da:c6:ad:39:a4:a9:8a:2f:d5:8b:5c:68:5f:50: - c6:62:f5:66:bd:ca:91:22:ec:aa:1d:51:d7:3d:b3: - 51:b2:83:4e:5d:cb:49:b0:f0:4c:55:e5:6b:2d:c7: - 85:0b:30:1c:92:4e:82:d4:ca:02:ed:f7:6f:be:dc: - e0:e3:14:b8:05:53:f2:9a:f4:56:8b:5a:9e:85:93: - d1:b4:82:56:ae:4d:bb:a8:4b:57:16:bc:fe:f8:58: - 9e:f8:29:8d:b0:7b:cd:78:c9:4f:ac:8b:67:0c:f1: - 9c:fb:fc:57:9b:57:5c:4f:0d - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Key Usage: critical - Digital Signature, Certificate Sign, CRL Sign - Netscape CA Policy Url: - http://www.trustcenter.de/guidelines - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - Signature Algorithm: md5WithRSAEncryption - 84:52:fb:28:df:ff:1f:75:01:bc:01:be:04:56:97:6a:74:42: - 24:31:83:f9:46:b1:06:8a:89:cf:96:2c:33:bf:8c:b5:5f:7a: - 72:a1:85:06:ce:86:f8:05:8e:e8:f9:25:ca:da:83:8c:06:ac: - eb:36:6d:85:91:34:04:36:f4:42:f0:f8:79:2e:0a:48:5c:ab: - cc:51:4f:78:76:a0:d9:ac:19:bd:2a:d1:69:04:28:91:ca:36: - 10:27:80:57:5b:d2:5c:f5:c2:5b:ab:64:81:63:74:51:f4:97: - bf:cd:12:28:f7:4d:66:7f:a7:f0:1c:01:26:78:b2:66:47:70: - 51:64 -MD5 Fingerprint=B8:16:33:4C:4C:4C:F2:D8:D3:4D:06:B4:A6:5B:40:03 ------BEGIN CERTIFICATE----- -MIIDXDCCAsWgAwIBAgICA+owDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRF -MRAwDgYDVQQIEwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFU -QyBUcnVzdENlbnRlciBmb3IgU2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJI -MSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBDbGFzcyAyIENBMSkwJwYJKoZIhvcN -AQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05ODAzMDkxMTU5NTla -Fw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFtYnVy -ZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9y -IFNlY3VyaXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1 -c3RDZW50ZXIgQ2xhc3MgMiBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVA -dHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANo46O0y -AClxgwENv4wB3NrGrTmkqYov1YtcaF9QxmL1Zr3KkSLsqh1R1z2zUbKDTl3LSbDw -TFXlay3HhQswHJJOgtTKAu33b77c4OMUuAVT8pr0VotanoWT0bSCVq5Nu6hLVxa8 -/vhYnvgpjbB7zXjJT6yLZwzxnPv8V5tXXE8NAgMBAAGjazBpMA8GA1UdEwEB/wQF -MAMBAf8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3 -LnRydXN0Y2VudGVyLmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0G -CSqGSIb3DQEBBAUAA4GBAIRS+yjf/x91AbwBvgRWl2p0QiQxg/lGsQaKic+WLDO/ -jLVfenKhhQbOhvgFjuj5Jcrag4wGrOs2bYWRNAQ29ELw+HkuCkhcq8xRT3h2oNms -Gb0q0WkEKJHKNhAngFdb0lz1wlurZIFjdFH0l7/NEij3TWZ/p/AcASZ4smZHcFFk ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1003 (0x3eb) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=DE, ST=Hamburg, L=Hamburg, O=TC TrustCenter for Security in Data Networks GmbH, OU=TC TrustCenter Class 3 CA/emailAddress=certificate@trustcenter.de - Validity - Not Before: Mar 9 11:59:59 1998 GMT - Not After : Jan 1 11:59:59 2011 GMT - Subject: C=DE, ST=Hamburg, L=Hamburg, O=TC TrustCenter for Security in Data Networks GmbH, OU=TC TrustCenter Class 3 CA/emailAddress=certificate@trustcenter.de - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:b6:b4:c1:35:05:2e:0d:8d:ec:a0:40:6a:1c:0e: - 27:a6:50:92:6b:50:1b:07:de:2e:e7:76:cc:e0:da: - fc:84:a8:5e:8c:63:6a:2b:4d:d9:4e:02:76:11:c1: - 0b:f2:8d:79:ca:00:b6:f1:b0:0e:d7:fb:a4:17:3d: - af:ab:69:7a:96:27:bf:af:33:a1:9a:2a:59:aa:c4: - b5:37:08:f2:12:a5:31:b6:43:f5:32:96:71:28:28: - ab:8d:28:86:df:bb:ee:e3:0c:7d:30:d6:c3:52:ab: - 8f:5d:27:9c:6b:c0:a3:e7:05:6b:57:49:44:b3:6e: - ea:64:cf:d2:8e:7a:50:77:77 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Key Usage: critical - Digital Signature, Certificate Sign, CRL Sign - Netscape CA Policy Url: - http://www.trustcenter.de/guidelines - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - Signature Algorithm: md5WithRSAEncryption - 16:3d:c6:cd:c1:bb:85:71:85:46:9f:3e:20:8f:51:28:99:ec: - 2d:45:21:63:23:5b:04:bb:4c:90:b8:88:92:04:4d:bd:7d:01: - a3:3f:f6:ec:ce:f1:de:fe:7d:e5:e1:3e:bb:c6:ab:5e:0b:dd: - 3d:96:c4:cb:a9:d4:f9:26:e6:06:4e:9e:0c:a5:7a:ba:6e:c3: - 7c:82:19:d1:c7:b1:b1:c3:db:0d:8e:9b:40:7c:37:0b:f1:5d: - e8:fd:1f:90:88:a5:0e:4e:37:64:21:a8:4e:8d:b4:9f:f1:de: - 48:ad:d5:56:18:52:29:8b:47:34:12:09:d4:bb:92:35:ef:0f: - db:34 -MD5 Fingerprint=5F:94:4A:73:22:B8:F7:D1:31:EC:59:39:F7:8E:FE:6E ------BEGIN CERTIFICATE----- -MIIDXDCCAsWgAwIBAgICA+swDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRF -MRAwDgYDVQQIEwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFU -QyBUcnVzdENlbnRlciBmb3IgU2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJI -MSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBDbGFzcyAzIENBMSkwJwYJKoZIhvcN -AQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05ODAzMDkxMTU5NTla -Fw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFtYnVy -ZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9y -IFNlY3VyaXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1 -c3RDZW50ZXIgQ2xhc3MgMyBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVA -dHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALa0wTUF -Lg2N7KBAahwOJ6ZQkmtQGwfeLud2zODa/ISoXoxjaitN2U4CdhHBC/KNecoAtvGw -Dtf7pBc9r6tpepYnv68zoZoqWarEtTcI8hKlMbZD9TKWcSgoq40oht+77uMMfTDW -w1Krj10nnGvAo+cFa1dJRLNu6mTP0o56UHd3AgMBAAGjazBpMA8GA1UdEwEB/wQF -MAMBAf8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3 -LnRydXN0Y2VudGVyLmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0G -CSqGSIb3DQEBBAUAA4GBABY9xs3Bu4VxhUafPiCPUSiZ7C1FIWMjWwS7TJC4iJIE -Tb19AaM/9uzO8d7+feXhPrvGq14L3T2WxMup1Pkm5gZOngylerpuw3yCGdHHsbHD -2w2Om0B8NwvxXej9H5CIpQ5ON2QhqE6NtJ/x3kit1VYYUimLRzQSCdS7kjXvD9s0 ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 65568 (0x10020) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=PL, O=Unizeto Sp. z o.o., CN=Certum CA - Validity - Not Before: Jun 11 10:46:39 2002 GMT - Not After : Jun 11 10:46:39 2027 GMT - Subject: C=PL, O=Unizeto Sp. z o.o., CN=Certum CA - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:ce:b1:c1:2e:d3:4f:7c:cd:25:ce:18:3e:4f:c4: - 8c:6f:80:6a:73:c8:5b:51:f8:9b:d2:dc:bb:00:5c: - b1:a0:fc:75:03:ee:81:f0:88:ee:23:52:e9:e6:15: - 33:8d:ac:2d:09:c5:76:f9:2b:39:80:89:e4:97:4b: - 90:a5:a8:78:f8:73:43:7b:a4:61:b0:d8:58:cc:e1: - 6c:66:7e:9c:f3:09:5e:55:63:84:d5:a8:ef:f3:b1: - 2e:30:68:b3:c4:3c:d8:ac:6e:8d:99:5a:90:4e:34: - dc:36:9a:8f:81:88:50:b7:6d:96:42:09:f3:d7:95: - 83:0d:41:4b:b0:6a:6b:f8:fc:0f:7e:62:9f:67:c4: - ed:26:5f:10:26:0f:08:4f:f0:a4:57:28:ce:8f:b8: - ed:45:f6:6e:ee:25:5d:aa:6e:39:be:e4:93:2f:d9: - 47:a0:72:eb:fa:a6:5b:af:ca:53:3f:e2:0e:c6:96: - 56:11:6e:f7:e9:66:a9:26:d8:7f:95:53:ed:0a:85: - 88:ba:4f:29:a5:42:8c:5e:b6:fc:85:20:00:aa:68: - 0b:a1:1a:85:01:9c:c4:46:63:82:88:b6:22:b1:ee: - fe:aa:46:59:7e:cf:35:2c:d5:b6:da:5d:f7:48:33: - 14:54:b6:eb:d9:6f:ce:cd:88:d6:ab:1b:da:96:3b: - 1d:59 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - Signature Algorithm: sha1WithRSAEncryption - b8:8d:ce:ef:e7:14:ba:cf:ee:b0:44:92:6c:b4:39:3e:a2:84: - 6e:ad:b8:21:77:d2:d4:77:82:87:e6:20:41:81:ee:e2:f8:11: - b7:63:d1:17:37:be:19:76:24:1c:04:1a:4c:eb:3d:aa:67:6f: - 2d:d4:cd:fe:65:31:70:c5:1b:a6:02:0a:ba:60:7b:6d:58:c2: - 9a:49:fe:63:32:0b:6b:e3:3a:c0:ac:ab:3b:b0:e8:d3:09:51: - 8c:10:83:c6:34:e0:c5:2b:e0:1a:b6:60:14:27:6c:32:77:8c: - bc:b2:72:98:cf:cd:cc:3f:b9:c8:24:42:14:d6:57:fc:e6:26: - 43:a9:1d:e5:80:90:ce:03:54:28:3e:f7:3f:d3:f8:4d:ed:6a: - 0a:3a:93:13:9b:3b:14:23:13:63:9c:3f:d1:87:27:79:e5:4c: - 51:e3:01:ad:85:5d:1a:3b:b1:d5:73:10:a4:d3:f2:bc:6e:64: - f5:5a:56:90:a8:c7:0e:4c:74:0f:2e:71:3b:f7:c8:47:f4:69: - 6f:15:f2:11:5e:83:1e:9c:7c:52:ae:fd:02:da:12:a8:59:67: - 18:db:bc:70:dd:9b:b1:69:ed:80:ce:89:40:48:6a:0e:35:ca: - 29:66:15:21:94:2c:e8:60:2a:9b:85:4a:40:f3:6b:8a:24:ec: - 06:16:2c:73 -MD5 Fingerprint=2C:8F:9F:66:1D:18:90:B1:47:26:9D:8E:86:82:8C:A9 ------BEGIN CERTIFICATE----- -MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM -MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD -QTAeFw0wMjA2MTExMDQ2MzlaFw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBM -MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD -QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6xwS7TT3zNJc4YPk/E -jG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdLkKWo -ePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GI -ULdtlkIJ89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapu -Ob7kky/ZR6By6/qmW6/KUz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUg -AKpoC6EahQGcxEZjgoi2IrHu/qpGWX7PNSzVttpd90gzFFS269lvzs2I1qsb2pY7 -HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEA -uI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+GXYkHAQa -TOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTg -xSvgGrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1q -CjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5x -O/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs -6GAqm4VKQPNriiTsBhYscw== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=GB, ST=Greater Manchester, L=Salford, O=Comodo CA Limited, CN=AAA Certificate Services - Validity - Not Before: Jan 1 00:00:00 2004 GMT - Not After : Dec 31 23:59:59 2028 GMT - Subject: C=GB, ST=Greater Manchester, L=Salford, O=Comodo CA Limited, CN=AAA Certificate Services - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:be:40:9d:f4:6e:e1:ea:76:87:1c:4d:45:44:8e: - be:46:c8:83:06:9d:c1:2a:fe:18:1f:8e:e4:02:fa: - f3:ab:5d:50:8a:16:31:0b:9a:06:d0:c5:70:22:cd: - 49:2d:54:63:cc:b6:6e:68:46:0b:53:ea:cb:4c:24: - c0:bc:72:4e:ea:f1:15:ae:f4:54:9a:12:0a:c3:7a: - b2:33:60:e2:da:89:55:f3:22:58:f3:de:dc:cf:ef: - 83:86:a2:8c:94:4f:9f:68:f2:98:90:46:84:27:c7: - 76:bf:e3:cc:35:2c:8b:5e:07:64:65:82:c0:48:b0: - a8:91:f9:61:9f:76:20:50:a8:91:c7:66:b5:eb:78: - 62:03:56:f0:8a:1a:13:ea:31:a3:1e:a0:99:fd:38: - f6:f6:27:32:58:6f:07:f5:6b:b8:fb:14:2b:af:b7: - aa:cc:d6:63:5f:73:8c:da:05:99:a8:38:a8:cb:17: - 78:36:51:ac:e9:9e:f4:78:3a:8d:cf:0f:d9:42:e2: - 98:0c:ab:2f:9f:0e:01:de:ef:9f:99:49:f1:2d:df: - ac:74:4d:1b:98:b5:47:c5:e5:29:d1:f9:90:18:c7: - 62:9c:be:83:c7:26:7b:3e:8a:25:c7:c0:dd:9d:e6: - 35:68:10:20:9d:8f:d8:de:d2:c3:84:9c:0d:5e:e8: - 2f:c9 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - A0:11:0A:23:3E:96:F1:07:EC:E2:AF:29:EF:82:A5:7F:D0:30:A4:B4 - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 CRL Distribution Points: - URI:http://crl.comodoca.com/AAACertificateServices.crl - URI:http://crl.comodo.net/AAACertificateServices.crl - - Signature Algorithm: sha1WithRSAEncryption - 08:56:fc:02:f0:9b:e8:ff:a4:fa:d6:7b:c6:44:80:ce:4f:c4: - c5:f6:00:58:cc:a6:b6:bc:14:49:68:04:76:e8:e6:ee:5d:ec: - 02:0f:60:d6:8d:50:18:4f:26:4e:01:e3:e6:b0:a5:ee:bf:bc: - 74:54:41:bf:fd:fc:12:b8:c7:4f:5a:f4:89:60:05:7f:60:b7: - 05:4a:f3:f6:f1:c2:bf:c4:b9:74:86:b6:2d:7d:6b:cc:d2:f3: - 46:dd:2f:c6:e0:6a:c3:c3:34:03:2c:7d:96:dd:5a:c2:0e:a7: - 0a:99:c1:05:8b:ab:0c:2f:f3:5c:3a:cf:6c:37:55:09:87:de: - 53:40:6c:58:ef:fc:b6:ab:65:6e:04:f6:1b:dc:3c:e0:5a:15: - c6:9e:d9:f1:59:48:30:21:65:03:6c:ec:e9:21:73:ec:9b:03: - a1:e0:37:ad:a0:15:18:8f:fa:ba:02:ce:a7:2c:a9:10:13:2c: - d4:e5:08:26:ab:22:97:60:f8:90:5e:74:d4:a2:9a:53:bd:f2: - a9:68:e0:a2:6e:c2:d7:6c:b1:a3:0f:9e:bf:eb:68:e7:56:f2: - ae:f2:e3:2b:38:3a:09:81:b5:6b:85:d7:be:2d:ed:3f:1a:b7: - b2:63:e2:f5:62:2c:82:d4:6a:00:41:50:f1:39:83:9f:95:e9: - 36:96:98:6e -MD5 Fingerprint=49:79:04:B0:EB:87:19:AC:47:B0:BC:11:51:9B:74:D0 ------BEGIN CERTIFICATE----- -MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb -MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow -GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj -YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL -MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE -BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM -GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua -BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe -3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 -YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR -rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm -ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU -oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF -MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v -QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t -b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF -AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q -GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz -Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 -G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi -l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 -smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=GB, ST=Greater Manchester, L=Salford, O=Comodo CA Limited, CN=Secure Certificate Services - Validity - Not Before: Jan 1 00:00:00 2004 GMT - Not After : Dec 31 23:59:59 2028 GMT - Subject: C=GB, ST=Greater Manchester, L=Salford, O=Comodo CA Limited, CN=Secure Certificate Services - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:c0:71:33:82:8a:d0:70:eb:73:87:82:40:d5:1d: - e4:cb:c9:0e:42:90:f9:de:34:b9:a1:ba:11:f4:25: - 85:f3:cc:72:6d:f2:7b:97:6b:b3:07:f1:77:24:91: - 5f:25:8f:f6:74:3d:e4:80:c2:f8:3c:0d:f3:bf:40: - ea:f7:c8:52:d1:72:6f:ef:c8:ab:41:b8:6e:2e:17: - 2a:95:69:0c:cd:d2:1e:94:7b:2d:94:1d:aa:75:d7: - b3:98:cb:ac:bc:64:53:40:bc:8f:ac:ac:36:cb:5c: - ad:bb:dd:e0:94:17:ec:d1:5c:d0:bf:ef:a5:95:c9: - 90:c5:b0:ac:fb:1b:43:df:7a:08:5d:b7:b8:f2:40: - 1b:2b:27:9e:50:ce:5e:65:82:88:8c:5e:d3:4e:0c: - 7a:ea:08:91:b6:36:aa:2b:42:fb:ea:c2:a3:39:e5: - db:26:38:ad:8b:0a:ee:19:63:c7:1c:24:df:03:78: - da:e6:ea:c1:47:1a:0b:0b:46:09:dd:02:fc:de:cb: - 87:5f:d7:30:63:68:a1:ae:dc:32:a1:ba:be:fe:44: - ab:68:b6:a5:17:15:fd:bd:d5:a7:a7:9a:e4:44:33: - e9:88:8e:fc:ed:51:eb:93:71:4e:ad:01:e7:44:8e: - ab:2d:cb:a8:fe:01:49:48:f0:c0:dd:c7:68:d8:92: - fe:3d - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 3C:D8:93:88:C2:C0:82:09:CC:01:99:06:93:20:E9:9E:70:09:63:4F - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 CRL Distribution Points: - URI:http://crl.comodoca.com/SecureCertificateServices.crl - URI:http://crl.comodo.net/SecureCertificateServices.crl - - Signature Algorithm: sha1WithRSAEncryption - 87:01:6d:23:1d:7e:5b:17:7d:c1:61:32:cf:8f:e7:f3:8a:94: - 59:66:e0:9e:28:a8:5e:d3:b7:f4:34:e6:aa:39:b2:97:16:c5: - 82:6f:32:a4:e9:8c:e7:af:fd:ef:c2:e8:b9:4b:aa:a3:f4:e6: - da:8d:65:21:fb:ba:80:eb:26:28:85:1a:fe:39:8c:de:5b:04: - 04:b4:54:f9:a3:67:9e:41:fa:09:52:cc:05:48:a8:c9:3f:21: - 04:1e:ce:48:6b:fc:85:e8:c2:7b:af:7f:b7:cc:f8:5f:3a:fd: - 35:c6:0d:ef:97:dc:4c:ab:11:e1:6b:cb:31:d1:6c:fb:48:80: - ab:dc:9c:37:b8:21:14:4b:0d:71:3d:ec:83:33:6e:d1:6e:32: - 16:ec:98:c7:16:8b:59:a6:34:ab:05:57:2d:93:f7:aa:13:cb: - d2:13:e2:b7:2e:3b:cd:6b:50:17:09:68:3e:b5:26:57:ee:b6: - e0:b6:dd:b9:29:80:79:7d:8f:a3:f0:a4:28:a4:15:c4:85:f4: - 27:d4:6b:bf:e5:5c:e4:65:02:76:54:b4:e3:37:66:24:d3:19: - 61:c8:52:10:e5:8b:37:9a:b9:a9:f9:1d:bf:ea:99:92:61:96: - ff:01:cd:a1:5f:0d:bc:71:bc:0e:ac:0b:1d:47:45:1d:c1:ec: - 7c:ec:fd:29 -MD5 Fingerprint=D3:D9:BD:AE:9F:AC:67:24:B3:C8:1B:52:E1:B9:A9:BD ------BEGIN CERTIFICATE----- -MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEb -MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow -GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRp -ZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVow -fjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAiBgNV -BAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPM -cm3ye5drswfxdySRXyWP9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3S -HpR7LZQdqnXXs5jLrLxkU0C8j6ysNstcrbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996 -CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rCoznl2yY4rYsK7hljxxwk -3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3Vp6ea5EQz -6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNV -HQ4EFgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1Ud -EwEB/wQFMAMBAf8wgYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2Rv -Y2EuY29tL1NlY3VyZUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRw -Oi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmww -DQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm4J4oqF7Tt/Q0 -5qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj -Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtI -gKvcnDe4IRRLDXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJ -aD61JlfutuC23bkpgHl9j6PwpCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDl -izeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1HRR3B7Hzs/Sk= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=GB, ST=Greater Manchester, L=Salford, O=Comodo CA Limited, CN=Trusted Certificate Services - Validity - Not Before: Jan 1 00:00:00 2004 GMT - Not After : Dec 31 23:59:59 2028 GMT - Subject: C=GB, ST=Greater Manchester, L=Salford, O=Comodo CA Limited, CN=Trusted Certificate Services - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:df:71:6f:36:58:53:5a:f2:36:54:57:80:c4:74: - 08:20:ed:18:7f:2a:1d:e6:35:9a:1e:25:ac:9c:e5: - 96:7e:72:52:a0:15:42:db:59:dd:64:7a:1a:d0:b8: - 7b:dd:39:15:bc:55:48:c4:ed:3a:00:ea:31:11:ba: - f2:71:74:1a:67:b8:cf:33:cc:a8:31:af:a3:e3:d7: - 7f:bf:33:2d:4c:6a:3c:ec:8b:c3:92:d2:53:77:24: - 74:9c:07:6e:70:fc:bd:0b:5b:76:ba:5f:f2:ff:d7: - 37:4b:4a:60:78:f7:f0:fa:ca:70:b4:ea:59:aa:a3: - ce:48:2f:a9:c3:b2:0b:7e:17:72:16:0c:a6:07:0c: - 1b:38:cf:c9:62:b7:3f:a0:93:a5:87:41:f2:b7:70: - 40:77:d8:be:14:7c:e3:a8:c0:7a:8e:e9:63:6a:d1: - 0f:9a:c6:d2:f4:8b:3a:14:04:56:d4:ed:b8:cc:6e: - f5:fb:e2:2c:58:bd:7f:4f:6b:2b:f7:60:24:58:24: - ce:26:ef:34:91:3a:d5:e3:81:d0:b2:f0:04:02:d7: - 5b:b7:3e:92:ac:6b:12:8a:f9:e4:05:b0:3b:91:49: - 5c:b2:eb:53:ea:f8:9f:47:86:ee:bf:95:c0:c0:06: - 9f:d2:5b:5e:11:1b:f4:c7:04:35:29:d2:55:5c:e4: - ed:eb - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - C5:7B:58:BD:ED:DA:25:69:D2:F7:59:16:A8:B3:32:C0:7B:27:5B:F4 - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 CRL Distribution Points: - URI:http://crl.comodoca.com/TrustedCertificateServices.crl - URI:http://crl.comodo.net/TrustedCertificateServices.crl - - Signature Algorithm: sha1WithRSAEncryption - c8:93:81:3b:89:b4:af:b8:84:12:4c:8d:d2:f0:db:70:ba:57: - 86:15:34:10:b9:2f:7f:1e:b0:a8:89:60:a1:8a:c2:77:0c:50: - 4a:9b:00:8b:d8:8b:f4:41:e2:d0:83:8a:4a:1c:14:06:b0:a3: - 68:05:70:31:30:a7:53:9b:0e:e9:4a:a0:58:69:67:0e:ae:9d: - f6:a5:2c:41:bf:3c:06:6b:e4:59:cc:6d:10:f1:96:6f:1f:df: - f4:04:02:a4:9f:45:3e:c8:d8:fa:36:46:44:50:3f:82:97:91: - 1f:28:db:18:11:8c:2a:e4:65:83:57:12:12:8c:17:3f:94:36: - fe:5d:b0:c0:04:77:13:b8:f4:15:d5:3f:38:cc:94:3a:55:d0: - ac:98:f5:ba:00:5f:e0:86:19:81:78:2f:28:c0:7e:d3:cc:42: - 0a:f5:ae:50:a0:d1:3e:c6:a1:71:ec:3f:a0:20:8c:66:3a:89: - b4:8e:d4:d8:b1:4d:25:47:ee:2f:88:c8:b5:e1:05:45:c0:be: - 14:71:de:7a:fd:8e:7b:7d:4d:08:96:a5:12:73:f0:2d:ca:37: - 27:74:12:27:4c:cb:b6:97:e9:d9:ae:08:6d:5a:39:40:dd:05: - 47:75:6a:5a:21:b3:a3:18:cf:4e:f7:2e:57:b7:98:70:5e:c8: - c4:78:b0:62 -MD5 Fingerprint=91:1B:3F:6E:CD:9E:AB:EE:07:FE:1F:71:D2:B3:61:27 ------BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEb -MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow -GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0 -aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEwMDAwMDBaFw0yODEyMzEyMzU5NTla -MH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO -BgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUwIwYD -VQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWW -fnJSoBVC21ndZHoa0Lh73TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMt -TGo87IvDktJTdyR0nAducPy9C1t2ul/y/9c3S0pgePfw+spwtOpZqqPOSC+pw7IL -fhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6juljatEPmsbS9Is6FARW -1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsSivnkBbA7 -kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0G -A1UdDgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21v -ZG9jYS5jb20vVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRo -dHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMu -Y3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8NtwuleGFTQQuS9/ -HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32 -pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxIS -jBc/lDb+XbDABHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+ -xqFx7D+gIIxmOom0jtTYsU0lR+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/Atyjcn -dBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O9y5Xt5hwXsjEeLBi ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=ES, ST=Barcelona, L=Barcelona, O=IPS Internet publishing Services s.l., O=ips@mail.ips.es C.I.F. B-60929452, OU=IPS CA Chained CAs Certification Authority, CN=IPS CA Chained CAs Certification Authority/emailAddress=ips@mail.ips.es - Validity - Not Before: Dec 29 00:53:58 2001 GMT - Not After : Dec 27 00:53:58 2025 GMT - Subject: C=ES, ST=Barcelona, L=Barcelona, O=IPS Internet publishing Services s.l., O=ips@mail.ips.es C.I.F. B-60929452, OU=IPS CA Chained CAs Certification Authority, CN=IPS CA Chained CAs Certification Authority/emailAddress=ips@mail.ips.es - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:dc:56:92:49:b2:94:20:bc:98:4f:50:eb:68:a4: - a7:49:0b:bf:d2:31:e8:c7:4f:c2:86:0b:fa:68:fd: - 43:5a:8a:f3:60:92:35:99:38:bb:4d:03:52:21:5b: - f0:37:99:35:e1:41:20:81:85:81:05:71:81:9d:b4: - 95:19:a9:5f:76:34:2e:63:37:35:57:8e:b4:1f:42: - 3f:15:5c:e1:7a:c1:5f:13:18:32:31:c9:ad:be:a3: - c7:83:66:1e:b9:9c:04:13:cb:69:c1:06:de:30:06: - bb:33:a3:b5:1f:f0:8f:6f:ce:ff:96:e8:54:be:66: - 80:ae:6b:db:41:84:36:a2:3d - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - A1:AD:31:B1:F9:3E:E1:17:A6:C8:AB:34:FC:52:87:09:1E:62:52:41 - X509v3 Authority Key Identifier: - keyid:A1:AD:31:B1:F9:3E:E1:17:A6:C8:AB:34:FC:52:87:09:1E:62:52:41 - DirName:/C=ES/ST=Barcelona/L=Barcelona/O=IPS Internet publishing Services s.l./O=ips@mail.ips.es C.I.F. B-60929452/OU=IPS CA Chained CAs Certification Authority/CN=IPS CA Chained CAs Certification Authority/emailAddress=ips@mail.ips.es - serial:00 - - X509v3 Basic Constraints: - CA:TRUE - X509v3 Key Usage: - Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment, Key Agreement, Certificate Sign, CRL Sign, Encipher Only, Decipher Only - X509v3 Extended Key Usage: - TLS Web Server Authentication, TLS Web Client Authentication, Code Signing, E-mail Protection, Time Stamping, Microsoft Individual Code Signing, Microsoft Commercial Code Signing, Microsoft Trust List Signing, Microsoft Encrypted File System - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 Subject Alternative Name: - email:ips@mail.ips.es - X509v3 Issuer Alternative Name: - email:ips@mail.ips.es - Netscape Comment: - Chained CA Certificate issued by http://www.ips.es/ - Netscape Base Url: - http://www.ips.es/ips2002/ - Netscape CA Revocation Url: - http://www.ips.es/ips2002/ips2002CAC.crl - Netscape Revocation Url: - http://www.ips.es/ips2002/revocationCAC.html? - Netscape Renewal Url: - http://www.ips.es/ips2002/renewalCAC.html? - Netscape CA Policy Url: - http://www.ips.es/ips2002/policyCAC.html - X509v3 CRL Distribution Points: - URI:http://www.ips.es/ips2002/ips2002CAC.crl - URI:http://wwwback.ips.es/ips2002/ips2002CAC.crl - - Authority Information Access: - OCSP - URI:http://ocsp.ips.es/ - - Signature Algorithm: sha1WithRSAEncryption - 44:72:30:9d:56:58:a2:41:1b:28:b7:95:e1:a6:1a:95:5f:a7: - 78:40:2b:ef:db:96:4a:fc:4c:71:63:d9:73:95:bd:02:e2:a2: - 06:c7:be:97:2a:93:80:34:86:03:fa:dc:d8:3d:1e:07:cd:1e: - 73:43:24:60:f5:1d:61:dc:dc:96:a0:bc:fb:1d:e3:e7:12:00: - 27:33:02:c0:c0:2b:53:3d:d8:6b:03:81:a3:db:d6:93:95:20: - ef:d3:96:7e:26:90:89:9c:26:9b:cd:6f:66:ab:ed:03:22:44: - 38:cc:59:bd:9f:db:f6:07:a2:01:7f:26:c4:63:f5:25:42:5e: - 62:bd -MD5 Fingerprint=8D:72:51:DB:A0:3A:CF:20:77:DF:F2:65:06:5E:DF:EF ------BEGIN CERTIFICATE----- -MIIH9zCCB2CgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARwxCzAJBgNVBAYTAkVT -MRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UE -ChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UE -ChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEzMDEGA1UECxMq -SVBTIENBIENoYWluZWQgQ0FzIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MTMwMQYD -VQQDEypJUFMgQ0EgQ2hhaW5lZCBDQXMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx -HjAcBgkqhkiG9w0BCQEWD2lwc0BtYWlsLmlwcy5lczAeFw0wMTEyMjkwMDUzNTha -Fw0yNTEyMjcwMDUzNThaMIIBHDELMAkGA1UEBhMCRVMxEjAQBgNVBAgTCUJhcmNl -bG9uYTESMBAGA1UEBxMJQmFyY2Vsb25hMS4wLAYDVQQKEyVJUFMgSW50ZXJuZXQg -cHVibGlzaGluZyBTZXJ2aWNlcyBzLmwuMSswKQYDVQQKFCJpcHNAbWFpbC5pcHMu -ZXMgQy5JLkYuICBCLTYwOTI5NDUyMTMwMQYDVQQLEypJUFMgQ0EgQ2hhaW5lZCBD -QXMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxMzAxBgNVBAMTKklQUyBDQSBDaGFp -bmVkIENBcyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEeMBwGCSqGSIb3DQEJARYP -aXBzQG1haWwuaXBzLmVzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcVpJJ -spQgvJhPUOtopKdJC7/SMejHT8KGC/po/UNaivNgkjWZOLtNA1IhW/A3mTXhQSCB -hYEFcYGdtJUZqV92NC5jNzVXjrQfQj8VXOF6wV8TGDIxya2+o8eDZh65nAQTy2nB -Bt4wBrszo7Uf8I9vzv+W6FS+ZoCua9tBhDaiPQIDAQABo4IEQzCCBD8wHQYDVR0O -BBYEFKGtMbH5PuEXpsirNPxShwkeYlJBMIIBTgYDVR0jBIIBRTCCAUGAFKGtMbH5 -PuEXpsirNPxShwkeYlJBoYIBJKSCASAwggEcMQswCQYDVQQGEwJFUzESMBAGA1UE -CBMJQmFyY2Vsb25hMRIwEAYDVQQHEwlCYXJjZWxvbmExLjAsBgNVBAoTJUlQUyBJ -bnRlcm5ldCBwdWJsaXNoaW5nIFNlcnZpY2VzIHMubC4xKzApBgNVBAoUImlwc0Bt -YWlsLmlwcy5lcyBDLkkuRi4gIEItNjA5Mjk0NTIxMzAxBgNVBAsTKklQUyBDQSBD -aGFpbmVkIENBcyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEzMDEGA1UEAxMqSVBT -IENBIENoYWluZWQgQ0FzIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZI -hvcNAQkBFg9pcHNAbWFpbC5pcHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNVHQ8E -BQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMG -CCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIBFQYKKwYBBAGCNwIBFgYKKwYB -BAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcwGgYDVR0RBBMw -EYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBC -BglghkgBhvhCAQ0ENRYzQ2hhaW5lZCBDQSBDZXJ0aWZpY2F0ZSBpc3N1ZWQgYnkg -aHR0cDovL3d3dy5pcHMuZXMvMCkGCWCGSAGG+EIBAgQcFhpodHRwOi8vd3d3Lmlw -cy5lcy9pcHMyMDAyLzA3BglghkgBhvhCAQQEKhYoaHR0cDovL3d3dy5pcHMuZXMv -aXBzMjAwMi9pcHMyMDAyQ0FDLmNybDA8BglghkgBhvhCAQMELxYtaHR0cDovL3d3 -dy5pcHMuZXMvaXBzMjAwMi9yZXZvY2F0aW9uQ0FDLmh0bWw/MDkGCWCGSAGG+EIB -BwQsFipodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL3JlbmV3YWxDQUMuaHRtbD8w -NwYJYIZIAYb4QgEIBCoWKGh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcG9saWN5 -Q0FDLmh0bWwwbQYDVR0fBGYwZDAuoCygKoYoaHR0cDovL3d3dy5pcHMuZXMvaXBz -MjAwMi9pcHMyMDAyQ0FDLmNybDAyoDCgLoYsaHR0cDovL3d3d2JhY2suaXBzLmVz -L2lwczIwMDIvaXBzMjAwMkNBQy5jcmwwLwYIKwYBBQUHAQEEIzAhMB8GCCsGAQUF -BzABhhNodHRwOi8vb2NzcC5pcHMuZXMvMA0GCSqGSIb3DQEBBQUAA4GBAERyMJ1W -WKJBGyi3leGmGpVfp3hAK+/blkr8THFj2XOVvQLiogbHvpcqk4A0hgP63Ng9HgfN -HnNDJGD1HWHc3JagvPsd4+cSACczAsDAK1M92GsDgaPb1pOVIO/Tln4mkImcJpvN -b2ar7QMiRDjMWb2f2/YHogF/JsRj9SVCXmK9 ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=ES, ST=Barcelona, L=Barcelona, O=IPS Internet publishing Services s.l., O=ips@mail.ips.es C.I.F. B-60929452, OU=IPS CA CLASE1 Certification Authority, CN=IPS CA CLASE1 Certification Authority/emailAddress=ips@mail.ips.es - Validity - Not Before: Dec 29 00:59:38 2001 GMT - Not After : Dec 27 00:59:38 2025 GMT - Subject: C=ES, ST=Barcelona, L=Barcelona, O=IPS Internet publishing Services s.l., O=ips@mail.ips.es C.I.F. B-60929452, OU=IPS CA CLASE1 Certification Authority, CN=IPS CA CLASE1 Certification Authority/emailAddress=ips@mail.ips.es - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:e0:51:27:a7:0b:dd:af:d1:b9:43:5b:82:37:45: - 56:72:ef:9a:b6:c2:12:ef:2c:12:cc:76:f9:06:59: - af:5d:21:d4:d2:5a:b8:a0:d4:f3:6a:fd:ca:69:8d: - 66:48:f7:74:e6:ee:36:bd:e8:96:91:75:a6:71:28: - ca:e7:22:12:32:69:b0:3e:1e:6b:f4:50:52:62:62: - fd:63:3b:7d:7e:ec:ee:38:ea:62:f4:6c:a8:71:8d: - e1:e9:8b:c9:3f:c6:b5:cd:94:42:6f:dd:82:45:3c: - e8:df:09:e8:ef:0a:55:a9:56:47:61:4c:49:64:73: - 10:28:3f:ca:bf:09:ff:c6:2f - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - EB:B3:19:79:F3:C1:A5:1C:AC:DC:BA:1F:66:A2:B2:9B:69:D0:78:08 - X509v3 Authority Key Identifier: - keyid:EB:B3:19:79:F3:C1:A5:1C:AC:DC:BA:1F:66:A2:B2:9B:69:D0:78:08 - DirName:/C=ES/ST=Barcelona/L=Barcelona/O=IPS Internet publishing Services s.l./O=ips@mail.ips.es C.I.F. B-60929452/OU=IPS CA CLASE1 Certification Authority/CN=IPS CA CLASE1 Certification Authority/emailAddress=ips@mail.ips.es - serial:00 - - X509v3 Basic Constraints: - CA:TRUE - X509v3 Key Usage: - Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment, Key Agreement, Certificate Sign, CRL Sign, Encipher Only, Decipher Only - X509v3 Extended Key Usage: - TLS Web Server Authentication, TLS Web Client Authentication, Code Signing, E-mail Protection, Time Stamping, Microsoft Individual Code Signing, Microsoft Commercial Code Signing, Microsoft Trust List Signing, Microsoft Encrypted File System - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 Subject Alternative Name: - email:ips@mail.ips.es - X509v3 Issuer Alternative Name: - email:ips@mail.ips.es - Netscape Comment: - CLASE1 CA Certificate issued by http://www.ips.es/ - Netscape Base Url: - http://www.ips.es/ips2002/ - Netscape CA Revocation Url: - http://www.ips.es/ips2002/ips2002CLASE1.crl - Netscape Revocation Url: - http://www.ips.es/ips2002/revocationCLASE1.html? - Netscape Renewal Url: - http://www.ips.es/ips2002/renewalCLASE1.html? - Netscape CA Policy Url: - http://www.ips.es/ips2002/policyCLASE1.html - X509v3 CRL Distribution Points: - URI:http://www.ips.es/ips2002/ips2002CLASE1.crl - URI:http://wwwback.ips.es/ips2002/ips2002CLASE1.crl - - Authority Information Access: - OCSP - URI:http://ocsp.ips.es/ - - Signature Algorithm: sha1WithRSAEncryption - 2b:d0:eb:fd:da:c8:ca:59:6a:da:d3:cc:32:2e:c9:54:1b:8a: - 62:7e:15:2d:e9:d9:31:d3:2e:f4:27:23:ff:5b:ab:c5:4a:b6: - 72:40:ae:53:74:f4:bc:05:b4:c6:d9:c8:c9:77:fb:b7:f9:34: - 7f:78:00:f8:d6:a4:e4:52:3f:2c:4a:63:57:81:75:5a:8e:e8: - 8c:fb:02:c0:94:c6:29:ba:b3:dc:1c:e8:b2:af:d2:2e:62:5b: - 1a:a9:8e:0e:cc:c5:57:45:51:14:e9:4e:1c:88:a5:91:f4:a3: - f7:8e:51:c8:a9:be:86:33:3e:e6:2f:48:6e:af:54:90:4e:ad: - b1:25 -MD5 Fingerprint=84:90:1D:95:30:49:56:FC:41:81:F0:45:D7:76:C4:6B ------BEGIN CERTIFICATE----- -MIIH6jCCB1OgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARIxCzAJBgNVBAYTAkVT -MRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UE -ChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UE -ChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEuMCwGA1UECxMl -SVBTIENBIENMQVNFMSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMl -SVBTIENBIENMQVNFMSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEeMBwGCSqGSIb3 -DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTAxMTIyOTAwNTkzOFoXDTI1MTIyNzAw -NTkzOFowggESMQswCQYDVQQGEwJFUzESMBAGA1UECBMJQmFyY2Vsb25hMRIwEAYD -VQQHEwlCYXJjZWxvbmExLjAsBgNVBAoTJUlQUyBJbnRlcm5ldCBwdWJsaXNoaW5n -IFNlcnZpY2VzIHMubC4xKzApBgNVBAoUImlwc0BtYWlsLmlwcy5lcyBDLkkuRi4g -IEItNjA5Mjk0NTIxLjAsBgNVBAsTJUlQUyBDQSBDTEFTRTEgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkxLjAsBgNVBAMTJUlQUyBDQSBDTEFTRTEgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkxHjAcBgkqhkiG9w0BCQEWD2lwc0BtYWlsLmlwcy5lczCBnzAN -BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4FEnpwvdr9G5Q1uCN0VWcu+atsIS7ywS -zHb5BlmvXSHU0lq4oNTzav3KaY1mSPd05u42veiWkXWmcSjK5yISMmmwPh5r9FBS -YmL9Yzt9fuzuOOpi9GyocY3h6YvJP8a1zZRCb92CRTzo3wno7wpVqVZHYUxJZHMQ -KD/Kvwn/xi8CAwEAAaOCBEowggRGMB0GA1UdDgQWBBTrsxl588GlHKzcuh9morKb -adB4CDCCAUQGA1UdIwSCATswggE3gBTrsxl588GlHKzcuh9morKbadB4CKGCARqk -ggEWMIIBEjELMAkGA1UEBhMCRVMxEjAQBgNVBAgTCUJhcmNlbG9uYTESMBAGA1UE -BxMJQmFyY2Vsb25hMS4wLAYDVQQKEyVJUFMgSW50ZXJuZXQgcHVibGlzaGluZyBT -ZXJ2aWNlcyBzLmwuMSswKQYDVQQKFCJpcHNAbWFpbC5pcHMuZXMgQy5JLkYuICBC -LTYwOTI5NDUyMS4wLAYDVQQLEyVJUFMgQ0EgQ0xBU0UxIENlcnRpZmljYXRpb24g -QXV0aG9yaXR5MS4wLAYDVQQDEyVJUFMgQ0EgQ0xBU0UxIENlcnRpZmljYXRpb24g -QXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXOCAQAwDAYD -VR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMBBggr -BgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIB -FQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhC -AQEEBAMCAAcwGgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGB -D2lwc0BtYWlsLmlwcy5lczBBBglghkgBhvhCAQ0ENBYyQ0xBU0UxIENBIENlcnRp -ZmljYXRlIGlzc3VlZCBieSBodHRwOi8vd3d3Lmlwcy5lcy8wKQYJYIZIAYb4QgEC -BBwWGmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvMDoGCWCGSAGG+EIBBAQtFito -dHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIwMDJDTEFTRTEuY3JsMD8GCWCG -SAGG+EIBAwQyFjBodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL3Jldm9jYXRpb25D -TEFTRTEuaHRtbD8wPAYJYIZIAYb4QgEHBC8WLWh0dHA6Ly93d3cuaXBzLmVzL2lw -czIwMDIvcmVuZXdhbENMQVNFMS5odG1sPzA6BglghkgBhvhCAQgELRYraHR0cDov -L3d3dy5pcHMuZXMvaXBzMjAwMi9wb2xpY3lDTEFTRTEuaHRtbDBzBgNVHR8EbDBq -MDGgL6AthitodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIwMDJDTEFTRTEu -Y3JsMDWgM6Axhi9odHRwOi8vd3d3YmFjay5pcHMuZXMvaXBzMjAwMi9pcHMyMDAy -Q0xBU0UxLmNybDAvBggrBgEFBQcBAQQjMCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly9v -Y3NwLmlwcy5lcy8wDQYJKoZIhvcNAQEFBQADgYEAK9Dr/drIyllq2tPMMi7JVBuK -Yn4VLenZMdMu9Ccj/1urxUq2ckCuU3T0vAW0xtnIyXf7t/k0f3gA+Nak5FI/LEpj -V4F1Wo7ojPsCwJTGKbqz3Bzosq/SLmJbGqmODszFV0VRFOlOHIilkfSj945RyKm+ -hjM+5i9Ibq9UkE6tsSU= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=ES, ST=Barcelona, L=Barcelona, O=IPS Internet publishing Services s.l., O=ips@mail.ips.es C.I.F. B-60929452, OU=IPS CA CLASE3 Certification Authority, CN=IPS CA CLASE3 Certification Authority/emailAddress=ips@mail.ips.es - Validity - Not Before: Dec 29 01:01:44 2001 GMT - Not After : Dec 27 01:01:44 2025 GMT - Subject: C=ES, ST=Barcelona, L=Barcelona, O=IPS Internet publishing Services s.l., O=ips@mail.ips.es C.I.F. B-60929452, OU=IPS CA CLASE3 Certification Authority, CN=IPS CA CLASE3 Certification Authority/emailAddress=ips@mail.ips.es - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:ab:17:fe:0e:b0:c6:68:1b:53:f0:52:be:9f:fa: - da:fa:8b:13:04:bb:01:8f:32:d9:1f:8f:4d:ce:36: - 98:da:e4:00:44:8c:28:d8:13:44:2a:a4:6b:4e:17: - 24:42:9c:d3:88:a4:41:82:d6:23:fb:8b:c9:86:e5: - b9:a9:82:05:dc:f1:de:1f:e0:0c:99:55:98:f2:38: - ec:6c:9d:20:03:c0:ef:aa:a3:c6:64:04:51:2d:78: - 0d:a3:d2:a8:3a:d6:24:4c:e9:96:7a:18:ac:13:23: - 22:1b:7c:e8:31:11:b3:5f:09:aa:30:70:71:46:25: - 6b:49:71:80:2b:95:01:b2:1f - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - B8:93:FF:2E:CB:DC:2C:8E:A2:E7:7A:FE:36:51:21:A3:98:5B:0C:34 - X509v3 Authority Key Identifier: - keyid:B8:93:FF:2E:CB:DC:2C:8E:A2:E7:7A:FE:36:51:21:A3:98:5B:0C:34 - DirName:/C=ES/ST=Barcelona/L=Barcelona/O=IPS Internet publishing Services s.l./O=ips@mail.ips.es C.I.F. B-60929452/OU=IPS CA CLASE3 Certification Authority/CN=IPS CA CLASE3 Certification Authority/emailAddress=ips@mail.ips.es - serial:00 - - X509v3 Basic Constraints: - CA:TRUE - X509v3 Key Usage: - Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment, Key Agreement, Certificate Sign, CRL Sign, Encipher Only, Decipher Only - X509v3 Extended Key Usage: - TLS Web Server Authentication, TLS Web Client Authentication, Code Signing, E-mail Protection, Time Stamping, Microsoft Individual Code Signing, Microsoft Commercial Code Signing, Microsoft Trust List Signing, Microsoft Encrypted File System - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 Subject Alternative Name: - email:ips@mail.ips.es - X509v3 Issuer Alternative Name: - email:ips@mail.ips.es - Netscape Comment: - CLASE3 CA Certificate issued by http://www.ips.es/ - Netscape Base Url: - http://www.ips.es/ips2002/ - Netscape CA Revocation Url: - http://www.ips.es/ips2002/ips2002CLASE3.crl - Netscape Revocation Url: - http://www.ips.es/ips2002/revocationCLASE3.html? - Netscape Renewal Url: - http://www.ips.es/ips2002/renewalCLASE3.html? - Netscape CA Policy Url: - http://www.ips.es/ips2002/policyCLASE3.html - X509v3 CRL Distribution Points: - URI:http://www.ips.es/ips2002/ips2002CLASE3.crl - URI:http://wwwback.ips.es/ips2002/ips2002CLASE3.crl - - Authority Information Access: - OCSP - URI:http://ocsp.ips.es/ - - Signature Algorithm: sha1WithRSAEncryption - 17:65:5c:99:95:43:03:27:af:26:e5:eb:d0:b3:17:23:f7:43: - aa:c7:f0:7d:ec:0f:c6:a9:ae:ae:96:0f:76:29:1c:e2:06:2d: - 7e:26:c5:3c:fa:a1:c1:81:ce:53:b0:42:d1:97:57:1a:17:7e: - a4:51:61:c6:ee:e9:5e:ef:05:ba:eb:bd:0f:a7:92:6f:d8:a3: - 06:68:29:8e:79:f5:ff:bf:f9:a7:af:e4:b1:ce:c2:d1:80:42: - 27:05:04:34:f8:c3:7f:16:78:23:0c:07:24:f2:46:47:ad:3b: - 54:d0:af:d5:31:b2:af:7d:c8:ea:e9:d4:56:d9:0e:13:b2:c5: - 45:50 -MD5 Fingerprint=42:76:97:68:CF:A6:B4:38:24:AA:A1:1B:F2:67:DE:CA ------BEGIN CERTIFICATE----- -MIIH6jCCB1OgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARIxCzAJBgNVBAYTAkVT -MRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UE -ChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UE -ChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEuMCwGA1UECxMl -SVBTIENBIENMQVNFMyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMl -SVBTIENBIENMQVNFMyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEeMBwGCSqGSIb3 -DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTAxMTIyOTAxMDE0NFoXDTI1MTIyNzAx -MDE0NFowggESMQswCQYDVQQGEwJFUzESMBAGA1UECBMJQmFyY2Vsb25hMRIwEAYD -VQQHEwlCYXJjZWxvbmExLjAsBgNVBAoTJUlQUyBJbnRlcm5ldCBwdWJsaXNoaW5n -IFNlcnZpY2VzIHMubC4xKzApBgNVBAoUImlwc0BtYWlsLmlwcy5lcyBDLkkuRi4g -IEItNjA5Mjk0NTIxLjAsBgNVBAsTJUlQUyBDQSBDTEFTRTMgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkxLjAsBgNVBAMTJUlQUyBDQSBDTEFTRTMgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkxHjAcBgkqhkiG9w0BCQEWD2lwc0BtYWlsLmlwcy5lczCBnzAN -BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAqxf+DrDGaBtT8FK+n/ra+osTBLsBjzLZ -H49NzjaY2uQARIwo2BNEKqRrThckQpzTiKRBgtYj+4vJhuW5qYIF3PHeH+AMmVWY -8jjsbJ0gA8DvqqPGZARRLXgNo9KoOtYkTOmWehisEyMiG3zoMRGzXwmqMHBxRiVr -SXGAK5UBsh8CAwEAAaOCBEowggRGMB0GA1UdDgQWBBS4k/8uy9wsjqLnev42USGj -mFsMNDCCAUQGA1UdIwSCATswggE3gBS4k/8uy9wsjqLnev42USGjmFsMNKGCARqk -ggEWMIIBEjELMAkGA1UEBhMCRVMxEjAQBgNVBAgTCUJhcmNlbG9uYTESMBAGA1UE -BxMJQmFyY2Vsb25hMS4wLAYDVQQKEyVJUFMgSW50ZXJuZXQgcHVibGlzaGluZyBT -ZXJ2aWNlcyBzLmwuMSswKQYDVQQKFCJpcHNAbWFpbC5pcHMuZXMgQy5JLkYuICBC -LTYwOTI5NDUyMS4wLAYDVQQLEyVJUFMgQ0EgQ0xBU0UzIENlcnRpZmljYXRpb24g -QXV0aG9yaXR5MS4wLAYDVQQDEyVJUFMgQ0EgQ0xBU0UzIENlcnRpZmljYXRpb24g -QXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXOCAQAwDAYD -VR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMBBggr -BgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIB -FQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhC -AQEEBAMCAAcwGgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGB -D2lwc0BtYWlsLmlwcy5lczBBBglghkgBhvhCAQ0ENBYyQ0xBU0UzIENBIENlcnRp -ZmljYXRlIGlzc3VlZCBieSBodHRwOi8vd3d3Lmlwcy5lcy8wKQYJYIZIAYb4QgEC -BBwWGmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvMDoGCWCGSAGG+EIBBAQtFito -dHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIwMDJDTEFTRTMuY3JsMD8GCWCG -SAGG+EIBAwQyFjBodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL3Jldm9jYXRpb25D -TEFTRTMuaHRtbD8wPAYJYIZIAYb4QgEHBC8WLWh0dHA6Ly93d3cuaXBzLmVzL2lw -czIwMDIvcmVuZXdhbENMQVNFMy5odG1sPzA6BglghkgBhvhCAQgELRYraHR0cDov -L3d3dy5pcHMuZXMvaXBzMjAwMi9wb2xpY3lDTEFTRTMuaHRtbDBzBgNVHR8EbDBq -MDGgL6AthitodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIwMDJDTEFTRTMu -Y3JsMDWgM6Axhi9odHRwOi8vd3d3YmFjay5pcHMuZXMvaXBzMjAwMi9pcHMyMDAy -Q0xBU0UzLmNybDAvBggrBgEFBQcBAQQjMCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly9v -Y3NwLmlwcy5lcy8wDQYJKoZIhvcNAQEFBQADgYEAF2VcmZVDAyevJuXr0LMXI/dD -qsfwfewPxqmurpYPdikc4gYtfibFPPqhwYHOU7BC0ZdXGhd+pFFhxu7pXu8Fuuu9 -D6eSb9ijBmgpjnn1/7/5p6/ksc7C0YBCJwUENPjDfxZ4IwwHJPJGR607VNCv1TGy -r33I6unUVtkOE7LFRVA= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=ES, ST=Barcelona, L=Barcelona, O=IPS Internet publishing Services s.l., O=ips@mail.ips.es C.I.F. B-60929452, OU=IPS CA CLASEA1 Certification Authority, CN=IPS CA CLASEA1 Certification Authority/emailAddress=ips@mail.ips.es - Validity - Not Before: Dec 29 01:05:32 2001 GMT - Not After : Dec 27 01:05:32 2025 GMT - Subject: C=ES, ST=Barcelona, L=Barcelona, O=IPS Internet publishing Services s.l., O=ips@mail.ips.es C.I.F. B-60929452, OU=IPS CA CLASEA1 Certification Authority, CN=IPS CA CLASEA1 Certification Authority/emailAddress=ips@mail.ips.es - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:bb:30:d7:dc:d0:54:bd:35:4e:9f:c5:4c:82:ea: - d1:50:3c:47:98:fc:9b:69:9d:77:cd:6e:e0:3f:ee: - eb:32:5f:5f:9f:d2:d0:79:e5:95:73:44:21:32:e0: - 0a:db:9d:d7:ce:8d:ab:52:8b:2b:78:e0:9b:5b:7d: - f4:fd:6d:09:e5:ae:e1:6c:1d:07:23:a0:17:d1:f9: - 7d:a8:46:46:91:22:a8:b2:69:c6:ad:f7:f5:f5:94: - a1:30:94:bd:00:cc:44:7f:ee:c4:9e:c9:c1:e6:8f: - 0a:36:c1:fd:24:3d:01:a0:f5:7b:e2:7c:78:66:43: - 8b:4f:59:f2:9b:d9:fa:49:b3 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 67:26:96:E7:A1:BF:D8:B5:03:9D:FE:3B:DC:FE:F2:8A:E6:15:DD:30 - X509v3 Authority Key Identifier: - keyid:67:26:96:E7:A1:BF:D8:B5:03:9D:FE:3B:DC:FE:F2:8A:E6:15:DD:30 - DirName:/C=ES/ST=Barcelona/L=Barcelona/O=IPS Internet publishing Services s.l./O=ips@mail.ips.es C.I.F. B-60929452/OU=IPS CA CLASEA1 Certification Authority/CN=IPS CA CLASEA1 Certification Authority/emailAddress=ips@mail.ips.es - serial:00 - - X509v3 Basic Constraints: - CA:TRUE - X509v3 Key Usage: - Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment, Key Agreement, Certificate Sign, CRL Sign, Encipher Only, Decipher Only - X509v3 Extended Key Usage: - TLS Web Server Authentication, TLS Web Client Authentication, Code Signing, E-mail Protection, Time Stamping, Microsoft Individual Code Signing, Microsoft Commercial Code Signing, Microsoft Trust List Signing, Microsoft Encrypted File System - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 Subject Alternative Name: - email:ips@mail.ips.es - X509v3 Issuer Alternative Name: - email:ips@mail.ips.es - Netscape Comment: - CLASEA1 CA Certificate issued by http://www.ips.es/ - Netscape Base Url: - http://www.ips.es/ips2002/ - Netscape CA Revocation Url: - http://www.ips.es/ips2002/ips2002CLASEA1.crl - Netscape Revocation Url: - http://www.ips.es/ips2002/revocationCLASEA1.html? - Netscape Renewal Url: - http://www.ips.es/ips2002/renewalCLASEA1.html? - Netscape CA Policy Url: - http://www.ips.es/ips2002/policyCLASEA1.html - X509v3 CRL Distribution Points: - URI:http://www.ips.es/ips2002/ips2002CLASEA1.crl - URI:http://wwwback.ips.es/ips2002/ips2002CLASEA1.crl - - Authority Information Access: - OCSP - URI:http://ocsp.ips.es/ - - Signature Algorithm: sha1WithRSAEncryption - 7e:ba:8a:ac:80:00:84:15:0a:d5:98:51:0c:64:c5:9c:02:58: - 83:66:ca:ad:1e:07:cd:7e:6a:da:80:07:df:03:34:4a:1c:93: - c4:4b:58:20:35:36:71:ed:a2:0a:35:12:a5:a6:65:a7:85:69: - 0a:0e:e3:61:ee:ea:be:28:93:33:d5:ec:e8:be:c4:db:5f:7f: - a8:f9:63:31:c8:6b:96:e2:29:c2:5b:a0:e7:97:36:9d:77:5e: - 31:6b:fe:d3:a7:db:2a:db:db:96:8b:1f:66:de:b6:03:c0:2b: - b3:78:d6:55:07:e5:8f:39:50:de:07:23:72:e6:bd:20:14:4b: - b4:86 -MD5 Fingerprint=0C:F8:9E:17:FC:D4:03:BD:E6:8D:9B:3C:05:87:FE:84 ------BEGIN CERTIFICATE----- -MIIH9zCCB2CgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARQxCzAJBgNVBAYTAkVT -MRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UE -ChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UE -ChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEvMC0GA1UECxMm -SVBTIENBIENMQVNFQTEgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLzAtBgNVBAMT -JklQUyBDQSBDTEFTRUExIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZI -hvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMwHhcNMDExMjI5MDEwNTMyWhcNMjUxMjI3 -MDEwNTMyWjCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQ -BgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hp -bmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5G -LiAgQi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENMQVNFQTEgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUExIENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMw -gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALsw19zQVL01Tp/FTILq0VA8R5j8 -m2mdd81u4D/u6zJfX5/S0HnllXNEITLgCtud186Nq1KLK3jgm1t99P1tCeWu4Wwd -ByOgF9H5fahGRpEiqLJpxq339fWUoTCUvQDMRH/uxJ7JweaPCjbB/SQ9AaD1e+J8 -eGZDi09Z8pvZ+kmzAgMBAAGjggRTMIIETzAdBgNVHQ4EFgQUZyaW56G/2LUDnf47 -3P7yiuYV3TAwggFGBgNVHSMEggE9MIIBOYAUZyaW56G/2LUDnf473P7yiuYV3TCh -ggEcpIIBGDCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQ -BgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hp -bmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5G -LiAgQi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENMQVNFQTEgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUExIENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXOC -AQAwDAYDVR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUF -BwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYB -BAGCNwIBFQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglg -hkgBhvhCAQEEBAMCAAcwGgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1Ud -EgQTMBGBD2lwc0BtYWlsLmlwcy5lczBCBglghkgBhvhCAQ0ENRYzQ0xBU0VBMSBD -QSBDZXJ0aWZpY2F0ZSBpc3N1ZWQgYnkgaHR0cDovL3d3dy5pcHMuZXMvMCkGCWCG -SAGG+EIBAgQcFhpodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyLzA7BglghkgBhvhC -AQQELhYsaHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9pcHMyMDAyQ0xBU0VBMS5j -cmwwQAYJYIZIAYb4QgEDBDMWMWh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmV2 -b2NhdGlvbkNMQVNFQTEuaHRtbD8wPQYJYIZIAYb4QgEHBDAWLmh0dHA6Ly93d3cu -aXBzLmVzL2lwczIwMDIvcmVuZXdhbENMQVNFQTEuaHRtbD8wOwYJYIZIAYb4QgEI -BC4WLGh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcG9saWN5Q0xBU0VBMS5odG1s -MHUGA1UdHwRuMGwwMqAwoC6GLGh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvaXBz -MjAwMkNMQVNFQTEuY3JsMDagNKAyhjBodHRwOi8vd3d3YmFjay5pcHMuZXMvaXBz -MjAwMi9pcHMyMDAyQ0xBU0VBMS5jcmwwLwYIKwYBBQUHAQEEIzAhMB8GCCsGAQUF -BzABhhNodHRwOi8vb2NzcC5pcHMuZXMvMA0GCSqGSIb3DQEBBQUAA4GBAH66iqyA -AIQVCtWYUQxkxZwCWINmyq0eB81+atqAB98DNEock8RLWCA1NnHtogo1EqWmZaeF -aQoO42Hu6r4okzPV7Oi+xNtff6j5YzHIa5biKcJboOeXNp13XjFr/tOn2yrb25aL -H2betgPAK7N41lUH5Y85UN4HI3LmvSAUS7SG ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=ES, ST=Barcelona, L=Barcelona, O=IPS Internet publishing Services s.l., O=ips@mail.ips.es C.I.F. B-60929452, OU=IPS CA CLASEA3 Certification Authority, CN=IPS CA CLASEA3 Certification Authority/emailAddress=ips@mail.ips.es - Validity - Not Before: Dec 29 01:07:50 2001 GMT - Not After : Dec 27 01:07:50 2025 GMT - Subject: C=ES, ST=Barcelona, L=Barcelona, O=IPS Internet publishing Services s.l., O=ips@mail.ips.es C.I.F. B-60929452, OU=IPS CA CLASEA3 Certification Authority, CN=IPS CA CLASEA3 Certification Authority/emailAddress=ips@mail.ips.es - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:ee:80:00:f6:1a:64:2e:ad:6a:c8:83:b1:8b:a7: - ee:8f:d9:b6:db:cd:1b:bb:86:06:22:76:33:0c:12: - 6d:48:56:61:d2:dc:82:25:62:2f:9f:d2:69:30:65: - 03:42:23:58:bc:47:dc:6b:d6:75:5d:17:3c:e1:ff: - f2:58:67:79:a0:c1:81:b1:d4:56:a2:f2:8d:11:99: - fd:f6:7d:f1:c7:c4:5e:02:2a:9a:e2:4a:b5:13:8a: - 00:fd:8c:77:86:e6:d7:94:f5:20:75:2e:0e:4c:bf: - 74:c4:3f:81:3e:83:b4:a3:38:36:29:e7:e8:2a:f5: - 8c:88:41:aa:80:a6:e3:6c:ef - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 1E:9F:57:50:47:B6:61:93:39:D3:2C:FC:DA:5D:3D:05:75:B7:99:02 - X509v3 Authority Key Identifier: - keyid:1E:9F:57:50:47:B6:61:93:39:D3:2C:FC:DA:5D:3D:05:75:B7:99:02 - DirName:/C=ES/ST=Barcelona/L=Barcelona/O=IPS Internet publishing Services s.l./O=ips@mail.ips.es C.I.F. B-60929452/OU=IPS CA CLASEA3 Certification Authority/CN=IPS CA CLASEA3 Certification Authority/emailAddress=ips@mail.ips.es - serial:00 - - X509v3 Basic Constraints: - CA:TRUE - X509v3 Key Usage: - Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment, Key Agreement, Certificate Sign, CRL Sign, Encipher Only, Decipher Only - X509v3 Extended Key Usage: - TLS Web Server Authentication, TLS Web Client Authentication, Code Signing, E-mail Protection, Time Stamping, Microsoft Individual Code Signing, Microsoft Commercial Code Signing, Microsoft Trust List Signing, Microsoft Encrypted File System - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 Subject Alternative Name: - email:ips@mail.ips.es - X509v3 Issuer Alternative Name: - email:ips@mail.ips.es - Netscape Comment: - CLASEA3 CA Certificate issued by http://www.ips.es/ - Netscape Base Url: - http://www.ips.es/ips2002/ - Netscape CA Revocation Url: - http://www.ips.es/ips2002/ips2002CLASEA3.crl - Netscape Revocation Url: - http://www.ips.es/ips2002/revocationCLASEA3.html? - Netscape Renewal Url: - http://www.ips.es/ips2002/renewalCLASEA3.html? - Netscape CA Policy Url: - http://www.ips.es/ips2002/policyCLASEA3.html - X509v3 CRL Distribution Points: - URI:http://www.ips.es/ips2002/ips2002CLASEA3.crl - URI:http://wwwback.ips.es/ips2002/ips2002CLASEA3.crl - - Authority Information Access: - OCSP - URI:http://ocsp.ips.es/ - - Signature Algorithm: sha1WithRSAEncryption - 4a:3d:20:47:1a:da:89:f4:7a:2b:31:79:ec:01:c0:cc:01:f5: - d6:c1:fc:c8:c3:f3:50:02:51:90:58:2a:9f:e7:35:09:5b:30: - 0a:81:00:25:47:af:d4:0f:0e:9e:60:26:a8:95:a7:83:08:df: - 2d:ac:e9:0e:f7:9c:c8:9f:cb:93:45:f1:ba:6a:c6:67:51:4a: - 69:4f:6b:fe:7d:0b:2f:52:29:c2:50:ad:24:44:ed:23:b3:48: - cb:44:40:c1:03:95:0c:0a:78:06:12:01:f5:91:31:2d:49:8d: - bb:3f:45:4e:2c:e0:e8:cd:b5:c9:14:15:0c:e3:07:83:9b:26: - 75:ef -MD5 Fingerprint=06:F9:EB:EC:CC:56:9D:88:BA:90:F5:BA:B0:1A:E0:02 ------BEGIN CERTIFICATE----- -MIIH9zCCB2CgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARQxCzAJBgNVBAYTAkVT -MRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UE -ChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UE -ChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEvMC0GA1UECxMm -SVBTIENBIENMQVNFQTMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLzAtBgNVBAMT -JklQUyBDQSBDTEFTRUEzIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZI -hvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMwHhcNMDExMjI5MDEwNzUwWhcNMjUxMjI3 -MDEwNzUwWjCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQ -BgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hp -bmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5G -LiAgQi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENMQVNFQTMgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUEzIENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMw -gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAO6AAPYaZC6tasiDsYun7o/ZttvN -G7uGBiJ2MwwSbUhWYdLcgiViL5/SaTBlA0IjWLxH3GvWdV0XPOH/8lhneaDBgbHU -VqLyjRGZ/fZ98cfEXgIqmuJKtROKAP2Md4bm15T1IHUuDky/dMQ/gT6DtKM4Ninn -6Cr1jIhBqoCm42zvAgMBAAGjggRTMIIETzAdBgNVHQ4EFgQUHp9XUEe2YZM50yz8 -2l09BXW3mQIwggFGBgNVHSMEggE9MIIBOYAUHp9XUEe2YZM50yz82l09BXW3mQKh -ggEcpIIBGDCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQ -BgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hp -bmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5G -LiAgQi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENMQVNFQTMgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUEzIENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXOC -AQAwDAYDVR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUF -BwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYB -BAGCNwIBFQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglg -hkgBhvhCAQEEBAMCAAcwGgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1Ud -EgQTMBGBD2lwc0BtYWlsLmlwcy5lczBCBglghkgBhvhCAQ0ENRYzQ0xBU0VBMyBD -QSBDZXJ0aWZpY2F0ZSBpc3N1ZWQgYnkgaHR0cDovL3d3dy5pcHMuZXMvMCkGCWCG -SAGG+EIBAgQcFhpodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyLzA7BglghkgBhvhC -AQQELhYsaHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9pcHMyMDAyQ0xBU0VBMy5j -cmwwQAYJYIZIAYb4QgEDBDMWMWh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmV2 -b2NhdGlvbkNMQVNFQTMuaHRtbD8wPQYJYIZIAYb4QgEHBDAWLmh0dHA6Ly93d3cu -aXBzLmVzL2lwczIwMDIvcmVuZXdhbENMQVNFQTMuaHRtbD8wOwYJYIZIAYb4QgEI -BC4WLGh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcG9saWN5Q0xBU0VBMy5odG1s -MHUGA1UdHwRuMGwwMqAwoC6GLGh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvaXBz -MjAwMkNMQVNFQTMuY3JsMDagNKAyhjBodHRwOi8vd3d3YmFjay5pcHMuZXMvaXBz -MjAwMi9pcHMyMDAyQ0xBU0VBMy5jcmwwLwYIKwYBBQUHAQEEIzAhMB8GCCsGAQUF -BzABhhNodHRwOi8vb2NzcC5pcHMuZXMvMA0GCSqGSIb3DQEBBQUAA4GBAEo9IEca -2on0eisxeewBwMwB9dbB/MjD81ACUZBYKp/nNQlbMAqBACVHr9QPDp5gJqiVp4MI -3y2s6Q73nMify5NF8bpqxmdRSmlPa/59Cy9SKcJQrSRE7SOzSMtEQMEDlQwKeAYS -AfWRMS1Jjbs/RU4s4OjNtckUFQzjB4ObJnXv ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 1 (0x0) - Serial Number: 0 (0x0) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=ES, ST=BARCELONA, L=BARCELONA, O=IPS Seguridad CA, OU=Certificaciones, CN=IPS SERVIDORES/emailAddress=ips@mail.ips.es - Validity - Not Before: Jan 1 23:21:07 1998 GMT - Not After : Dec 29 23:21:07 2009 GMT - Subject: C=ES, ST=BARCELONA, L=BARCELONA, O=IPS Seguridad CA, OU=Certificaciones, CN=IPS SERVIDORES/emailAddress=ips@mail.ips.es - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:ac:4f:52:74:9f:39:ea:8e:dc:25:c4:bc:98:5d: - 98:64:24:09:3c:21:b3:cc:19:b5:8e:94:8e:87:d1: - f8:37:3e:a1:c8:2d:58:a4:80:35:5b:a1:75:6c:1d: - 45:0c:1f:61:63:6a:5e:6f:9b:0a:4c:c1:c8:b8:61: - 23:35:81:ff:fe:ac:78:70:2d:68:e1:3a:07:98:95: - 02:54:dd:cd:23:b7:80:53:d7:c8:37:45:72:06:24: - 12:ba:13:61:21:8a:6e:75:28:e0:c5:0f:34:fd:36: - d8:45:7f:e1:b8:36:ef:b3:e1:c6:20:8e:e8:b4:38: - bc:e1:3e:f6:11:de:8c:9d:01 - Exponent: 65537 (0x10001) - Signature Algorithm: md5WithRSAEncryption - 2c:f3:c3:79:58:24:de:c6:3b:d1:e0:42:69:b8:ee:64:b3:3d: - 62:01:b9:b3:84:df:23:7d:dd:98:cf:10:a9:fe:00:d8:22:96: - 05:13:07:54:57:c5:a7:de:cb:d9:b8:88:42:f6:99:db:14:77: - 1f:b6:fe:25:3d:e1:a2:3e:03:a9:81:d2:2d:6c:47:f5:96:46: - 8c:22:ab:c8:cc:0d:0e:97:5e:8b:41:b4:3b:c4:0a:06:40:1d: - dd:46:f4:01:dd:ba:82:2e:3c:3d:78:70:9e:7c:18:d0:ab:f8: - b8:77:07:46:71:f1:ca:0b:63:5c:6a:f9:72:94:d5:01:4f:a0: - db:42 -MD5 Fingerprint=7B:B5:08:99:9A:8C:18:BF:85:27:7D:0E:AE:DA:B2:AB ------BEGIN CERTIFICATE----- -MIICtzCCAiACAQAwDQYJKoZIhvcNAQEEBQAwgaMxCzAJBgNVBAYTAkVTMRIwEAYD -VQQIEwlCQVJDRUxPTkExEjAQBgNVBAcTCUJBUkNFTE9OQTEZMBcGA1UEChMQSVBT -IFNlZ3VyaWRhZCBDQTEYMBYGA1UECxMPQ2VydGlmaWNhY2lvbmVzMRcwFQYDVQQD -Ew5JUFMgU0VSVklET1JFUzEeMBwGCSqGSIb3DQEJARYPaXBzQG1haWwuaXBzLmVz -MB4XDTk4MDEwMTIzMjEwN1oXDTA5MTIyOTIzMjEwN1owgaMxCzAJBgNVBAYTAkVT -MRIwEAYDVQQIEwlCQVJDRUxPTkExEjAQBgNVBAcTCUJBUkNFTE9OQTEZMBcGA1UE -ChMQSVBTIFNlZ3VyaWRhZCBDQTEYMBYGA1UECxMPQ2VydGlmaWNhY2lvbmVzMRcw -FQYDVQQDEw5JUFMgU0VSVklET1JFUzEeMBwGCSqGSIb3DQEJARYPaXBzQG1haWwu -aXBzLmVzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsT1J0nznqjtwlxLyY -XZhkJAk8IbPMGbWOlI6H0fg3PqHILVikgDVboXVsHUUMH2Fjal5vmwpMwci4YSM1 -gf/+rHhwLWjhOgeYlQJU3c0jt4BT18g3RXIGJBK6E2Ehim51KODFDzT9NthFf+G4 -Nu+z4cYgjui0OLzhPvYR3oydAQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBACzzw3lY -JN7GO9HgQmm47mSzPWIBubOE3yN93ZjPEKn+ANgilgUTB1RXxafey9m4iEL2mdsU -dx+2/iU94aI+A6mB0i1sR/WWRowiq8jMDQ6XXotBtDvECgZAHd1G9AHduoIuPD14 -cJ58GNCr+Lh3B0Zx8coLY1xq+XKU1QFPoNtC ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=ES, ST=Barcelona, L=Barcelona, O=IPS Internet publishing Services s.l., O=ips@mail.ips.es C.I.F. B-60929452, OU=IPS CA Timestamping Certification Authority, CN=IPS CA Timestamping Certification Authority/emailAddress=ips@mail.ips.es - Validity - Not Before: Dec 29 01:10:18 2001 GMT - Not After : Dec 27 01:10:18 2025 GMT - Subject: C=ES, ST=Barcelona, L=Barcelona, O=IPS Internet publishing Services s.l., O=ips@mail.ips.es C.I.F. B-60929452, OU=IPS CA Timestamping Certification Authority, CN=IPS CA Timestamping Certification Authority/emailAddress=ips@mail.ips.es - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:bc:b8:ee:56:a5:9a:8c:e6:36:c9:c2:62:a0:66: - 81:8d:1a:d5:7a:d2:73:9f:0e:84:64:ba:95:b4:90: - a7:78:af:ca:fe:54:61:5b:ce:b2:20:57:01:ae:44: - 92:43:10:38:11:f7:68:fc:17:40:a5:68:27:32:3b: - c4:a7:e6:42:71:c5:99:ef:76:ff:2b:95:24:f5:49: - 92:18:68:ca:00:b5:a4:5a:2f:6e:cb:d6:1b:2c:0d: - 54:67:6b:7a:29:a1:58:ab:a2:5a:00:d6:5b:bb:18: - c2:df:f6:1e:13:56:76:9b:a5:68:e2:98:ce:c6:03: - 8a:34:db:4c:83:41:a6:a9:a3 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 8B:D0:10:50:09:81:F2:9D:09:D5:0E:60:78:03:22:A2:3F:C8:CA:66 - X509v3 Authority Key Identifier: - keyid:8B:D0:10:50:09:81:F2:9D:09:D5:0E:60:78:03:22:A2:3F:C8:CA:66 - DirName:/C=ES/ST=Barcelona/L=Barcelona/O=IPS Internet publishing Services s.l./O=ips@mail.ips.es C.I.F. B-60929452/OU=IPS CA Timestamping Certification Authority/CN=IPS CA Timestamping Certification Authority/emailAddress=ips@mail.ips.es - serial:00 - - X509v3 Basic Constraints: - CA:TRUE - X509v3 Key Usage: - Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment, Key Agreement, Certificate Sign, CRL Sign, Encipher Only, Decipher Only - X509v3 Extended Key Usage: - TLS Web Server Authentication, TLS Web Client Authentication, Code Signing, E-mail Protection, Time Stamping, Microsoft Individual Code Signing, Microsoft Commercial Code Signing, Microsoft Trust List Signing, Microsoft Encrypted File System - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 Subject Alternative Name: - email:ips@mail.ips.es - X509v3 Issuer Alternative Name: - email:ips@mail.ips.es - Netscape Comment: - Timestamping CA Certificate issued by http://www.ips.es/ - Netscape Base Url: - http://www.ips.es/ips2002/ - Netscape CA Revocation Url: - http://www.ips.es/ips2002/ips2002Timestamping.crl - Netscape Revocation Url: - http://www.ips.es/ips2002/revocationTimestamping.html? - Netscape Renewal Url: - http://www.ips.es/ips2002/renewalTimestamping.html? - Netscape CA Policy Url: - http://www.ips.es/ips2002/policyTimestamping.html - X509v3 CRL Distribution Points: - URI:http://www.ips.es/ips2002/ips2002Timestamping.crl - URI:http://wwwback.ips.es/ips2002/ips2002Timestamping.crl - - Authority Information Access: - OCSP - URI:http://ocsp.ips.es/ - - Signature Algorithm: sha1WithRSAEncryption - 65:ba:c1:cc:00:1a:95:91:ca:e9:6c:3a:bf:3a:1e:14:08:7c: - fb:83:ee:6b:62:51:d3:33:91:b5:60:79:7e:04:d8:5d:79:37: - e8:c3:5b:b0:c4:67:2d:68:5a:b2:5f:0e:0a:fa:cd:3f:3a:45: - a1:ea:36:cf:26:1e:a7:11:28:c5:94:8f:84:4c:53:08:c5:93: - b3:fc:e2:7f:f5:8d:f3:b1:a9:85:5f:88:de:91:96:ee:17:5b: - ae:a5:ea:70:65:78:2c:21:64:01:95:ce:ce:4c:3e:50:f4:b6: - 59:cb:63:8d:b6:bd:18:d4:87:4a:5f:dc:ef:e9:56:f0:0a:0c: - e8:75 -MD5 Fingerprint=2E:03:FD:C5:F5:D7:2B:94:64:C1:BE:89:31:F1:16:9B ------BEGIN CERTIFICATE----- -MIIIODCCB6GgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCAR4xCzAJBgNVBAYTAkVT -MRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UE -ChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UE -ChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjE0MDIGA1UECxMr -SVBTIENBIFRpbWVzdGFtcGluZyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTE0MDIG -A1UEAxMrSVBTIENBIFRpbWVzdGFtcGluZyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 -eTEeMBwGCSqGSIb3DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTAxMTIyOTAxMTAx -OFoXDTI1MTIyNzAxMTAxOFowggEeMQswCQYDVQQGEwJFUzESMBAGA1UECBMJQmFy -Y2Vsb25hMRIwEAYDVQQHEwlCYXJjZWxvbmExLjAsBgNVBAoTJUlQUyBJbnRlcm5l -dCBwdWJsaXNoaW5nIFNlcnZpY2VzIHMubC4xKzApBgNVBAoUImlwc0BtYWlsLmlw -cy5lcyBDLkkuRi4gIEItNjA5Mjk0NTIxNDAyBgNVBAsTK0lQUyBDQSBUaW1lc3Rh -bXBpbmcgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxNDAyBgNVBAMTK0lQUyBDQSBU -aW1lc3RhbXBpbmcgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHjAcBgkqhkiG9w0B -CQEWD2lwc0BtYWlsLmlwcy5lczCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA -vLjuVqWajOY2ycJioGaBjRrVetJznw6EZLqVtJCneK/K/lRhW86yIFcBrkSSQxA4 -Efdo/BdApWgnMjvEp+ZCccWZ73b/K5Uk9UmSGGjKALWkWi9uy9YbLA1UZ2t6KaFY -q6JaANZbuxjC3/YeE1Z2m6Vo4pjOxgOKNNtMg0GmqaMCAwEAAaOCBIAwggR8MB0G -A1UdDgQWBBSL0BBQCYHynQnVDmB4AyKiP8jKZjCCAVAGA1UdIwSCAUcwggFDgBSL -0BBQCYHynQnVDmB4AyKiP8jKZqGCASakggEiMIIBHjELMAkGA1UEBhMCRVMxEjAQ -BgNVBAgTCUJhcmNlbG9uYTESMBAGA1UEBxMJQmFyY2Vsb25hMS4wLAYDVQQKEyVJ -UFMgSW50ZXJuZXQgcHVibGlzaGluZyBTZXJ2aWNlcyBzLmwuMSswKQYDVQQKFCJp -cHNAbWFpbC5pcHMuZXMgQy5JLkYuICBCLTYwOTI5NDUyMTQwMgYDVQQLEytJUFMg -Q0EgVGltZXN0YW1waW5nIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MTQwMgYDVQQD -EytJUFMgQ0EgVGltZXN0YW1waW5nIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4w -HAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAM -BgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYB -BQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIBFQYKKwYBBAGCNwIB -FgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcwGgYD -VR0RBBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlw -cy5lczBHBglghkgBhvhCAQ0EOhY4VGltZXN0YW1waW5nIENBIENlcnRpZmljYXRl -IGlzc3VlZCBieSBodHRwOi8vd3d3Lmlwcy5lcy8wKQYJYIZIAYb4QgECBBwWGmh0 -dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvMEAGCWCGSAGG+EIBBAQzFjFodHRwOi8v -d3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIwMDJUaW1lc3RhbXBpbmcuY3JsMEUGCWCG -SAGG+EIBAwQ4FjZodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL3Jldm9jYXRpb25U -aW1lc3RhbXBpbmcuaHRtbD8wQgYJYIZIAYb4QgEHBDUWM2h0dHA6Ly93d3cuaXBz -LmVzL2lwczIwMDIvcmVuZXdhbFRpbWVzdGFtcGluZy5odG1sPzBABglghkgBhvhC -AQgEMxYxaHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9wb2xpY3lUaW1lc3RhbXBp -bmcuaHRtbDB/BgNVHR8EeDB2MDegNaAzhjFodHRwOi8vd3d3Lmlwcy5lcy9pcHMy -MDAyL2lwczIwMDJUaW1lc3RhbXBpbmcuY3JsMDugOaA3hjVodHRwOi8vd3d3YmFj -ay5pcHMuZXMvaXBzMjAwMi9pcHMyMDAyVGltZXN0YW1waW5nLmNybDAvBggrBgEF -BQcBAQQjMCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly9vY3NwLmlwcy5lcy8wDQYJKoZI -hvcNAQEFBQADgYEAZbrBzAAalZHK6Ww6vzoeFAh8+4Pua2JR0zORtWB5fgTYXXk3 -6MNbsMRnLWhasl8OCvrNPzpFoeo2zyYepxEoxZSPhExTCMWTs/zif/WN87GphV+I -3pGW7hdbrqXqcGV4LCFkAZXOzkw+UPS2Wctjjba9GNSHSl/c7+lW8AoM6HU= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 985026699 (0x3ab6508b) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=BM, O=QuoVadis Limited, OU=Root Certification Authority, CN=QuoVadis Root Certification Authority - Validity - Not Before: Mar 19 18:33:33 2001 GMT - Not After : Mar 17 18:33:33 2021 GMT - Subject: C=BM, O=QuoVadis Limited, OU=Root Certification Authority, CN=QuoVadis Root Certification Authority - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:bf:61:b5:95:53:ba:57:fc:fa:f2:67:0b:3a:1a: - df:11:80:64:95:b4:d1:bc:cd:7a:cf:f6:29:96:2e: - 24:54:40:24:38:f7:1a:85:dc:58:4c:cb:a4:27:42: - 97:d0:9f:83:8a:c3:e4:06:03:5b:00:a5:51:1e:70: - 04:74:e2:c1:d4:3a:ab:d7:ad:3b:07:18:05:8e:fd: - 83:ac:ea:66:d9:18:1b:68:8a:f5:57:1a:98:ba:f5: - ed:76:3d:7c:d9:de:94:6a:3b:4b:17:c1:d5:8f:bd: - 65:38:3a:95:d0:3d:55:36:4e:df:79:57:31:2a:1e: - d8:59:65:49:58:20:98:7e:ab:5f:7e:9f:e9:d6:4d: - ec:83:74:a9:c7:6c:d8:ee:29:4a:85:2a:06:14:f9: - 54:e6:d3:da:65:07:8b:63:37:12:d7:d0:ec:c3:7b: - 20:41:44:a3:ed:cb:a0:17:e1:71:65:ce:1d:66:31: - f7:76:01:19:c8:7d:03:58:b6:95:49:1d:a6:12:26: - e8:c6:0c:76:e0:e3:66:cb:ea:5d:a6:26:ee:e5:cc: - 5f:bd:67:a7:01:27:0e:a2:ca:54:c5:b1:7a:95:1d: - 71:1e:4a:29:8a:03:dc:6a:45:c1:a4:19:5e:6f:36: - cd:c3:a2:b0:b7:fe:5c:38:e2:52:bc:f8:44:43:e6: - 90:bb - Exponent: 65537 (0x10001) - X509v3 extensions: - Authority Information Access: - OCSP - URI:https://ocsp.quovadisoffshore.com - - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Certificate Policies: - Policy: 1.3.6.1.4.1.8024.0.1 - User Notice: - Explicit Text: Reliance on the QuoVadis Root Certificate by any party assumes acceptance of the then applicable standard terms and conditions of use, certification practices, and the QuoVadis Certificate Policy. - CPS: http://www.quovadis.bm - - X509v3 Subject Key Identifier: - 8B:4B:6D:ED:D3:29:B9:06:19:EC:39:39:A9:F0:97:84:6A:CB:EF:DF - X509v3 Authority Key Identifier: - keyid:8B:4B:6D:ED:D3:29:B9:06:19:EC:39:39:A9:F0:97:84:6A:CB:EF:DF - DirName:/C=BM/O=QuoVadis Limited/OU=Root Certification Authority/CN=QuoVadis Root Certification Authority - serial:3A:B6:50:8B - - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - Signature Algorithm: sha1WithRSAEncryption - 8a:d4:14:b5:fe:f4:9a:92:a7:19:d4:a4:7e:72:18:8f:d9:68: - 7c:52:24:dd:67:6f:39:7a:c4:aa:5e:3d:e2:58:b0:4d:70:98: - 84:61:e8:1b:e3:69:18:0e:ce:fb:47:50:a0:4e:ff:f0:24:1f: - bd:b2:ce:f5:27:fc:ec:2f:53:aa:73:7b:03:3d:74:6e:e6:16: - 9e:eb:a5:2e:c4:bf:56:27:50:2b:62:ba:be:4b:1c:3c:55:5c: - 41:1d:24:be:82:20:47:5d:d5:44:7e:7a:16:68:df:7d:4d:51: - 70:78:57:1d:33:1e:fd:02:99:9c:0c:cd:0a:05:4f:c7:bb:8e: - a4:75:fa:4a:6d:b1:80:8e:09:56:b9:9c:1a:60:fe:5d:c1:d7: - 7a:dc:11:78:d0:d6:5d:c1:b7:d5:ad:32:99:03:3a:8a:cc:54: - 25:39:31:81:7b:13:22:51:ba:46:6c:a1:bb:9e:fa:04:6c:49: - 26:74:8f:d2:73:eb:cc:30:a2:e6:ea:59:22:87:f8:97:f5:0e: - fd:ea:cc:92:a4:16:c4:52:18:ea:21:ce:b1:f1:e6:84:81:e5: - ba:a9:86:28:f2:43:5a:5d:12:9d:ac:1e:d9:a8:e5:0a:6a:a7: - 7f:a0:87:29:cf:f2:89:4d:d4:ec:c5:e2:e6:7a:d0:36:23:8a: - 4a:74:36:f9 -MD5 Fingerprint=27:DE:36:FE:72:B7:00:03:00:9D:F4:F0:1E:6C:04:24 ------BEGIN CERTIFICATE----- -MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC -TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0 -aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0 -aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz -MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw -IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR -dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp -li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D -rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ -WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug -F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU -xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC -Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv -dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw -ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl -IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh -c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy -ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh -Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI -KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T -KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq -y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p -dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD -VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL -MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk -fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8 -7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R -cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y -mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW -xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK -SnQ2+Q== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=JP, O=SECOM Trust.net, OU=Security Communication RootCA1 - Validity - Not Before: Sep 30 04:20:49 2003 GMT - Not After : Sep 30 04:20:49 2023 GMT - Subject: C=JP, O=SECOM Trust.net, OU=Security Communication RootCA1 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:b3:b3:fe:7f:d3:6d:b1:ef:16:7c:57:a5:0c:6d: - 76:8a:2f:4b:bf:64:fb:4c:ee:8a:f0:f3:29:7c:f5: - ff:ee:2a:e0:e9:e9:ba:5b:64:22:9a:9a:6f:2c:3a: - 26:69:51:05:99:26:dc:d5:1c:6a:71:c6:9a:7d:1e: - 9d:dd:7c:6c:c6:8c:67:67:4a:3e:f8:71:b0:19:27: - a9:09:0c:a6:95:bf:4b:8c:0c:fa:55:98:3b:d8:e8: - 22:a1:4b:71:38:79:ac:97:92:69:b3:89:7e:ea:21: - 68:06:98:14:96:87:d2:61:36:bc:6d:27:56:9e:57: - ee:c0:c0:56:fd:32:cf:a4:d9:8e:c2:23:d7:8d:a8: - f3:d8:25:ac:97:e4:70:38:f4:b6:3a:b4:9d:3b:97: - 26:43:a3:a1:bc:49:59:72:4c:23:30:87:01:58:f6: - 4e:be:1c:68:56:66:af:cd:41:5d:c8:b3:4d:2a:55: - 46:ab:1f:da:1e:e2:40:3d:db:cd:7d:b9:92:80:9c: - 37:dd:0c:96:64:9d:dc:22:f7:64:8b:df:61:de:15: - 94:52:15:a0:7d:52:c9:4b:a8:21:c9:c6:b1:ed:cb: - c3:95:60:d1:0f:f0:ab:70:f8:df:cb:4d:7e:ec:d6: - fa:ab:d9:bd:7f:54:f2:a5:e9:79:fa:d9:d6:76:24: - 28:73 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - A0:73:49:99:68:DC:85:5B:65:E3:9B:28:2F:57:9F:BD:33:BC:07:48 - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE - Signature Algorithm: sha1WithRSAEncryption - 68:40:a9:a8:bb:e4:4f:5d:79:b3:05:b5:17:b3:60:13:eb:c6: - 92:5d:e0:d1:d3:6a:fe:fb:be:9b:6d:bf:c7:05:6d:59:20:c4: - 1c:f0:b7:da:84:58:02:63:fa:48:16:ef:4f:a5:0b:f7:4a:98: - f2:3f:9e:1b:ad:47:6b:63:ce:08:47:eb:52:3f:78:9c:af:4d: - ae:f8:d5:4f:cf:9a:98:2a:10:41:39:52:c4:dd:d9:9b:0e:ef: - 93:01:ae:b2:2e:ca:68:42:24:42:6c:b0:b3:3a:3e:cd:e9:da: - 48:c4:15:cb:e9:f9:07:0f:92:50:49:8a:dd:31:97:5f:c9:e9: - 37:aa:3b:59:65:97:94:32:c9:b3:9f:3e:3a:62:58:c5:49:ad: - 62:0e:71:a5:32:aa:2f:c6:89:76:43:40:13:13:67:3d:a2:54: - 25:10:cb:f1:3a:f2:d9:fa:db:49:56:bb:a6:fe:a7:41:35:c3: - e0:88:61:c9:88:c7:df:36:10:22:98:59:ea:b0:4a:fb:56:16: - 73:6e:ac:4d:f7:22:a1:4f:ad:1d:7a:2d:45:27:e5:30:c1:5e: - f2:da:13:cb:25:42:51:95:47:03:8c:6c:21:cc:74:42:ed:53: - ff:33:8b:8f:0f:57:01:16:2f:cf:a6:ee:c9:70:22:14:bd:fd: - be:6c:0b:03 -MD5 Fingerprint=F1:BC:63:6A:54:E0:B5:27:F5:CD:E7:1A:E3:4D:6E:4A ------BEGIN CERTIFICATE----- -MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY -MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t -dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5 -WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD -VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8 -9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ -DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9 -Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N -QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ -xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G -A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T -AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG -kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr -Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5 -Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU -JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot -RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 36 (0x24) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=FI, O=Sonera, CN=Sonera Class1 CA - Validity - Not Before: Apr 6 10:49:13 2001 GMT - Not After : Apr 6 10:49:13 2021 GMT - Subject: C=FI, O=Sonera, CN=Sonera Class1 CA - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:b5:89:1f:2b:4f:67:0a:79:ff:c5:1e:f8:7f:3c: - ed:d1:7e:da:b0:cd:6d:2f:36:ac:34:c6:db:d9:64: - 17:08:63:30:33:22:8a:4c:ee:8e:bb:0f:0d:42:55: - c9:9d:2e:a5:ef:f7:a7:8c:c3:ab:b9:97:cb:8e:ef: - 3f:15:67:a8:82:72:63:53:0f:41:8c:7d:10:95:24: - a1:5a:a5:06:fa:92:57:9d:fa:a5:01:f2:75:e9:1f: - bc:56:26:52:4e:78:19:65:58:55:03:58:c0:14:ae: - 8c:7c:55:5f:70:5b:77:23:06:36:97:f3:24:b5:9a: - 46:95:e4:df:0d:0b:05:45:e5:d1:f2:1d:82:bb:c6: - 13:e0:fe:aa:7a:fd:69:30:94:f3:d2:45:85:fc:f2: - 32:5b:32:de:e8:6c:5d:1f:cb:a4:22:74:b0:80:8e: - 5d:94:f7:06:00:4b:a9:d4:5e:2e:35:50:09:f3:80: - 97:f4:0c:17:ae:39:d8:5f:cd:33:c1:1c:ca:89:c2: - 22:f7:45:12:ed:5e:12:93:9d:63:ab:82:2e:b9:eb: - 42:41:44:cb:4a:1a:00:82:0d:9e:f9:8b:57:3e:4c: - c7:17:ed:2c:8b:72:33:5f:72:7a:38:56:d5:e6:d9: - ae:05:1a:1d:75:45:b1:cb:a5:25:1c:12:57:36:fd: - 22:37 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Subject Key Identifier: - 47:E2:0C:8B:F6:53:88:52 - X509v3 Key Usage: - Certificate Sign, CRL Sign - Signature Algorithm: sha1WithRSAEncryption - 8b:1a:b2:c9:5d:61:b4:e1:b9:2b:b9:53:d1:b2:85:9d:77:8e: - 16:ee:11:3d:db:c2:63:d9:5b:97:65:fb:12:67:d8:2a:5c:b6: - ab:e5:5e:c3:b7:16:2f:c8:e8:ab:1d:8a:fd:ab:1a:7c:d5:5f: - 63:cf:dc:b0:dd:77:b9:a8:e6:d2:22:38:87:07:14:d9:ff:be: - 56:b5:fd:07:0e:3c:55:ca:16:cc:a7:a6:77:37:fb:db:5c:1f: - 4e:59:06:87:a3:03:43:f5:16:ab:b7:84:bd:4e:ef:9f:31:37: - f0:46:f1:40:b6:d1:0c:a5:64:f8:63:5e:21:db:55:4e:4f:31: - 76:9c:10:61:8e:b6:53:3a:a3:11:be:af:6d:7c:1e:bd:ae:2d: - e2:0c:69:c7:85:53:68:a2:61:ba:c5:3e:b4:79:54:78:9e:0a: - c7:02:be:62:d1:11:82:4b:65:2f:91:5a:c2:a8:87:b1:56:68: - 94:79:f9:25:f7:c1:d5:ae:1a:b8:bb:3d:8f:a9:8a:38:15:f7: - 73:d0:5a:60:d1:80:b0:f0:dc:d5:50:cd:4e:ee:92:48:69:ed: - b2:23:1e:30:cc:c8:94:c8:b6:f5:3b:86:7f:3f:a6:2e:9f:f6: - 3e:2c:b5:92:96:3e:df:2c:93:8a:ff:81:8c:0f:0f:59:21:19: - 57:bd:55:9a -MD5 Fingerprint=33:B7:84:F5:5F:27:D7:68:27:DE:14:DE:12:2A:ED:6F ------BEGIN CERTIFICATE----- -MIIDIDCCAgigAwIBAgIBJDANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP -MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MxIENBMB4XDTAx -MDQwNjEwNDkxM1oXDTIxMDQwNjEwNDkxM1owOTELMAkGA1UEBhMCRkkxDzANBgNV -BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMSBDQTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBALWJHytPZwp5/8Ue+H887dF+2rDNbS82rDTG -29lkFwhjMDMiikzujrsPDUJVyZ0upe/3p4zDq7mXy47vPxVnqIJyY1MPQYx9EJUk -oVqlBvqSV536pQHydekfvFYmUk54GWVYVQNYwBSujHxVX3BbdyMGNpfzJLWaRpXk -3w0LBUXl0fIdgrvGE+D+qnr9aTCU89JFhfzyMlsy3uhsXR/LpCJ0sICOXZT3BgBL -qdReLjVQCfOAl/QMF6452F/NM8EcyonCIvdFEu1eEpOdY6uCLrnrQkFEy0oaAIIN -nvmLVz5MxxftLItyM19yejhW1ebZrgUaHXVFsculJRwSVzb9IjcCAwEAAaMzMDEw -DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQIR+IMi/ZTiFIwCwYDVR0PBAQDAgEG -MA0GCSqGSIb3DQEBBQUAA4IBAQCLGrLJXWG04bkruVPRsoWdd44W7hE928Jj2VuX -ZfsSZ9gqXLar5V7DtxYvyOirHYr9qxp81V9jz9yw3Xe5qObSIjiHBxTZ/75Wtf0H -DjxVyhbMp6Z3N/vbXB9OWQaHowND9Rart4S9Tu+fMTfwRvFAttEMpWT4Y14h21VO -TzF2nBBhjrZTOqMRvq9tfB69ri3iDGnHhVNoomG6xT60eVR4ngrHAr5i0RGCS2Uv -kVrCqIexVmiUefkl98HVrhq4uz2PqYo4Ffdz0Fpg0YCw8NzVUM1O7pJIae2yIx4w -zMiUyLb1O4Z/P6Yun/Y+LLWSlj7fLJOK/4GMDw9ZIRlXvVWa ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 29 (0x1d) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=FI, O=Sonera, CN=Sonera Class2 CA - Validity - Not Before: Apr 6 07:29:40 2001 GMT - Not After : Apr 6 07:29:40 2021 GMT - Subject: C=FI, O=Sonera, CN=Sonera Class2 CA - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:90:17:4a:35:9d:ca:f0:0d:96:c7:44:fa:16:37: - fc:48:bd:bd:7f:80:2d:35:3b:e1:6f:a8:67:a9:bf: - 03:1c:4d:8c:6f:32:47:d5:41:68:a4:13:04:c1:35: - 0c:9a:84:43:fc:5c:1d:ff:89:b3:e8:17:18:cd:91: - 5f:fb:89:e3:ea:bf:4e:5d:7c:1b:26:d3:75:79:ed: - e6:84:e3:57:e5:ad:29:c4:f4:3a:28:e7:a5:7b:84: - 36:69:b3:fd:5e:76:bd:a3:2d:99:d3:90:4e:23:28: - 7d:18:63:f1:54:3b:26:9d:76:5b:97:42:b2:ff:ae: - f0:4e:ec:dd:39:95:4e:83:06:7f:e7:49:40:c8:c5: - 01:b2:54:5a:66:1d:3d:fc:f9:e9:3c:0a:9e:81:b8: - 70:f0:01:8b:e4:23:54:7c:c8:ae:f8:90:1e:00:96: - 72:d4:54:cf:61:23:bc:ea:fb:9d:02:95:d1:b6:b9: - 71:3a:69:08:3f:0f:b4:e1:42:c7:88:f5:3f:98:a8: - a7:ba:1c:e0:71:71:ef:58:57:81:50:7a:5c:6b:74: - 46:0e:83:03:98:c3:8e:a8:6e:f2:76:32:6e:27:83: - c2:73:f3:dc:18:e8:b4:93:ea:75:44:6b:04:60:20: - 71:57:87:9d:f3:be:a0:90:23:3d:8a:24:e1:da:21: - db:c3 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Subject Key Identifier: - 4A:A0:AA:58:84:D3:5E:3C - X509v3 Key Usage: - Certificate Sign, CRL Sign - Signature Algorithm: sha1WithRSAEncryption - 5a:ce:87:f9:16:72:15:57:4b:1d:d9:9b:e7:a2:26:30:ec:93: - 67:df:d6:2d:d2:34:af:f7:38:a5:ce:ab:16:b9:ab:2f:7c:35: - cb:ac:d0:0f:b4:4c:2b:fc:80:ef:6b:8c:91:5f:36:76:f7:db: - b3:1b:19:ea:f4:b2:11:fd:61:71:44:bf:28:b3:3a:1d:bf:b3: - 43:e8:9f:bf:dc:31:08:71:b0:9d:8d:d6:34:47:32:90:c6:65: - 24:f7:a0:4a:7c:04:73:8f:39:6f:17:8c:72:b5:bd:4b:c8:7a: - f8:7b:83:c3:28:4e:9c:09:ea:67:3f:b2:67:04:1b:c3:14:da: - f8:e7:49:24:91:d0:1d:6a:fa:61:39:ef:6b:e7:21:75:06:07: - d8:12:b4:21:20:70:42:71:81:da:3c:9a:36:be:a6:5b:0d:6a: - 6c:9a:1f:91:7b:f9:f9:ef:42:ba:4e:4e:9e:cc:0c:8d:94:dc: - d9:45:9c:5e:ec:42:50:63:ae:f4:5d:c4:b1:12:dc:ca:3b:a8: - 2e:9d:14:5a:05:75:b7:ec:d7:63:e2:ba:35:b6:04:08:91:e8: - da:9d:9c:f6:66:b5:18:ac:0a:a6:54:26:34:33:d2:1b:c1:d4: - 7f:1a:3a:8e:0b:aa:32:6e:db:fc:4f:25:9f:d9:32:c7:96:5a: - 70:ac:df:4c -MD5 Fingerprint=A3:EC:75:0F:2E:88:DF:FA:48:01:4E:0B:5C:48:6F:FB ------BEGIN CERTIFICATE----- -MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP -MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx -MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV -BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o -Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt -5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s -3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej -vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu -8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw -DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG -MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil -zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/ -3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD -FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6 -Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2 -ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 10000010 (0x98968a) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=NL, O=Staat der Nederlanden, CN=Staat der Nederlanden Root CA - Validity - Not Before: Dec 17 09:23:49 2002 GMT - Not After : Dec 16 09:15:38 2015 GMT - Subject: C=NL, O=Staat der Nederlanden, CN=Staat der Nederlanden Root CA - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:98:d2:b5:51:11:7a:81:a6:14:98:71:6d:be:cc: - e7:13:1b:d6:27:0e:7a:b3:6a:18:1c:b6:61:5a:d5: - 61:09:bf:de:90:13:c7:67:ee:dd:f3:da:c5:0c:12: - 9e:35:55:3e:2c:27:88:40:6b:f7:dc:dd:22:61:f5: - c2:c7:0e:f5:f6:d5:76:53:4d:8f:8c:bc:18:76:37: - 85:9d:e8:ca:49:c7:d2:4f:98:13:09:a2:3e:22:88: - 9c:7f:d6:f2:10:65:b4:ee:5f:18:d5:17:e3:f8:c5: - fd:e2:9d:a2:ef:53:0e:85:77:a2:0f:e1:30:47:ee: - 00:e7:33:7d:44:67:1a:0b:51:e8:8b:a0:9e:50:98: - 68:34:52:1f:2e:6d:01:f2:60:45:f2:31:eb:a9:31: - 68:29:bb:7a:41:9e:c6:19:7f:94:b4:51:39:03:7f: - b2:de:a7:32:9b:b4:47:8e:6f:b4:4a:ae:e5:af:b1: - dc:b0:1b:61:bc:99:72:de:e4:89:b7:7a:26:5d:da: - 33:49:5b:52:9c:0e:f5:8a:ad:c3:b8:3d:e8:06:6a: - c2:d5:2a:0b:6c:7b:84:bd:56:05:cb:86:65:92:ec: - 44:2b:b0:8e:b9:dc:70:0b:46:da:ad:bc:63:88:39: - fa:db:6a:fe:23:fa:bc:e4:48:f4:67:2b:6a:11:10: - 21:49 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:TRUE - X509v3 Certificate Policies: - Policy: X509v3 Any Policy - CPS: http://www.pkioverheid.nl/policies/root-policy - - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - X509v3 Subject Key Identifier: - A8:7D:EB:BC:63:A4:74:13:74:00:EC:96:E0:D3:34:C1:2C:BF:6C:F8 - Signature Algorithm: sha1WithRSAEncryption - 05:84:87:55:74:36:61:c1:bb:d1:d4:c6:15:a8:13:b4:9f:a4: - fe:bb:ee:15:b4:2f:06:0c:29:f2:a8:92:a4:61:0d:fc:ab:5c: - 08:5b:51:13:2b:4d:c2:2a:61:c8:f8:09:58:fc:2d:02:b2:39: - 7d:99:66:81:bf:6e:5c:95:45:20:6c:e6:79:a7:d1:d8:1c:29: - fc:c2:20:27:51:c8:f1:7c:5d:34:67:69:85:11:30:c6:00:d2: - d7:f3:d3:7c:b6:f0:31:57:28:12:82:73:e9:33:2f:a6:55:b4: - 0b:91:94:47:9c:fa:bb:7a:42:32:e8:ae:7e:2d:c8:bc:ac:14: - bf:d9:0f:d9:5b:fc:c1:f9:7a:95:e1:7d:7e:96:fc:71:b0:c2: - 4c:c8:df:45:34:c9:ce:0d:f2:9c:64:08:d0:3b:c3:29:c5:b2: - ed:90:04:c1:b1:29:91:c5:30:6f:c1:a9:72:33:cc:fe:5d:16: - 17:2c:11:69:e7:7e:fe:c5:83:08:df:bc:dc:22:3a:2e:20:69: - 23:39:56:60:67:90:8b:2e:76:39:fb:11:88:97:f6:7c:bd:4b: - b8:20:16:67:05:8d:e2:3b:c1:72:3f:94:95:37:c7:5d:b9:9e: - d8:93:a1:17:8f:ff:0c:66:15:c1:24:7c:32:7c:03:1d:3b:a1: - 58:45:32:93 -MD5 Fingerprint=60:84:7C:5A:CE:DB:0C:D4:CB:A7:E9:FE:02:C6:A9:C0 ------BEGIN CERTIFICATE----- -MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJO -TDEeMBwGA1UEChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFh -dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEy -MTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4wHAYDVQQKExVTdGFhdCBkZXIgTmVk -ZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxhbmRlbiBSb290IENB -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFtvszn -ExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw71 -9tV2U02PjLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MO -hXeiD+EwR+4A5zN9RGcaC1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+U -tFE5A3+y3qcym7RHjm+0Sq7lr7HcsBthvJly3uSJt3omXdozSVtSnA71iq3DuD3o -BmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn622r+I/q85Ej0ZytqERAh -SQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRVHSAAMDww -OgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMv -cm9vdC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA -7Jbg0zTBLL9s+DANBgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k -/rvuFbQvBgwp8qiSpGEN/KtcCFtREytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzm -eafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbwMVcoEoJz6TMvplW0C5GUR5z6 -u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3ynGQI0DvDKcWy -7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR -iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 986490188 (0x3acca54c) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=DK, O=TDC Internet, OU=TDC Internet Root CA - Validity - Not Before: Apr 5 16:33:17 2001 GMT - Not After : Apr 5 17:03:17 2021 GMT - Subject: C=DK, O=TDC Internet, OU=TDC Internet Root CA - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:c4:b8:40:bc:91:d5:63:1f:d7:99:a0:8b:0c:40: - 1e:74:b7:48:9d:46:8c:02:b2:e0:24:5f:f0:19:13: - a7:37:83:6b:5d:c7:8e:f9:84:30:ce:1a:3b:fa:fb: - ce:8b:6d:23:c6:c3:6e:66:9f:89:a5:df:e0:42:50: - 67:fa:1f:6c:1e:f4:d0:05:d6:bf:ca:d6:4e:e4:68: - 60:6c:46:aa:1c:5d:63:e1:07:86:0e:65:00:a7:2e: - a6:71:c6:bc:b9:81:a8:3a:7d:1a:d2:f9:d1:ac:4b: - cb:ce:75:af:dc:7b:fa:81:73:d4:fc:ba:bd:41:88: - d4:74:b3:f9:5e:38:3a:3c:43:a8:d2:95:4e:77:6d: - 13:0c:9d:8f:78:01:b7:5a:20:1f:03:37:35:e2:2c: - db:4b:2b:2c:78:b9:49:db:c4:d0:c7:9c:9c:e4:8a: - 20:09:21:16:56:66:ff:05:ec:5b:e3:f0:cf:ab:24: - 24:5e:c3:7f:70:7a:12:c4:d2:b5:10:a0:b6:21:e1: - 8d:78:69:55:44:69:f5:ca:96:1c:34:85:17:25:77: - e2:f6:2f:27:98:78:fd:79:06:3a:a2:d6:5a:43:c1: - ff:ec:04:3b:ee:13:ef:d3:58:5a:ff:92:eb:ec:ae: - da:f2:37:03:47:41:b6:97:c9:2d:0a:41:22:bb:bb: - e6:a7 - Exponent: 65537 (0x10001) - X509v3 extensions: - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 CRL Distribution Points: - DirName:/C=DK/O=TDC Internet/OU=TDC Internet Root CA/CN=CRL1 - - X509v3 Private Key Usage Period: - Not Before: Apr 5 16:33:17 2001 GMT, Not After: Apr 5 17:03:17 2021 GMT - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Authority Key Identifier: - keyid:6C:64:01:C7:FD:85:6D:AC:C8:DA:9E:50:08:85:08:B5:3C:56:A8:50 - - X509v3 Subject Key Identifier: - 6C:64:01:C7:FD:85:6D:AC:C8:DA:9E:50:08:85:08:B5:3C:56:A8:50 - X509v3 Basic Constraints: - CA:TRUE - 1.2.840.113533.7.65.0: - 0...V5.0:4.0.... - Signature Algorithm: sha1WithRSAEncryption - 4e:43:cc:d1:dd:1d:10:1b:06:7f:b7:a4:fa:d3:d9:4d:fb:23: - 9f:23:54:5b:e6:8b:2f:04:28:8b:b5:27:6d:89:a1:ec:98:69: - dc:e7:8d:26:83:05:79:74:ec:b4:b9:a3:97:c1:35:00:fd:15: - da:39:81:3a:95:31:90:de:97:e9:86:a8:99:77:0c:e5:5a:a0: - 84:ff:12:16:ac:6e:b8:8d:c3:7b:92:c2:ac:2e:d0:7d:28:ec: - b6:f3:60:38:69:6f:3e:d8:04:55:3e:9e:cc:55:d2:ba:fe:bb: - 47:04:d7:0a:d9:16:0a:34:29:f5:58:13:d5:4f:cf:8f:56:4b: - b3:1e:ee:d3:98:79:da:08:1e:0c:6f:b8:f8:16:27:ef:c2:6f: - 3d:f6:a3:4b:3e:0e:e4:6d:6c:db:3b:41:12:9b:bd:0d:47:23: - 7f:3c:4a:d0:af:c0:af:f6:ef:1b:b5:15:c4:eb:83:c4:09:5f: - 74:8b:d9:11:fb:c2:56:b1:3c:f8:70:ca:34:8d:43:40:13:8c: - fd:99:03:54:79:c6:2e:ea:86:a1:f6:3a:d4:09:bc:f4:bc:66: - cc:3d:58:d0:57:49:0a:ee:25:e2:41:ee:13:f9:9b:38:34:d1: - 00:f5:7e:e7:94:1d:fc:69:03:62:b8:99:05:05:3d:6b:78:12: - bd:b0:6f:65 -MD5 Fingerprint=91:F4:03:55:20:A1:F8:63:2C:62:DE:AC:FB:61:1C:8E ------BEGIN CERTIFICATE----- -MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJE -SzEVMBMGA1UEChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQg -Um9vdCBDQTAeFw0wMTA0MDUxNjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNV -BAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJuZXQxHTAbBgNVBAsTFFREQyBJbnRl -cm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxLhA -vJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20jxsNu -Zp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a -0vnRrEvLznWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc1 -4izbSysseLlJ28TQx5yc5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGN -eGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcD -R0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZIAYb4QgEBBAQDAgAHMGUG -A1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMMVERDIElu -dGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxME -Q1JMMTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3 -WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAw -HQYDVR0OBBYEFGxkAcf9hW2syNqeUAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJ -KoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4IBAQBO -Q8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540mgwV5dOy0uaOX -wTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+ -2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm89 -9qNLPg7kbWzbO0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0 -jUNAE4z9mQNUecYu6oah9jrUCbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38 -aQNiuJkFBT1reBK9sG9l ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1044954564 (0x3e48bdc4) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=DK, O=TDC, CN=TDC OCES CA - Validity - Not Before: Feb 11 08:39:30 2003 GMT - Not After : Feb 11 09:09:30 2037 GMT - Subject: C=DK, O=TDC, CN=TDC OCES CA - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:ac:62:f6:61:20:b2:cf:c0:c6:85:d7:e3:79:e6: - cc:ed:f2:39:92:a4:97:2e:64:a3:84:5b:87:9c:4c: - fd:a4:f3:c4:5f:21:bd:56:10:eb:db:2e:61:ec:93: - 69:e3:a3:cc:bd:99:c3:05:fc:06:b8:ca:36:1c:fe: - 90:8e:49:4c:c4:56:9a:2f:56:bc:cf:7b:0c:f1:6f: - 47:a6:0d:43:4d:e2:e9:1d:39:34:cd:8d:2c:d9:12: - 98:f9:e3:e1:c1:4a:7c:86:38:c4:a9:c4:61:88:d2: - 5e:af:1a:26:4d:d5:e4:a0:22:47:84:d9:64:b7:19: - 96:fc:ec:19:e4:b2:97:26:4e:4a:4c:cb:8f:24:8b: - 54:18:1c:48:61:7b:d5:88:68:da:5d:b5:ea:cd:1a: - 30:c1:80:83:76:50:aa:4f:d1:d4:dd:38:f0:ef:16: - f4:e1:0c:50:06:bf:ea:fb:7a:49:a1:28:2b:1c:f6: - fc:15:32:a3:74:6a:8f:a9:c3:62:29:71:31:e5:3b: - a4:60:17:5e:74:e6:da:13:ed:e9:1f:1f:1b:d1:b2: - 68:73:c6:10:34:75:46:10:10:e3:90:00:76:40:cb: - 8b:b7:43:09:21:ff:ab:4e:93:c6:58:e9:a5:82:db: - 77:c4:3a:99:b1:72:95:49:04:f0:b7:2b:fa:7b:59: - 8e:dd - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - X509v3 Certificate Policies: - Policy: 1.2.208.169.1.1.1 - CPS: http://www.certifikat.dk/repository - User Notice: - Organization: TDC - Number: 1 - Explicit Text: Certifikater fra denne CA udstedes under OID 1.2.208.169.1.1.1. Certificates from this CA are issued under OID 1.2.208.169.1.1.1. - - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 CRL Distribution Points: - DirName:/C=DK/O=TDC/CN=TDC OCES CA/CN=CRL1 - URI:http://crl.oces.certifikat.dk/oces.crl - - X509v3 Private Key Usage Period: - Not Before: Feb 11 08:39:30 2003 GMT, Not After: Feb 11 09:09:30 2037 GMT - X509v3 Authority Key Identifier: - keyid:60:B5:85:EC:56:64:7E:12:19:27:67:1D:50:15:4B:73:AE:3B:F9:12 - - X509v3 Subject Key Identifier: - 60:B5:85:EC:56:64:7E:12:19:27:67:1D:50:15:4B:73:AE:3B:F9:12 - 1.2.840.113533.7.65.0: - 0...V6.0:4.0.... - Signature Algorithm: sha1WithRSAEncryption - 0a:ba:26:26:46:d3:73:a8:09:f3:6b:0b:30:99:fd:8a:e1:57: - 7a:11:d3:b8:94:d7:09:10:6e:a3:b1:38:03:d1:b6:f2:43:41: - 29:62:a7:72:d8:fb:7c:05:e6:31:70:27:54:18:4e:8a:7c:4e: - e5:d1:ca:8c:78:88:cf:1b:d3:90:8b:e6:23:f8:0b:0e:33:43: - 7d:9c:e2:0a:19:8f:c9:01:3e:74:5d:74:c9:8b:1c:03:e5:18: - c8:01:4c:3f:cb:97:05:5d:98:71:a6:98:6f:b6:7c:bd:37:7f: - be:e1:93:25:6d:6f:f0:0a:ad:17:18:e1:03:bc:07:29:c8:ad: - 26:e8:f8:61:f0:fd:21:09:7e:9a:8e:a9:68:7d:48:62:72:bd: - 00:ea:01:99:b8:06:82:51:81:4e:f1:f5:b4:91:54:b9:23:7a: - 00:9a:9f:5d:8d:e0:3c:64:b9:1a:12:92:2a:c7:82:44:72:39: - dc:e2:3c:c6:d8:55:f5:15:4e:c8:05:0e:db:c6:d0:62:a6:ec: - 15:b4:b5:02:82:db:ac:8c:a2:81:f0:9b:99:31:f5:20:20:a8: - 88:61:0a:07:9f:94:fc:d0:d7:1b:cc:2e:17:f3:04:27:76:67: - eb:54:83:fd:a4:90:7e:06:3d:04:a3:43:2d:da:fc:0b:62:ea: - 2f:5f:62:53 -MD5 Fingerprint=93:7F:90:1C:ED:84:67:17:A4:65:5F:9B:CB:30:02:97 ------BEGIN CERTIFICATE----- -MIIFGTCCBAGgAwIBAgIEPki9xDANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJE -SzEMMAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wMzAyMTEw -ODM5MzBaFw0zNzAyMTEwOTA5MzBaMDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNU -REMxFDASBgNVBAMTC1REQyBPQ0VTIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEArGL2YSCyz8DGhdfjeebM7fI5kqSXLmSjhFuHnEz9pPPEXyG9VhDr -2y5h7JNp46PMvZnDBfwGuMo2HP6QjklMxFaaL1a8z3sM8W9Hpg1DTeLpHTk0zY0s -2RKY+ePhwUp8hjjEqcRhiNJerxomTdXkoCJHhNlktxmW/OwZ5LKXJk5KTMuPJItU -GBxIYXvViGjaXbXqzRowwYCDdlCqT9HU3Tjw7xb04QxQBr/q+3pJoSgrHPb8FTKj -dGqPqcNiKXEx5TukYBdedObaE+3pHx8b0bJoc8YQNHVGEBDjkAB2QMuLt0MJIf+r -TpPGWOmlgtt3xDqZsXKVSQTwtyv6e1mO3QIDAQABo4ICNzCCAjMwDwYDVR0TAQH/ -BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwgewGA1UdIASB5DCB4TCB3gYIKoFQgSkB -AQEwgdEwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2VydGlmaWthdC5kay9yZXBv -c2l0b3J5MIGdBggrBgEFBQcCAjCBkDAKFgNUREMwAwIBARqBgUNlcnRpZmlrYXRl -ciBmcmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEu -MS4xLiBDZXJ0aWZpY2F0ZXMgZnJvbSB0aGlzIENBIGFyZSBpc3N1ZWQgdW5kZXIg -T0lEIDEuMi4yMDguMTY5LjEuMS4xLjARBglghkgBhvhCAQEEBAMCAAcwgYEGA1Ud -HwR6MHgwSKBGoESkQjBAMQswCQYDVQQGEwJESzEMMAoGA1UEChMDVERDMRQwEgYD -VQQDEwtUREMgT0NFUyBDQTENMAsGA1UEAxMEQ1JMMTAsoCqgKIYmaHR0cDovL2Ny -bC5vY2VzLmNlcnRpZmlrYXQuZGsvb2Nlcy5jcmwwKwYDVR0QBCQwIoAPMjAwMzAy -MTEwODM5MzBagQ8yMDM3MDIxMTA5MDkzMFowHwYDVR0jBBgwFoAUYLWF7FZkfhIZ -J2cdUBVLc647+RIwHQYDVR0OBBYEFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GCSqG -SIb2fQdBAAQQMA4bCFY2LjA6NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEACrom -JkbTc6gJ82sLMJn9iuFXehHTuJTXCRBuo7E4A9G28kNBKWKnctj7fAXmMXAnVBhO -inxO5dHKjHiIzxvTkIvmI/gLDjNDfZziChmPyQE+dF10yYscA+UYyAFMP8uXBV2Y -caaYb7Z8vTd/vuGTJW1v8AqtFxjhA7wHKcitJuj4YfD9IQl+mo6paH1IYnK9AOoB -mbgGglGBTvH1tJFUuSN6AJqfXY3gPGS5GhKSKseCRHI53OI8xthV9RVOyAUO28bQ -YqbsFbS1AoLbrIyigfCbmTH1ICCoiGEKB5+U/NDXG8wuF/MEJ3Zn61SD/aSQfgY9 -BKNDLdr8C2LqL19iUw== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 44:be:0c:8b:50:00:21:b4:11:d3:2a:68:06:a9:ad:69 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN - DATACorp SGC - Validity - Not Before: Jun 24 18:57:21 1999 GMT - Not After : Jun 24 19:06:30 2019 GMT - Subject: C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN - DATACorp SGC - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:df:ee:58:10:a2:2b:6e:55:c4:8e:bf:2e:46:09: - e7:e0:08:0f:2e:2b:7a:13:94:1b:bd:f6:b6:80:8e: - 65:05:93:00:1e:bc:af:e2:0f:8e:19:0d:12:47:ec: - ac:ad:a3:fa:2e:70:f8:de:6e:fb:56:42:15:9e:2e: - 5c:ef:23:de:21:b9:05:76:27:19:0f:4f:d6:c3:9c: - b4:be:94:19:63:f2:a6:11:0a:eb:53:48:9c:be:f2: - 29:3b:16:e8:1a:a0:4c:a6:c9:f4:18:59:68:c0:70: - f2:53:00:c0:5e:50:82:a5:56:6f:36:f9:4a:e0:44: - 86:a0:4d:4e:d6:47:6e:49:4a:cb:67:d7:a6:c4:05: - b9:8e:1e:f4:fc:ff:cd:e7:36:e0:9c:05:6c:b2:33: - 22:15:d0:b4:e0:cc:17:c0:b2:c0:f4:fe:32:3f:29: - 2a:95:7b:d8:f2:a7:4e:0f:54:7c:a1:0d:80:b3:09: - 03:c1:ff:5c:dd:5e:9a:3e:bc:ae:bc:47:8a:6a:ae: - 71:ca:1f:b1:2a:b8:5f:42:05:0b:ec:46:30:d1:72: - 0b:ca:e9:56:6d:f5:ef:df:78:be:61:ba:b2:a5:ae: - 04:4c:bc:a8:ac:69:15:97:bd:ef:eb:b4:8c:bf:35: - f8:d4:c3:d1:28:0e:5c:3a:9f:70:18:33:20:77:c4: - a2:af - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Key Usage: - Digital Signature, Non Repudiation, Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Subject Key Identifier: - 53:32:D1:B3:CF:7F:FA:E0:F1:A0:5D:85:4E:92:D2:9E:45:1D:B4:4F - X509v3 CRL Distribution Points: - URI:http://crl.usertrust.com/UTN-DATACorpSGC.crl - - X509v3 Extended Key Usage: - TLS Web Server Authentication, Microsoft Server Gated Crypto, Netscape Server Gated Crypto - Signature Algorithm: sha1WithRSAEncryption - 27:35:97:00:8a:8b:28:bd:c6:33:30:1e:29:fc:e2:f7:d5:98: - d4:40:bb:60:ca:bf:ab:17:2c:09:36:7f:50:fa:41:dc:ae:96: - 3a:0a:23:3e:89:59:c9:a3:07:ed:1b:37:ad:fc:7c:be:51:49: - 5a:de:3a:0a:54:08:16:45:c2:99:b1:87:cd:8c:68:e0:69:03: - e9:c4:4e:98:b2:3b:8c:16:b3:0e:a0:0c:98:50:9b:93:a9:70: - 09:c8:2c:a3:8f:df:02:e4:e0:71:3a:f1:b4:23:72:a0:aa:01: - df:df:98:3e:14:50:a0:31:26:bd:28:e9:5a:30:26:75:f9:7b: - 60:1c:8d:f3:cd:50:26:6d:04:27:9a:df:d5:0d:45:47:29:6b: - 2c:e6:76:d9:a9:29:7d:32:dd:c9:36:3c:bd:ae:35:f1:11:9e: - 1d:bb:90:3f:12:47:4e:8e:d7:7e:0f:62:73:1d:52:26:38:1c: - 18:49:fd:30:74:9a:c4:e5:22:2f:d8:c0:8d:ed:91:7a:4c:00: - 8f:72:7f:5d:da:dd:1b:8b:45:6b:e7:dd:69:97:a8:c5:56:4c: - 0f:0c:f6:9f:7a:91:37:f6:97:82:e0:dd:71:69:ff:76:3f:60: - 4d:3c:cf:f7:99:f9:c6:57:f4:c9:55:39:78:ba:2c:79:c9:a6: - 88:2b:f4:08 -MD5 Fingerprint=B3:A5:3E:77:21:6D:AC:4A:C0:C9:FB:D5:41:3D:CA:06 ------BEGIN CERTIFICATE----- -MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCB -kzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug -Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho -dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZBgNVBAMTElVUTiAtIERBVEFDb3Jw -IFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBaMIGTMQswCQYDVQQG -EwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYD -VQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cu -dXNlcnRydXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjAN -BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6 -E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ysraP6LnD43m77VkIVni5c7yPeIbkFdicZ -D0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlowHDyUwDAXlCCpVZvNvlK -4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA9P4yPykq -lXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulW -bfXv33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQAB -o4GrMIGoMAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRT -MtGzz3/64PGgXYVOktKeRR20TzA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3Js -LnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dDLmNybDAqBgNVHSUEIzAhBggr -BgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3DQEBBQUAA4IB -AQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft -Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyj -j98C5OBxOvG0I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVH -KWss5nbZqSl9Mt3JNjy9rjXxEZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv -2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwPDPafepE39peC4N1xaf92P2BNPM/3 -mfnGV/TJVTl4uix5yaaIK/QI ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 44:be:0c:8b:50:00:24:b4:11:d3:36:25:25:67:c9:89 - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN-USERFirst-Client Authentication and Email - Validity - Not Before: Jul 9 17:28:50 1999 GMT - Not After : Jul 9 17:36:58 2019 GMT - Subject: C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN-USERFirst-Client Authentication and Email - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:b2:39:85:a4:f2:7d:ab:41:3b:62:46:37:ae:cd: - c1:60:75:bc:39:65:f9:4a:1a:47:a2:b9:cc:48:cc: - 6a:98:d5:4d:35:19:b9:a4:42:e5:ce:49:e2:8a:2f: - 1e:7c:d2:31:07:c7:4e:b4:83:64:9d:2e:29:d5:a2: - 64:c4:85:bd:85:51:35:79:a4:4e:68:90:7b:1c:7a: - a4:92:a8:17:f2:98:15:f2:93:cc:c9:a4:32:95:bb: - 0c:4f:30:bd:98:a0:0b:8b:e5:6e:1b:a2:46:fa:78: - bc:a2:6f:ab:59:5e:a5:2f:cf:ca:da:6d:aa:2f:eb: - ac:a1:b3:6a:aa:b7:2e:67:35:8b:79:e1:1e:69:88: - e2:e6:46:cd:a0:a5:ea:be:0b:ce:76:3a:7a:0e:9b: - ea:fc:da:27:5b:3d:73:1f:22:e6:48:61:c6:4c:f3: - 69:b1:a8:2e:1b:b6:d4:31:20:2c:bc:82:8a:8e:a4: - 0e:a5:d7:89:43:fc:16:5a:af:1d:71:d7:11:59:da: - ba:87:0d:af:fa:f3:e1:c2:f0:a4:c5:67:8c:d6:d6: - 54:3a:de:0a:a4:ba:03:77:b3:65:c8:fd:1e:d3:74: - 62:aa:18:ca:68:93:1e:a1:85:7e:f5:47:65:cb:f8: - 4d:57:28:74:d2:34:ff:30:b6:ee:f6:62:30:14:8c: - 2c:eb - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Key Usage: - Digital Signature, Non Repudiation, Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Subject Key Identifier: - 89:82:67:7D:C4:9D:26:70:00:4B:B4:50:48:7C:DE:3D:AE:04:6E:7D - X509v3 CRL Distribution Points: - URI:http://crl.usertrust.com/UTN-USERFirst-ClientAuthenticationandEmail.crl - - X509v3 Extended Key Usage: - TLS Web Client Authentication, E-mail Protection - Signature Algorithm: sha1WithRSAEncryption - b1:6d:61:5d:a6:1a:7f:7c:ab:4a:e4:30:fc:53:6f:25:24:c6: - ca:ed:e2:31:5c:2b:0e:ee:ee:61:55:6f:04:3e:cf:39:de:c5: - 1b:49:94:e4:eb:20:4c:b4:e6:9e:50:2e:72:d9:8d:f5:aa:a3: - b3:4a:da:56:1c:60:97:80:dc:82:a2:ad:4a:bd:8a:2b:ff:0b: - 09:b4:c6:d7:20:04:45:e4:cd:80:01:ba:ba:2b:6e:ce:aa:d7: - 92:fe:e4:af:eb:f4:26:1d:16:2a:7f:6c:30:95:37:2f:33:12: - ac:7f:dd:c7:d1:11:8c:51:98:b2:d0:a3:91:d0:ad:f6:9f:9e: - 83:93:1e:1d:42:b8:46:af:6b:66:f0:9b:7f:ea:e3:03:02:e5: - 02:51:c1:aa:d5:35:9d:72:40:03:89:ba:31:1d:c5:10:68:52: - 9e:df:a2:85:c5:5c:08:a6:78:e6:53:4f:b1:e8:b7:d3:14:9e: - 93:a6:c3:64:e3:ac:7e:71:cd:bc:9f:e9:03:1b:cc:fb:e9:ac: - 31:c1:af:7c:15:74:02:99:c3:b2:47:a6:c2:32:61:d7:c7:6f: - 48:24:51:27:a1:d5:87:55:f2:7b:8f:98:3d:16:9e:ee:75:b6: - f8:d0:8e:f2:f3:c6:ae:28:5b:a7:f0:f3:36:17:fc:c3:05:d3: - ca:03:4a:54 -MD5 Fingerprint=D7:34:3D:EF:1D:27:09:28:E1:31:02:5B:13:2B:DD:F7 ------BEGIN CERTIFICATE----- -MIIEojCCA4qgAwIBAgIQRL4Mi1AAJLQR0zYlJWfJiTANBgkqhkiG9w0BAQUFADCB -rjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug -Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho -dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0BgNVBAMTLVVUTi1VU0VSRmlyc3Qt -Q2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw05OTA3MDkxNzI4NTBa -Fw0xOTA3MDkxNzM2NThaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAV -BgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5l -dHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UE -AxMtVVROLVVTRVJGaXJzdC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWls -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3B -YHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIxB8dOtINknS4p1aJkxIW9 -hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8om+rWV6l -L8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLm -SGHGTPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM -1tZUOt4KpLoDd7NlyP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws -6wIDAQABo4G5MIG2MAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud -DgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTBYBgNVHR8EUTBPME2gS6BJhkdodHRw -Oi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGllbnRBdXRoZW50 -aWNhdGlvbmFuZEVtYWlsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH -AwQwDQYJKoZIhvcNAQEFBQADggEBALFtYV2mGn98q0rkMPxTbyUkxsrt4jFcKw7u -7mFVbwQ+zznexRtJlOTrIEy05p5QLnLZjfWqo7NK2lYcYJeA3IKirUq9iiv/Cwm0 -xtcgBEXkzYABurorbs6q15L+5K/r9CYdFip/bDCVNy8zEqx/3cfREYxRmLLQo5HQ -rfafnoOTHh1CuEava2bwm3/q4wMC5QJRwarVNZ1yQAOJujEdxRBoUp7fooXFXAim -eOZTT7Hot9MUnpOmw2TjrH5xzbyf6QMbzPvprDHBr3wVdAKZw7JHpsIyYdfHb0gk -USeh1YdV8nuPmD0Wnu51tvjQjvLzxq4oW6fw8zYX/MMF08oDSlQ= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 44:be:0c:8b:50:00:24:b4:11:d3:36:2a:fe:65:0a:fd - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN-USERFirst-Hardware - Validity - Not Before: Jul 9 18:10:42 1999 GMT - Not After : Jul 9 18:19:22 2019 GMT - Subject: C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN-USERFirst-Hardware - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:b1:f7:c3:38:3f:b4:a8:7f:cf:39:82:51:67:d0: - 6d:9f:d2:ff:58:f3:e7:9f:2b:ec:0d:89:54:99:b9: - 38:99:16:f7:e0:21:79:48:c2:bb:61:74:12:96:1d: - 3c:6a:72:d5:3c:10:67:3a:39:ed:2b:13:cd:66:eb: - 95:09:33:a4:6c:97:b1:e8:c6:ec:c1:75:79:9c:46: - 5e:8d:ab:d0:6a:fd:b9:2a:55:17:10:54:b3:19:f0: - 9a:f6:f1:b1:5d:b6:a7:6d:fb:e0:71:17:6b:a2:88: - fb:00:df:fe:1a:31:77:0c:9a:01:7a:b1:32:e3:2b: - 01:07:38:6e:c3:a5:5e:23:bc:45:9b:7b:50:c1:c9: - 30:8f:db:e5:2b:7a:d3:5b:fb:33:40:1e:a0:d5:98: - 17:bc:8b:87:c3:89:d3:5d:a0:8e:b2:aa:aa:f6:8e: - 69:88:06:c5:fa:89:21:f3:08:9d:69:2e:09:33:9b: - 29:0d:46:0f:8c:cc:49:34:b0:69:51:bd:f9:06:cd: - 68:ad:66:4c:bc:3e:ac:61:bd:0a:88:0e:c8:df:3d: - ee:7c:04:4c:9d:0a:5e:6b:91:d6:ee:c7:ed:28:8d: - ab:4d:87:89:73:d0:6e:a4:d0:1e:16:8b:14:e1:76: - 44:03:7f:63:ac:e4:cd:49:9c:c5:92:f4:ab:32:a1: - 48:5b - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Key Usage: - Digital Signature, Non Repudiation, Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Subject Key Identifier: - A1:72:5F:26:1B:28:98:43:95:5D:07:37:D5:85:96:9D:4B:D2:C3:45 - X509v3 CRL Distribution Points: - URI:http://crl.usertrust.com/UTN-USERFirst-Hardware.crl - - X509v3 Extended Key Usage: - TLS Web Server Authentication, IPSec End System, IPSec Tunnel, IPSec User - Signature Algorithm: sha1WithRSAEncryption - 47:19:0f:de:74:c6:99:97:af:fc:ad:28:5e:75:8e:eb:2d:67: - ee:4e:7b:2b:d7:0c:ff:f6:de:cb:55:a2:0a:e1:4c:54:65:93: - 60:6b:9f:12:9c:ad:5e:83:2c:eb:5a:ae:c0:e4:2d:f4:00:63: - 1d:b8:c0:6c:f2:cf:49:bb:4d:93:6f:06:a6:0a:22:b2:49:62: - 08:4e:ff:c8:c8:14:b2:88:16:5d:e7:01:e4:12:95:e5:45:34: - b3:8b:69:bd:cf:b4:85:8f:75:51:9e:7d:3a:38:3a:14:48:12: - c6:fb:a7:3b:1a:8d:0d:82:40:07:e8:04:08:90:a1:89:cb:19: - 50:df:ca:1c:01:bc:1d:04:19:7b:10:76:97:3b:ee:90:90:ca: - c4:0e:1f:16:6e:75:ef:33:f8:d3:6f:5b:1e:96:e3:e0:74:77: - 74:7b:8a:a2:6e:2d:dd:76:d6:39:30:82:f0:ab:9c:52:f2:2a: - c7:af:49:5e:7e:c7:68:e5:82:81:c8:6a:27:f9:27:88:2a:d5: - 58:50:95:1f:f0:3b:1c:57:bb:7d:14:39:62:2b:9a:c9:94:92: - 2a:a3:22:0c:ff:89:26:7d:5f:23:2b:47:d7:15:1d:a9:6a:9e: - 51:0d:2a:51:9e:81:f9:d4:3b:5e:70:12:7f:10:32:9c:1e:bb: - 9d:f8:66:a8 -MD5 Fingerprint=4C:56:41:E5:0D:BB:2B:E8:CA:A3:ED:18:08:AD:43:39 ------BEGIN CERTIFICATE----- -MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCB -lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug -Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho -dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt -SGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgxOTIyWjCBlzELMAkG -A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEe -MBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8v -d3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdh -cmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn -0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlIwrthdBKWHTxqctU8EGc6Oe0rE81m65UJ -M6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFdtqdt++BxF2uiiPsA3/4a -MXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8i4fDidNd -oI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqI -DsjfPe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9Ksy -oUhbAgMBAAGjgbkwgbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYD -VR0OBBYEFKFyXyYbKJhDlV0HN9WFlp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0 -dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy -bDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEF -BQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM -//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28Gpgoiskli -CE7/yMgUsogWXecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gE -CJChicsZUN/KHAG8HQQZexB2lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t -3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kniCrVWFCVH/A7HFe7fRQ5YiuayZSS -KqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67nfhmqA== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 44:be:0c:8b:50:00:24:b4:11:d3:36:2d:e0:b3:5f:1b - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN-USERFirst-Object - Validity - Not Before: Jul 9 18:31:20 1999 GMT - Not After : Jul 9 18:40:36 2019 GMT - Subject: C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN-USERFirst-Object - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:ce:aa:81:3f:a3:a3:61:78:aa:31:00:55:95:11: - 9e:27:0f:1f:1c:df:3a:9b:82:68:30:c0:4a:61:1d: - f1:2f:0e:fa:be:79:f7:a5:23:ef:55:51:96:84:cd: - db:e3:b9:6e:3e:31:d8:0a:20:67:c7:f4:d9:bf:94: - eb:47:04:3e:02:ce:2a:a2:5d:87:04:09:f6:30:9d: - 18:8a:97:b2:aa:1c:fc:41:d2:a1:36:cb:fb:3d:91: - ba:e7:d9:70:35:fa:e4:e7:90:c3:9b:a3:9b:d3:3c: - f5:12:99:77:b1:b7:09:e0:68:e6:1c:b8:f3:94:63: - 88:6a:6a:fe:0b:76:c9:be:f4:22:e4:67:b9:ab:1a: - 5e:77:c1:85:07:dd:0d:6c:bf:ee:06:c7:77:6a:41: - 9e:a7:0f:d7:fb:ee:94:17:b7:fc:85:be:a4:ab:c4: - 1c:31:dd:d7:b6:d1:e4:f0:ef:df:16:8f:b2:52:93: - d7:a1:d4:89:a1:07:2e:bf:e1:01:12:42:1e:1a:e1: - d8:95:34:db:64:79:28:ff:ba:2e:11:c2:e5:e8:5b: - 92:48:fb:47:0b:c2:6c:da:ad:32:83:41:f3:a5:e5: - 41:70:fd:65:90:6d:fa:fa:51:c4:f9:bd:96:2b:19: - 04:2c:d3:6d:a7:dc:f0:7f:6f:83:65:e2:6a:ab:87: - 86:75 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Key Usage: - Digital Signature, Non Repudiation, Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Subject Key Identifier: - DA:ED:64:74:14:9C:14:3C:AB:DD:99:A9:BD:5B:28:4D:8B:3C:C9:D8 - X509v3 CRL Distribution Points: - URI:http://crl.usertrust.com/UTN-USERFirst-Object.crl - - X509v3 Extended Key Usage: - Code Signing, Time Stamping, Microsoft Encrypted File System - Signature Algorithm: sha1WithRSAEncryption - 08:1f:52:b1:37:44:78:db:fd:ce:b9:da:95:96:98:aa:55:64: - 80:b5:5a:40:dd:21:a5:c5:c1:f3:5f:2c:4c:c8:47:5a:69:ea: - e8:f0:35:35:f4:d0:25:f3:c8:a6:a4:87:4a:bd:1b:b1:73:08: - bd:d4:c3:ca:b6:35:bb:59:86:77:31:cd:a7:80:14:ae:13:ef: - fc:b1:48:f9:6b:25:25:2d:51:b6:2c:6d:45:c1:98:c8:8a:56: - 5d:3e:ee:43:4e:3e:6b:27:8e:d0:3a:4b:85:0b:5f:d3:ed:6a: - a7:75:cb:d1:5a:87:2f:39:75:13:5a:72:b0:02:81:9f:be:f0: - 0f:84:54:20:62:6c:69:d4:e1:4d:c6:0d:99:43:01:0d:12:96: - 8c:78:9d:bf:50:a2:b1:44:aa:6a:cf:17:7a:cf:6f:0f:d4:f8: - 24:55:5f:f0:34:16:49:66:3e:50:46:c9:63:71:38:31:62:b8: - 62:b9:f3:53:ad:6c:b5:2b:a2:12:aa:19:4f:09:da:5e:e7:93: - c6:8e:14:08:fe:f0:30:80:18:a0:86:85:4d:c8:7d:d7:8b:03: - fe:6e:d5:f7:9d:16:ac:92:2c:a0:23:e5:9c:91:52:1f:94:df: - 17:94:73:c3:b3:c1:c1:71:05:20:00:78:bd:13:52:1d:a8:3e: - cd:00:1f:c8 -MD5 Fingerprint=A7:F2:E4:16:06:41:11:50:30:6B:9C:E3:B4:9C:B0:C9 ------BEGIN CERTIFICATE----- -MIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCB -lTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug -Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho -dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAbBgNVBAMTFFVUTi1VU0VSRmlyc3Qt -T2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4NDAzNlowgZUxCzAJBgNV -BAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHjAc -BgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3 -dy51c2VydHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicP -HxzfOpuCaDDASmEd8S8O+r5596Uj71VRloTN2+O5bj4x2AogZ8f02b+U60cEPgLO -KqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQw5ujm9M89RKZd7G3CeBo -5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP1/vulBe3/IW+ -pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehb -kkj7RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUC -AwEAAaOBrzCBrDALBgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E -FgQU2u1kdBScFDyr3ZmpvVsoTYs8ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDov -L2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmlyc3QtT2JqZWN0LmNybDApBgNV -HSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcKAwQwDQYJKoZIhvcN -AQEFBQADggEBAAgfUrE3RHjb/c652pWWmKpVZIC1WkDdIaXFwfNfLEzIR1pp6ujw -NTX00CXzyKakh0q9G7FzCL3Uw8q2NbtZhncxzaeAFK4T7/yxSPlrJSUtUbYsbUXB -mMiKVl0+7kNOPmsnjtA6S4ULX9Ptaqd1y9Fahy85dRNacrACgZ++8A+EVCBibGnU -4U3GDZlDAQ0Slox4nb9QorFEqmrPF3rPbw/U+CRVX/A0FklmPlBGyWNxODFiuGK5 -81OtbLUrohKqGU8J2l7nk8aOFAj+8DCAGKCGhU3IfdeLA/5u1fedFqySLKAj5ZyR -Uh+U3xeUc8OzwcFxBSAAeL0TUh2oPs0AH8g= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=EU, O=AC Camerfirma SA CIF A82743287, OU=http://www.chambersign.org, CN=Chambers of Commerce Root - Validity - Not Before: Sep 30 16:13:43 2003 GMT - Not After : Sep 30 16:13:44 2037 GMT - Subject: C=EU, O=AC Camerfirma SA CIF A82743287, OU=http://www.chambersign.org, CN=Chambers of Commerce Root - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:b7:36:55:e5:a5:5d:18:30:e0:da:89:54:91:fc: - c8:c7:52:f8:2f:50:d9:ef:b1:75:73:65:47:7d:1b: - 5b:ba:75:c5:fc:a1:88:24:fa:2f:ed:ca:08:4a:39: - 54:c4:51:7a:b5:da:60:ea:38:3c:81:b2:cb:f1:bb: - d9:91:23:3f:48:01:70:75:a9:05:2a:ad:1f:71:f3: - c9:54:3d:1d:06:6a:40:3e:b3:0c:85:ee:5c:1b:79: - c2:62:c4:b8:36:8e:35:5d:01:0c:23:04:47:35:aa: - 9b:60:4e:a0:66:3d:cb:26:0a:9c:40:a1:f4:5d:98: - bf:71:ab:a5:00:68:2a:ed:83:7a:0f:a2:14:b5:d4: - 22:b3:80:b0:3c:0c:5a:51:69:2d:58:18:8f:ed:99: - 9e:f1:ae:e2:95:e6:f6:47:a8:d6:0c:0f:b0:58:58: - db:c3:66:37:9e:9b:91:54:33:37:d2:94:1c:6a:48: - c9:c9:f2:a5:da:a5:0c:23:f7:23:0e:9c:32:55:5e: - 71:9c:84:05:51:9a:2d:fd:e6:4e:2a:34:5a:de:ca: - 40:37:67:0c:54:21:55:77:da:0a:0c:cc:97:ae:80: - dc:94:36:4a:f4:3e:ce:36:13:1e:53:e4:ac:4e:3a: - 05:ec:db:ae:72:9c:38:8b:d0:39:3b:89:0a:3e:77: - fe:75 - Exponent: 3 (0x3) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE, pathlen:12 - X509v3 CRL Distribution Points: - URI:http://crl.chambersign.org/chambersroot.crl - - X509v3 Subject Key Identifier: - E3:94:F5:B1:4D:E9:DB:A1:29:5B:57:8B:4D:76:06:76:E1:D1:A2:8A - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 Subject Alternative Name: - email:chambersroot@chambersign.org - X509v3 Issuer Alternative Name: - email:chambersroot@chambersign.org - X509v3 Certificate Policies: - Policy: 1.3.6.1.4.1.17326.10.3.1 - CPS: http://cps.chambersign.org/cps/chambersroot.html - - Signature Algorithm: sha1WithRSAEncryption - 0c:41:97:c2:1a:86:c0:22:7c:9f:fb:90:f3:1a:d1:03:b1:ef: - 13:f9:21:5f:04:9c:da:c9:a5:8d:27:6c:96:87:91:be:41:90: - 01:72:93:e7:1e:7d:5f:f6:89:c6:5d:a7:40:09:3d:ac:49:45: - 45:dc:2e:8d:30:68:b2:09:ba:fb:c3:2f:cc:ba:0b:df:3f:77: - 7b:46:7d:3a:12:24:8e:96:8f:3c:05:0a:6f:d2:94:28:1d:6d: - 0c:c0:2e:88:22:d5:d8:cf:1d:13:c7:f0:48:d7:d7:05:a7:cf: - c7:47:9e:3b:3c:34:c8:80:4f:d4:14:bb:fc:0d:50:f7:fa:b3: - ec:42:5f:a9:dd:6d:c8:f4:75:cf:7b:c1:72:26:b1:01:1c:5c: - 2c:fd:7a:4e:b4:01:c5:05:57:b9:e7:3c:aa:05:d9:88:e9:07: - 46:41:ce:ef:41:81:ae:58:df:83:a2:ae:ca:d7:77:1f:e7:00: - 3c:9d:6f:8e:e4:32:09:1d:4d:78:34:78:34:3c:94:9b:26:ed: - 4f:71:c6:19:7a:bd:20:22:48:5a:fe:4b:7d:03:b7:e7:58:be: - c6:32:4e:74:1e:68:dd:a8:68:5b:b3:3e:ee:62:7d:d9:80:e8: - 0a:75:7a:b7:ee:b4:65:9a:21:90:e0:aa:d0:98:bc:38:b5:73: - 3c:8b:f8:dc -MD5 Fingerprint=B0:01:EE:14:D9:AF:29:18:94:76:8E:F1:69:33:2A:84 ------BEGIN CERTIFICATE----- -MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEn -MCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQL -ExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMg -b2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAxNjEzNDNaFw0zNzA5MzAxNjEzNDRa -MH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZpcm1hIFNBIENJRiBB -ODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3JnMSIw -IAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0B -AQEFAAOCAQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtb -unXF/KGIJPov7coISjlUxFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0d -BmpAPrMMhe5cG3nCYsS4No41XQEMIwRHNaqbYE6gZj3LJgqcQKH0XZi/caulAGgq -7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jWDA+wWFjbw2Y3npuRVDM3 -0pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFVd9oKDMyX -roDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIG -A1UdEwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5j -aGFtYmVyc2lnbi5vcmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p -26EpW1eLTXYGduHRooowDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIA -BzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hhbWJlcnNpZ24ub3JnMCcGA1Ud -EgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYDVR0gBFEwTzBN -BgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz -aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEB -AAxBl8IahsAifJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZd -p0AJPaxJRUXcLo0waLIJuvvDL8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi -1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wNUPf6s+xCX6ndbcj0dc97wXImsQEc -XCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/nADydb47kMgkdTXg0 -eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1erfu -tGWaIZDgqtCYvDi1czyL+Nw= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=EU, O=AC Camerfirma SA CIF A82743287, OU=http://www.chambersign.org, CN=Global Chambersign Root - Validity - Not Before: Sep 30 16:14:18 2003 GMT - Not After : Sep 30 16:14:18 2037 GMT - Subject: C=EU, O=AC Camerfirma SA CIF A82743287, OU=http://www.chambersign.org, CN=Global Chambersign Root - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:a2:70:a2:d0:9f:42:ae:5b:17:c7:d8:7d:cf:14: - 83:fc:4f:c9:a1:b7:13:af:8a:d7:9e:3e:04:0a:92: - 8b:60:56:fa:b4:32:2f:88:4d:a1:60:08:f4:b7:09: - 4e:a0:49:2f:49:d6:d3:df:9d:97:5a:9f:94:04:70: - ec:3f:59:d9:b7:cc:66:8b:98:52:28:09:02:df:c5: - 2f:84:8d:7a:97:77:bf:ec:40:9d:25:72:ab:b5:3f: - 32:98:fb:b7:b7:fc:72:84:e5:35:87:f9:55:fa:a3: - 1f:0e:6f:2e:28:dd:69:a0:d9:42:10:c6:f8:b5:44: - c2:d0:43:7f:db:bc:e4:a2:3c:6a:55:78:0a:77:a9: - d8:ea:19:32:b7:2f:fe:5c:3f:1b:ee:b1:98:ec:ca: - ad:7a:69:45:e3:96:0f:55:f6:e6:ed:75:ea:65:e8: - 32:56:93:46:89:a8:25:8a:65:06:ee:6b:bf:79:07: - d0:f1:b7:af:ed:2c:4d:92:bb:c0:a8:5f:a7:67:7d: - 04:f2:15:08:70:ac:92:d6:7d:04:d2:33:fb:4c:b6: - 0b:0b:fb:1a:c9:c4:8d:03:a9:7e:5c:f2:50:ab:12: - a5:a1:cf:48:50:a5:ef:d2:c8:1a:13:fa:b0:7f:b1: - 82:1c:77:6a:0f:5f:dc:0b:95:8f:ef:43:7e:e6:45: - 09:25 - Exponent: 3 (0x3) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE, pathlen:12 - X509v3 CRL Distribution Points: - URI:http://crl.chambersign.org/chambersignroot.crl - - X509v3 Subject Key Identifier: - 43:9C:36:9F:B0:9E:30:4D:C6:CE:5F:AD:10:AB:E5:03:A5:FA:A9:14 - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - X509v3 Subject Alternative Name: - email:chambersignroot@chambersign.org - X509v3 Issuer Alternative Name: - email:chambersignroot@chambersign.org - X509v3 Certificate Policies: - Policy: 1.3.6.1.4.1.17326.10.1.1 - CPS: http://cps.chambersign.org/cps/chambersignroot.html - - Signature Algorithm: sha1WithRSAEncryption - 3c:3b:70:91:f9:04:54:27:91:e1:ed:ed:fe:68:7f:61:5d:e5: - 41:65:4f:32:f1:18:05:94:6a:1c:de:1f:70:db:3e:7b:32:02: - 34:b5:0c:6c:a1:8a:7c:a5:f4:8f:ff:d4:d8:ad:17:d5:2d:04: - d1:3f:58:80:e2:81:59:88:be:c0:e3:46:93:24:fe:90:bd:26: - a2:30:2d:e8:97:26:57:35:89:74:96:18:f6:15:e2:af:24:19: - 56:02:02:b2:ba:0f:14:ea:c6:8a:66:c1:86:45:55:8b:be:92: - be:9c:a4:04:c7:49:3c:9e:e8:29:7a:89:d7:fe:af:ff:68:f5: - a5:17:90:bd:ac:99:cc:a5:86:57:09:67:46:db:d6:16:c2:46: - f1:e4:a9:50:f5:8f:d1:92:15:d3:5f:3e:c6:00:49:3a:6e:58: - b2:d1:d1:27:0d:25:c8:32:f8:20:11:cd:7d:32:33:48:94:54: - 4c:dd:dc:79:c4:30:9f:eb:8e:b8:55:b5:d7:88:5c:c5:6a:24: - 3d:b2:d3:05:03:51:c6:07:ef:cc:14:72:74:3d:6e:72:ce:18: - 28:8c:4a:a0:77:e5:09:2b:45:44:47:ac:b7:67:7f:01:8a:05: - 5a:93:be:a1:c1:ff:f8:e7:0e:67:a4:47:49:76:5d:75:90:1a: - f5:26:8f:f0 -MD5 Fingerprint=C5:E6:7B:BF:06:D0:4F:43:ED:C4:7A:65:8A:FB:6B:19 ------BEGIN CERTIFICATE----- -MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEn -MCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQL -ExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENo -YW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYxNDE4WhcNMzcwOTMwMTYxNDE4WjB9 -MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgy -NzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEgMB4G -A1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUA -A4IBDQAwggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0 -Mi+ITaFgCPS3CU6gSS9J1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/s -QJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8Oby4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpV -eAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl6DJWk0aJqCWKZQbua795 -B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c8lCrEqWh -z0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0T -AQH/BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1i -ZXJzaWduLm9yZy9jaGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4w -TcbOX60Qq+UDpfqpFDAOBgNVHQ8BAf8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAH -MCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBjaGFtYmVyc2lnbi5vcmcwKgYD -VR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9yZzBbBgNVHSAE -VDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh -bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0B -AQUFAAOCAQEAPDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUM -bKGKfKX0j//U2K0X1S0E0T9YgOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXi -ryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJPJ7oKXqJ1/6v/2j1pReQvayZzKWG -VwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4IBHNfTIzSJRUTN3c -ecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREest2d/ -AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 123 (0x7b) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=HU, L=Budapest, O=NetLock Halozatbiztonsagi Kft., OU=Tanusitvanykiadok, CN=NetLock Minositett Kozjegyzoi (Class QA) Tanusitvanykiado/emailAddress=info@netlock.hu - Validity - Not Before: Mar 30 01:47:11 2003 GMT - Not After : Dec 15 01:47:11 2022 GMT - Subject: C=HU, L=Budapest, O=NetLock Halozatbiztonsagi Kft., OU=Tanusitvanykiadok, CN=NetLock Minositett Kozjegyzoi (Class QA) Tanusitvanykiado/emailAddress=info@netlock.hu - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:c7:52:25:b2:d8:3d:d4:84:55:09:a7:1b:bd:6c: - b9:14:f4:8a:02:db:76:fc:6a:2a:78:ab:e5:77:f0: - 6e:e0:8c:23:67:db:a5:64:99:b9:dd:01:3e:6f:ef: - 2d:9a:3c:22:f0:5d:c9:57:a0:55:41:7f:f2:43:5e: - 58:82:53:31:65:ce:1e:f2:26:ba:00:54:1e:af:b0: - bc:1c:e4:52:8c:a0:32:af:b7:37:b1:53:67:68:74: - 67:50:f6:2d:2e:64:de:ae:26:79:df:df:99:86:ab: - ab:7f:85:ec:a0:fb:80:cc:f4:b8:0c:1e:93:45:63: - b9:dc:b8:5b:9b:ed:5b:39:d4:5f:62:b0:a7:8e:7c: - 66:38:2c:aa:b1:08:63:17:67:7d:cc:bd:b3:f1:c3: - 3f:cf:50:39:ed:d1:19:83:15:db:87:12:27:96:b7: - da:ea:e5:9d:bc:ba:ea:39:4f:8b:ef:74:9a:e7:c5: - d0:d2:ea:86:51:1c:e4:fe:64:08:28:04:79:05:eb: - ca:c5:71:0e:0b:ef:ab:ea:ec:12:11:a1:18:05:32: - 69:d1:0c:2c:1a:3d:25:99:3f:b5:7c:ca:6d:b0:ae: - 99:99:fa:08:60:e7:19:c2:f2:bd:51:d3:cc:d3:02: - ac:c1:11:0c:80:ce:ab:dc:94:9d:6b:a3:39:53:3a: - d6:85 - Exponent: 50557 (0xc57d) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE, pathlen:4 - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - Netscape Comment: - FIGYELEM! Ezen tanusitvany a NetLock Kft. Minositett Szolgaltatasi Szabalyzataban leirt eljarasok alapjan keszult. A minositett elektronikus alairas joghatas ervenyesulesenek, valamint elfogadasanak feltetele a Minositett Szolgaltatasi Szabalyzatban, az Altalanos Szerzodesi Feltetelekben eloirt ellenorzesi eljaras megtetele. A dokumentumok megtalalhatok a https://www.netlock.hu/docs/ cimen vagy kerhetok az info@netlock.net e-mail cimen. WARNING! The issuance and the use of this certificate are subject to the NetLock Qualified CPS available at https://www.netlock.hu/docs/ or by e-mail at info@netlock.net - X509v3 Subject Key Identifier: - 09:6A:62:16:92:B0:5A:BB:55:0E:CB:75:32:3A:32:E5:B2:21:C9:28 - Signature Algorithm: sha1WithRSAEncryption - 91:6a:50:9c:db:78:81:9b:3f:8b:42:e3:3b:fc:a6:c3:ee:43: - e0:cf:f3:e2:80:35:49:45:76:02:e2:e3:2f:05:c5:f1:2a:e7: - c0:41:33:c6:b6:9b:d0:33:39:cd:c0:db:a1:ad:6c:37:02:4c: - 58:41:3b:f2:97:92:c6:48:a8:cd:e5:8a:39:89:61:f9:52:97: - e9:bd:f6:f9:94:74:e8:71:0e:bc:77:86:c3:06:cc:5a:7c:4a: - 7e:34:50:30:2e:fb:7f:32:9a:8d:3d:f3:20:5b:f8:6a:ca:86: - f3:31:4c:2c:59:80:02:7d:fe:38:c9:30:75:1c:b7:55:e3:bc: - 9f:ba:a8:6d:84:28:05:75:b3:8b:0d:c0:91:54:21:e7:a6:0b: - b4:99:f5:51:41:dc:cd:a3:47:22:d9:c7:01:81:c4:dc:47:4f: - 26:ea:1f:ed:db:cd:0d:98:f4:a3:9c:b4:73:32:4a:96:99:fe: - bc:7f:c8:25:58:f8:58:f3:76:66:89:54:a4:a6:3e:c4:50:5c: - ba:89:18:82:75:48:21:d2:4f:13:e8:60:7e:07:76:db:10:b5: - 51:e6:aa:b9:68:aa:cd:f6:9d:90:75:12:ea:38:1a:ca:44:e8: - b7:99:a7:2a:68:95:66:95:ab:ad:ef:89:cb:60:a9:06:12:c6: - 94:47:e9:28 -MD5 Fingerprint=D4:80:65:68:24:F9:89:22:28:DB:F5:A4:9A:17:8F:14 ------BEGIN CERTIFICATE----- -MIIG0TCCBbmgAwIBAgIBezANBgkqhkiG9w0BAQUFADCByTELMAkGA1UEBhMCSFUx -ETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0 -b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMUIwQAYDVQQD -EzlOZXRMb2NrIE1pbm9zaXRldHQgS296amVneXpvaSAoQ2xhc3MgUUEpIFRhbnVz -aXR2YW55a2lhZG8xHjAcBgkqhkiG9w0BCQEWD2luZm9AbmV0bG9jay5odTAeFw0w -MzAzMzAwMTQ3MTFaFw0yMjEyMTUwMTQ3MTFaMIHJMQswCQYDVQQGEwJIVTERMA8G -A1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNh -Z2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxQjBABgNVBAMTOU5l -dExvY2sgTWlub3NpdGV0dCBLb3pqZWd5em9pIChDbGFzcyBRQSkgVGFudXNpdHZh -bnlraWFkbzEeMBwGCSqGSIb3DQEJARYPaW5mb0BuZXRsb2NrLmh1MIIBIjANBgkq -hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx1Ilstg91IRVCacbvWy5FPSKAtt2/Goq -eKvld/Bu4IwjZ9ulZJm53QE+b+8tmjwi8F3JV6BVQX/yQ15YglMxZc4e8ia6AFQe -r7C8HORSjKAyr7c3sVNnaHRnUPYtLmTeriZ539+Zhqurf4XsoPuAzPS4DB6TRWO5 -3Lhbm+1bOdRfYrCnjnxmOCyqsQhjF2d9zL2z8cM/z1A57dEZgxXbhxInlrfa6uWd -vLrqOU+L73Sa58XQ0uqGURzk/mQIKAR5BevKxXEOC++r6uwSEaEYBTJp0QwsGj0l -mT+1fMptsK6ZmfoIYOcZwvK9UdPM0wKswREMgM6r3JSda6M5UzrWhQIDAMV9o4IC -wDCCArwwEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNVHQ8BAf8EBAMCAQYwggJ1Bglg -hkgBhvhCAQ0EggJmFoICYkZJR1lFTEVNISBFemVuIHRhbnVzaXR2YW55IGEgTmV0 -TG9jayBLZnQuIE1pbm9zaXRldHQgU3pvbGdhbHRhdGFzaSBTemFiYWx5emF0YWJh -biBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIG1pbm9zaXRldHQg -ZWxla3Ryb25pa3VzIGFsYWlyYXMgam9naGF0YXMgZXJ2ZW55ZXN1bGVzZW5laywg -dmFsYW1pbnQgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYSBNaW5vc2l0ZXR0IFN6 -b2xnYWx0YXRhc2kgU3phYmFseXphdGJhbiwgYXogQWx0YWxhbm9zIFN6ZXJ6b2Rl -c2kgRmVsdGV0ZWxla2JlbiBlbG9pcnQgZWxsZW5vcnplc2kgZWxqYXJhcyBtZWd0 -ZXRlbGUuIEEgZG9rdW1lbnR1bW9rIG1lZ3RhbGFsaGF0b2sgYSBodHRwczovL3d3 -dy5uZXRsb2NrLmh1L2RvY3MvIGNpbWVuIHZhZ3kga2VyaGV0b2sgYXogaW5mb0Bu -ZXRsb2NrLm5ldCBlLW1haWwgY2ltZW4uIFdBUk5JTkchIFRoZSBpc3N1YW5jZSBh -bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGFyZSBzdWJqZWN0IHRvIHRo -ZSBOZXRMb2NrIFF1YWxpZmllZCBDUFMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3 -Lm5ldGxvY2suaHUvZG9jcy8gb3IgYnkgZS1tYWlsIGF0IGluZm9AbmV0bG9jay5u -ZXQwHQYDVR0OBBYEFAlqYhaSsFq7VQ7LdTI6MuWyIckoMA0GCSqGSIb3DQEBBQUA -A4IBAQCRalCc23iBmz+LQuM7/KbD7kPgz/PigDVJRXYC4uMvBcXxKufAQTPGtpvQ -MznNwNuhrWw3AkxYQTvyl5LGSKjN5Yo5iWH5Upfpvfb5lHTocQ68d4bDBsxafEp+ -NFAwLvt/MpqNPfMgW/hqyobzMUwsWYACff44yTB1HLdV47yfuqhthCgFdbOLDcCR -VCHnpgu0mfVRQdzNo0ci2ccBgcTcR08m6h/t280NmPSjnLRzMkqWmf68f8glWPhY -83ZmiVSkpj7EUFy6iRiCdUgh0k8T6GB+B3bbELVR5qq5aKrN9p2QdRLqOBrKROi3 -macqaJVmlaut74nLYKkGEsaUR+ko ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 259 (0x103) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=HU, ST=Hungary, L=Budapest, O=NetLock Halozatbiztonsagi Kft., OU=Tanusitvanykiadok, CN=NetLock Kozjegyzoi (Class A) Tanusitvanykiado - Validity - Not Before: Feb 24 23:14:47 1999 GMT - Not After : Feb 19 23:14:47 2019 GMT - Subject: C=HU, ST=Hungary, L=Budapest, O=NetLock Halozatbiztonsagi Kft., OU=Tanusitvanykiadok, CN=NetLock Kozjegyzoi (Class A) Tanusitvanykiado - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:bc:74:8c:0f:bb:4c:f4:37:1e:a9:05:82:d8:e6: - e1:6c:70:ea:78:b5:6e:d1:38:44:0d:a8:83:ce:5d: - d2:d6:d5:81:c5:d4:4b:e7:5b:94:70:26:db:3b:9d: - 6a:4c:62:f7:71:f3:64:d6:61:3b:3d:eb:73:a3:37: - d9:cf:ea:8c:92:3b:cd:f7:07:dc:66:74:97:f4:45: - 22:dd:f4:5c:e0:bf:6d:f3:be:65:33:e4:15:3a:bf: - db:98:90:55:38:c4:ed:a6:55:63:0b:b0:78:04:f4: - e3:6e:c1:3f:8e:fc:51:78:1f:92:9e:83:c2:fe:d9: - b0:a9:c9:bc:5a:00:ff:a9:a8:98:74:fb:f6:2c:3e: - 15:39:0d:b6:04:55:a8:0e:98:20:42:b3:b1:25:ad: - 7e:9a:6f:5d:53:b1:ab:0c:fc:eb:e0:f3:7a:b3:a8: - b3:ff:46:f6:63:a2:d8:3a:98:7b:b6:ac:85:ff:b0: - 25:4f:74:63:e7:13:07:a5:0a:8f:05:f7:c0:64:6f: - 7e:a7:27:80:96:de:d4:2e:86:60:c7:6b:2b:5e:73: - 7b:17:e7:91:3f:64:0c:d8:4b:22:34:2b:9b:32:f2: - 48:1f:9f:a1:0a:84:7a:e2:c2:ad:97:3d:8e:d5:c1: - f9:56:a3:50:e9:c6:b4:fa:98:a2:ee:95:e6:2a:03: - 8c:df - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE, pathlen:4 - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - Netscape Comment: - FIGYELEM! Ezen tanusitvany a NetLock Kft. Altalanos Szolgaltatasi Felteteleiben leirt eljarasok alapjan keszult. A hitelesites folyamatat a NetLock Kft. termekfelelosseg-biztositasa vedi. A digitalis alairas elfogadasanak feltetele az eloirt ellenorzesi eljaras megtetele. Az eljaras leirasa megtalalhato a NetLock Kft. Internet honlapjan a https://www.netlock.net/docs cimen vagy kerheto az ellenorzes@netlock.net e-mail cimen. IMPORTANT! The issuance and the use of this certificate is subject to the NetLock CPS available at https://www.netlock.net/docs or by e-mail at cps@netlock.net. - Signature Algorithm: md5WithRSAEncryption - 48:24:46:f7:ba:56:6f:fa:c8:28:03:40:4e:e5:31:39:6b:26: - 6b:53:7f:db:df:df:f3:71:3d:26:c0:14:0e:c6:67:7b:23:a8: - 0c:73:dd:01:bb:c6:ca:6e:37:39:55:d5:c7:8c:56:20:0e:28: - 0a:0e:d2:2a:a4:b0:49:52:c6:38:07:fe:be:0a:09:8c:d1:98: - cf:ca:da:14:31:a1:4f:d2:39:fc:0f:11:2c:43:c3:dd:ab:93: - c7:55:3e:47:7c:18:1a:00:dc:f3:7b:d8:f2:7f:52:6c:20:f4: - 0b:5f:69:52:f4:ee:f8:b2:29:60:eb:e3:49:31:21:0d:d6:b5: - 10:41:e2:41:09:6c:e2:1a:9a:56:4b:77:02:f6:a0:9b:9a:27: - 87:e8:55:29:71:c2:90:9f:45:78:1a:e1:15:64:3d:d0:0e:d8: - a0:76:9f:ae:c5:d0:2e:ea:d6:0f:56:ec:64:7f:5a:9b:14:58: - 01:27:7e:13:50:c7:6b:2a:e6:68:3c:bf:5c:a0:0a:1b:e1:0e: - 7a:e9:e2:80:c3:e9:e9:f6:fd:6c:11:9e:d0:e5:28:27:2b:54: - 32:42:14:82:75:e6:4a:f0:2b:66:75:63:8c:a2:fb:04:3e:83: - 0e:9b:36:f0:18:e4:26:20:c3:8c:f0:28:07:ad:3c:17:66:88: - b5:fd:b6:88 -MD5 Fingerprint=86:38:6D:5E:49:63:6C:85:5C:DB:6D:DC:94:B7:D0:F7 ------BEGIN CERTIFICATE----- -MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhV -MRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMe -TmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0 -dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFzcyBB -KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oXDTE5MDIxOTIzMTQ0 -N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhC -dWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQu -MRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBL -b3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSMD7tM9DceqQWC2ObhbHDqeLVu0ThEDaiD -zl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZz+qMkjvN9wfcZnSX9EUi -3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC/tmwqcm8 -WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LY -Oph7tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2Esi -NCubMvJIH5+hCoR64sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCC -ApswDgYDVR0PAQH/BAQDAgAGMBIGA1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4 -QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZRUxFTSEgRXplbiB0 -YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRhdGFz -aSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu -IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtm -ZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMg -ZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVs -amFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJhc2EgbWVndGFsYWxoYXRv -IGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBzOi8vd3d3 -Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6 -ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1 -YW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3Qg -dG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRs -b2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNAbmV0bG9jay5uZXQuMA0G -CSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5ayZrU3/b39/zcT0mwBQO -xmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjPytoUMaFP -0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQ -QeJBCWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxk -f1qbFFgBJ34TUMdrKuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK -8CtmdWOMovsEPoMOmzbwGOQmIMOM8CgHrTwXZoi1/baI ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 105 (0x69) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=HU, L=Budapest, O=NetLock Halozatbiztonsagi Kft., OU=Tanusitvanykiadok, CN=NetLock Uzleti (Class B) Tanusitvanykiado - Validity - Not Before: Feb 25 14:10:22 1999 GMT - Not After : Feb 20 14:10:22 2019 GMT - Subject: C=HU, L=Budapest, O=NetLock Halozatbiztonsagi Kft., OU=Tanusitvanykiadok, CN=NetLock Uzleti (Class B) Tanusitvanykiado - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:b1:ea:04:ec:20:a0:23:c2:8f:38:60:cf:c7:46: - b3:d5:1b:fe:fb:b9:99:9e:04:dc:1c:7f:8c:4a:81: - 98:ee:a4:d4:ca:8a:17:b9:22:7f:83:0a:75:4c:9b: - c0:69:d8:64:39:a3:ed:92:a3:fd:5b:5c:74:1a:c0: - 47:ca:3a:69:76:9a:ba:e2:44:17:fc:4c:a3:d5:fe: - b8:97:88:af:88:03:89:1f:a4:f2:04:3e:c8:07:0b: - e6:f9:b3:2f:7a:62:14:09:46:14:ca:64:f5:8b:80: - b5:62:a8:d8:6b:d6:71:93:2d:b3:bf:09:54:58:ed: - 06:eb:a8:7b:dc:43:b1:a1:69 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE, pathlen:4 - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - Netscape Comment: - FIGYELEM! Ezen tanusitvany a NetLock Kft. Altalanos Szolgaltatasi Felteteleiben leirt eljarasok alapjan keszult. A hitelesites folyamatat a NetLock Kft. termekfelelosseg-biztositasa vedi. A digitalis alairas elfogadasanak feltetele az eloirt ellenorzesi eljaras megtetele. Az eljaras leirasa megtalalhato a NetLock Kft. Internet honlapjan a https://www.netlock.net/docs cimen vagy kerheto az ellenorzes@netlock.net e-mail cimen. IMPORTANT! The issuance and the use of this certificate is subject to the NetLock CPS available at https://www.netlock.net/docs or by e-mail at cps@netlock.net. - Signature Algorithm: md5WithRSAEncryption - 04:db:ae:8c:17:af:f8:0e:90:31:4e:cd:3e:09:c0:6d:3a:b0: - f8:33:4c:47:4c:e3:75:88:10:97:ac:b0:38:15:91:c6:29:96: - cc:21:c0:6d:3c:a5:74:cf:d8:82:a5:39:c3:65:e3:42:70:bb: - 22:90:e3:7d:db:35:76:e1:a0:b5:da:9f:70:6e:93:1a:30:39: - 1d:30:db:2e:e3:7c:b2:91:b2:d1:37:29:fa:b9:d6:17:5c:47: - 4f:e3:1d:38:eb:9f:d5:7b:95:a8:28:9e:15:4a:d1:d1:d0:2b: - 00:97:a0:e2:92:36:2b:63:ac:58:01:6b:33:29:50:86:83:f1: - 01:48 -MD5 Fingerprint=39:16:AA:B9:6A:41:E1:14:69:DF:9E:6C:3B:72:DC:B6 ------BEGIN CERTIFICATE----- -MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUx -ETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0 -b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQD -EylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikgVGFudXNpdHZhbnlraWFkbzAeFw05 -OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYDVQQGEwJIVTERMA8G -A1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNh -Z2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5l -dExvY2sgVXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqG -SIb3DQEBAQUAA4GNADCBiQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xK -gZjupNTKihe5In+DCnVMm8Bp2GQ5o+2So/1bXHQawEfKOml2mrriRBf8TKPV/riX -iK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr1nGTLbO/CVRY7QbrqHvc -Q7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNVHQ8BAf8E -BAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1G -SUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFu -b3MgU3pvbGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBh -bGFwamFuIGtlc3p1bHQuIEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExv -Y2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGkuIEEgZGln -aXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0 -IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh -c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGph -biBhIGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJo -ZXRvIGF6IGVsbGVub3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBP -UlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmlj -YXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBo -dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNA -bmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06 -sPgzTEdM43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXa -n3BukxowOR0w2y7jfLKRstE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKS -NitjrFgBazMpUIaD8QFI ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 104 (0x68) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=HU, L=Budapest, O=NetLock Halozatbiztonsagi Kft., OU=Tanusitvanykiadok, CN=NetLock Expressz (Class C) Tanusitvanykiado - Validity - Not Before: Feb 25 14:08:11 1999 GMT - Not After : Feb 20 14:08:11 2019 GMT - Subject: C=HU, L=Budapest, O=NetLock Halozatbiztonsagi Kft., OU=Tanusitvanykiadok, CN=NetLock Expressz (Class C) Tanusitvanykiado - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:eb:ec:b0:6c:61:8a:23:25:af:60:20:e3:d9:9f: - fc:93:0b:db:5d:8d:b0:a1:b3:40:3a:82:ce:fd:75: - e0:78:32:03:86:5a:86:95:91:ed:53:fa:9d:40:fc: - e6:e8:dd:d9:5b:7a:03:bd:5d:f3:3b:0c:c3:51:79: - 9b:ad:55:a0:e9:d0:03:10:af:0a:ba:14:42:d9:52: - 26:11:22:c7:d2:20:cc:82:a4:9a:a9:fe:b8:81:76: - 9d:6a:b7:d2:36:75:3e:b1:86:09:f6:6e:6d:7e:4e: - b7:7a:ec:ae:71:84:f6:04:33:08:25:32:eb:74:ac: - 16:44:c6:e4:40:93:1d:7f:ad - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE, pathlen:4 - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - Netscape Comment: - FIGYELEM! Ezen tanusitvany a NetLock Kft. Altalanos Szolgaltatasi Felteteleiben leirt eljarasok alapjan keszult. A hitelesites folyamatat a NetLock Kft. termekfelelosseg-biztositasa vedi. A digitalis alairas elfogadasanak feltetele az eloirt ellenorzesi eljaras megtetele. Az eljaras leirasa megtalalhato a NetLock Kft. Internet honlapjan a https://www.netlock.net/docs cimen vagy kerheto az ellenorzes@netlock.net e-mail cimen. IMPORTANT! The issuance and the use of this certificate is subject to the NetLock CPS available at https://www.netlock.net/docs or by e-mail at cps@netlock.net. - Signature Algorithm: md5WithRSAEncryption - 10:ad:7f:d7:0c:32:80:0a:d8:86:f1:79:98:b5:ad:d4:cd:b3: - 36:c4:96:48:c1:5c:cd:9a:d9:05:2e:9f:be:50:eb:f4:26:14: - 10:2d:d4:66:17:f8:9e:c1:27:fd:f1:ed:e4:7b:4b:a0:6c:b5: - ab:9a:57:70:a6:ed:a0:a4:ed:2e:f5:fd:fc:bd:fe:4d:37:08: - 0c:bc:e3:96:83:22:f5:49:1b:7f:4b:2b:b4:54:c1:80:7c:99: - 4e:1d:d0:8c:ee:d0:ac:e5:92:fa:75:56:fe:64:a0:13:8f:b8: - b8:16:9d:61:05:67:80:c8:d0:d8:a5:07:02:34:98:04:8d:33: - 04:d4 -MD5 Fingerprint=4F:EB:F1:F0:70:C2:80:63:5D:58:9F:DA:12:3C:A9:C4 ------BEGIN CERTIFICATE----- -MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUx -ETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0 -b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQD -EytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBDKSBUYW51c2l0dmFueWtpYWRvMB4X -DTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJBgNVBAYTAkhVMREw -DwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9u -c2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMr -TmV0TG9jayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzAN -BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNA -OoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3ZW3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC -2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63euyucYT2BDMIJTLrdKwW -RMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQwDgYDVR0P -AQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEW -ggJNRklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0 -YWxhbm9zIFN6b2xnYWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFz -b2sgYWxhcGphbiBrZXN6dWx0LiBBIGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBO -ZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1iaXp0b3NpdGFzYSB2ZWRpLiBB -IGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0ZWxlIGF6IGVs -b2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs -ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25s -YXBqYW4gYSBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kg -a2VyaGV0byBheiBlbGxlbm9yemVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4g -SU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5kIHRoZSB1c2Ugb2YgdGhpcyBjZXJ0 -aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQUyBhdmFpbGFibGUg -YXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwgYXQg -Y3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmY -ta3UzbM2xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2g -pO0u9f38vf5NNwgMvOOWgyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4 -Fp1hBWeAyNDYpQcCNJgEjTME1A== ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 50:94:6c:ec:18:ea:d5:9c:4d:d5:97:ef:75:8f:a0:ad - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, OU=www.xrampsecurity.com, O=XRamp Security Services Inc, CN=XRamp Global Certification Authority - Validity - Not Before: Nov 1 17:14:04 2004 GMT - Not After : Jan 1 05:37:19 2035 GMT - Subject: C=US, OU=www.xrampsecurity.com, O=XRamp Security Services Inc, CN=XRamp Global Certification Authority - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:98:24:1e:bd:15:b4:ba:df:c7:8c:a5:27:b6:38: - 0b:69:f3:b6:4e:a8:2c:2e:21:1d:5c:44:df:21:5d: - 7e:23:74:fe:5e:7e:b4:4a:b7:a6:ad:1f:ae:e0:06: - 16:e2:9b:5b:d9:67:74:6b:5d:80:8f:29:9d:86:1b: - d9:9c:0d:98:6d:76:10:28:58:e4:65:b0:7f:4a:98: - 79:9f:e0:c3:31:7e:80:2b:b5:8c:c0:40:3b:11:86: - d0:cb:a2:86:36:60:a4:d5:30:82:6d:d9:6e:d0:0f: - 12:04:33:97:5f:4f:61:5a:f0:e4:f9:91:ab:e7:1d: - 3b:bc:e8:cf:f4:6b:2d:34:7c:e2:48:61:1c:8e:f3: - 61:44:cc:6f:a0:4a:a9:94:b0:4d:da:e7:a9:34:7a: - 72:38:a8:41:cc:3c:94:11:7d:eb:c8:a6:8c:b7:86: - cb:ca:33:3b:d9:3d:37:8b:fb:7a:3e:86:2c:e7:73: - d7:0a:57:ac:64:9b:19:eb:f4:0f:04:08:8a:ac:03: - 17:19:64:f4:5a:25:22:8d:34:2c:b2:f6:68:1d:12: - 6d:d3:8a:1e:14:da:c4:8f:a6:e2:23:85:d5:7a:0d: - bd:6a:e0:e9:ec:ec:17:bb:42:1b:67:aa:25:ed:45: - 83:21:fc:c1:c9:7c:d5:62:3e:fa:f2:c5:2d:d3:fd: - d4:65 - Exponent: 65537 (0x10001) - X509v3 extensions: - 1.3.6.1.4.1.311.20.2: - ...C.A - X509v3 Key Usage: - Digital Signature, Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Subject Key Identifier: - C6:4F:A2:3D:06:63:84:09:9C:CE:62:E4:04:AC:8D:5C:B5:E9:B6:1B - X509v3 CRL Distribution Points: - URI:http://crl.xrampsecurity.com/XGCA.crl - - 1.3.6.1.4.1.311.21.1: - ... - Signature Algorithm: sha1WithRSAEncryption - 91:15:39:03:01:1b:67:fb:4a:1c:f9:0a:60:5b:a1:da:4d:97: - 62:f9:24:53:27:d7:82:64:4e:90:2e:c3:49:1b:2b:9a:dc:fc: - a8:78:67:35:f1:1d:f0:11:bd:b7:48:e3:10:f6:0d:df:3f:d2: - c9:b6:aa:55:a4:48:ba:02:db:de:59:2e:15:5b:3b:9d:16:7d: - 47:d7:37:ea:5f:4d:76:12:36:bb:1f:d7:a1:81:04:46:20:a3: - 2c:6d:a9:9e:01:7e:3f:29:ce:00:93:df:fd:c9:92:73:89:89: - 64:9e:e7:2b:e4:1c:91:2c:d2:b9:ce:7d:ce:6f:31:99:d3:e6: - be:d2:1e:90:f0:09:14:79:5c:23:ab:4d:d2:da:21:1f:4d:99: - 79:9d:e1:cf:27:9f:10:9b:1c:88:0d:b0:8a:64:41:31:b8:0e: - 6c:90:24:a4:9b:5c:71:8f:ba:bb:7e:1c:1b:db:6a:80:0f:21: - bc:e9:db:a6:b7:40:f4:b2:8b:a9:b1:e4:ef:9a:1a:d0:3d:69: - 99:ee:a8:28:a3:e1:3c:b3:f0:b2:11:9c:cf:7c:40:e6:dd:e7: - 43:7d:a2:d8:3a:b5:a9:8d:f2:34:99:c4:d4:10:e1:06:fd:09: - 84:10:3b:ee:c4:4c:f4:ec:27:7c:42:c2:74:7c:82:8a:09:c9: - b4:03:25:bc -MD5 Fingerprint=A1:0B:44:B3:CA:10:D8:00:6E:9D:0F:D8:0F:92:0A:D1 ------BEGIN CERTIFICATE----- -MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB -gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk -MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY -UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx -NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3 -dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy -dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6 -38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP -KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q -DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4 -qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa -JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi -PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P -BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs -jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0 -eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD -ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR -vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt -qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa -IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy -i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ -O+7ETPTsJ3xCwnR8gooJybQDJbw= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority - Validity - Not Before: Jun 29 17:06:20 2004 GMT - Not After : Jun 29 17:06:20 2034 GMT - Subject: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:de:9d:d7:ea:57:18:49:a1:5b:eb:d7:5f:48:86: - ea:be:dd:ff:e4:ef:67:1c:f4:65:68:b3:57:71:a0: - 5e:77:bb:ed:9b:49:e9:70:80:3d:56:18:63:08:6f: - da:f2:cc:d0:3f:7f:02:54:22:54:10:d8:b2:81:d4: - c0:75:3d:4b:7f:c7:77:c3:3e:78:ab:1a:03:b5:20: - 6b:2f:6a:2b:b1:c5:88:7e:c4:bb:1e:b0:c1:d8:45: - 27:6f:aa:37:58:f7:87:26:d7:d8:2d:f6:a9:17:b7: - 1f:72:36:4e:a6:17:3f:65:98:92:db:2a:6e:5d:a2: - fe:88:e0:0b:de:7f:e5:8d:15:e1:eb:cb:3a:d5:e2: - 12:a2:13:2d:d8:8e:af:5f:12:3d:a0:08:05:08:b6: - 5c:a5:65:38:04:45:99:1e:a3:60:60:74:c5:41:a5: - 72:62:1b:62:c5:1f:6f:5f:1a:42:be:02:51:65:a8: - ae:23:18:6a:fc:78:03:a9:4d:7f:80:c3:fa:ab:5a: - fc:a1:40:a4:ca:19:16:fe:b2:c8:ef:5e:73:0d:ee: - 77:bd:9a:f6:79:98:bc:b1:07:67:a2:15:0d:dd:a0: - 58:c6:44:7b:0a:3e:62:28:5f:ba:41:07:53:58:cf: - 11:7e:38:74:c5:f8:ff:b5:69:90:8f:84:74:ea:97: - 1b:af - Exponent: 3 (0x3) - X509v3 extensions: - X509v3 Subject Key Identifier: - D2:C4:B0:D2:91:D4:4C:11:71:B3:61:CB:3D:A1:FE:DD:A8:6A:D4:E3 - X509v3 Authority Key Identifier: - keyid:D2:C4:B0:D2:91:D4:4C:11:71:B3:61:CB:3D:A1:FE:DD:A8:6A:D4:E3 - DirName:/C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority - serial:00 - - X509v3 Basic Constraints: - CA:TRUE - Signature Algorithm: sha1WithRSAEncryption - 32:4b:f3:b2:ca:3e:91:fc:12:c6:a1:07:8c:8e:77:a0:33:06: - 14:5c:90:1e:18:f7:08:a6:3d:0a:19:f9:87:80:11:6e:69:e4: - 96:17:30:ff:34:91:63:72:38:ee:cc:1c:01:a3:1d:94:28:a4: - 31:f6:7a:c4:54:d7:f6:e5:31:58:03:a2:cc:ce:62:db:94:45: - 73:b5:bf:45:c9:24:b5:d5:82:02:ad:23:79:69:8d:b8:b6:4d: - ce:cf:4c:ca:33:23:e8:1c:88:aa:9d:8b:41:6e:16:c9:20:e5: - 89:9e:cd:3b:da:70:f7:7e:99:26:20:14:54:25:ab:6e:73:85: - e6:9b:21:9d:0a:6c:82:0e:a8:f8:c2:0c:fa:10:1e:6c:96:ef: - 87:0d:c4:0f:61:8b:ad:ee:83:2b:95:f8:8e:92:84:72:39:eb: - 20:ea:83:ed:83:cd:97:6e:08:bc:eb:4e:26:b6:73:2b:e4:d3: - f6:4c:fe:26:71:e2:61:11:74:4a:ff:57:1a:87:0f:75:48:2e: - cf:51:69:17:a0:02:12:61:95:d5:d1:40:b2:10:4c:ee:c4:ac: - 10:43:a6:a5:9e:0a:d5:95:62:9a:0d:cf:88:82:c5:32:0c:e4: - 2b:9f:45:e6:0d:9f:28:9c:b1:b9:2a:5a:57:ad:37:0f:af:1d: - 7f:db:bd:9f -MD5 Fingerprint=91:DE:06:25:AB:DA:FD:32:17:0C:BB:25:17:2A:84:67 ------BEGIN CERTIFICATE----- -MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh -MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE -YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 -MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo -ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg -MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN -ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA -PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w -wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi -EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY -avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ -YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE -sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h -/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 -IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD -ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy -OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P -TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ -HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER -dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf -ReYNnyicsbkqWletNw+vHX/bvZ8= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=Starfield Technologies, Inc., OU=Starfield Class 2 Certification Authority - Validity - Not Before: Jun 29 17:39:16 2004 GMT - Not After : Jun 29 17:39:16 2034 GMT - Subject: C=US, O=Starfield Technologies, Inc., OU=Starfield Class 2 Certification Authority - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (2048 bit) - Modulus (2048 bit): - 00:b7:32:c8:fe:e9:71:a6:04:85:ad:0c:11:64:df: - ce:4d:ef:c8:03:18:87:3f:a1:ab:fb:3c:a6:9f:f0: - c3:a1:da:d4:d8:6e:2b:53:90:fb:24:a4:3e:84:f0: - 9e:e8:5f:ec:e5:27:44:f5:28:a6:3f:7b:de:e0:2a: - f0:c8:af:53:2f:9e:ca:05:01:93:1e:8f:66:1c:39: - a7:4d:fa:5a:b6:73:04:25:66:eb:77:7f:e7:59:c6: - 4a:99:25:14:54:eb:26:c7:f3:7f:19:d5:30:70:8f: - af:b0:46:2a:ff:ad:eb:29:ed:d7:9f:aa:04:87:a3: - d4:f9:89:a5:34:5f:db:43:91:82:36:d9:66:3c:b1: - b8:b9:82:fd:9c:3a:3e:10:c8:3b:ef:06:65:66:7a: - 9b:19:18:3d:ff:71:51:3c:30:2e:5f:be:3d:77:73: - b2:5d:06:6c:c3:23:56:9a:2b:85:26:92:1c:a7:02: - b3:e4:3f:0d:af:08:79:82:b8:36:3d:ea:9c:d3:35: - b3:bc:69:ca:f5:cc:9d:e8:fd:64:8d:17:80:33:6e: - 5e:4a:5d:99:c9:1e:87:b4:9d:1a:c0:d5:6e:13:35: - 23:5e:df:9b:5f:3d:ef:d6:f7:76:c2:ea:3e:bb:78: - 0d:1c:42:67:6b:04:d8:f8:d6:da:6f:8b:f2:44:a0: - 01:ab - Exponent: 3 (0x3) - X509v3 extensions: - X509v3 Subject Key Identifier: - BF:5F:B7:D1:CE:DD:1F:86:F4:5B:55:AC:DC:D7:10:C2:0E:A9:88:E7 - X509v3 Authority Key Identifier: - keyid:BF:5F:B7:D1:CE:DD:1F:86:F4:5B:55:AC:DC:D7:10:C2:0E:A9:88:E7 - DirName:/C=US/O=Starfield Technologies, Inc./OU=Starfield Class 2 Certification Authority - serial:00 - - X509v3 Basic Constraints: - CA:TRUE - Signature Algorithm: sha1WithRSAEncryption - 05:9d:3f:88:9d:d1:c9:1a:55:a1:ac:69:f3:f3:59:da:9b:01: - 87:1a:4f:57:a9:a1:79:09:2a:db:f7:2f:b2:1e:cc:c7:5e:6a: - d8:83:87:a1:97:ef:49:35:3e:77:06:41:58:62:bf:8e:58:b8: - 0a:67:3f:ec:b3:dd:21:66:1f:c9:54:fa:72:cc:3d:4c:40:d8: - 81:af:77:9e:83:7a:bb:a2:c7:f5:34:17:8e:d9:11:40:f4:fc: - 2c:2a:4d:15:7f:a7:62:5d:2e:25:d3:00:0b:20:1a:1d:68:f9: - 17:b8:f4:bd:8b:ed:28:59:dd:4d:16:8b:17:83:c8:b2:65:c7: - 2d:7a:a5:aa:bc:53:86:6d:dd:57:a4:ca:f8:20:41:0b:68:f0: - f4:fb:74:be:56:5d:7a:79:f5:f9:1d:85:e3:2d:95:be:f5:71: - 90:43:cc:8d:1f:9a:00:0a:87:29:e9:55:22:58:00:23:ea:e3: - 12:43:29:5b:47:08:dd:8c:41:6a:65:06:a8:e5:21:aa:41:b4: - 95:21:95:b9:7d:d1:34:ab:13:d6:ad:bc:dc:e2:3d:39:cd:bd: - 3e:75:70:a1:18:59:03:c9:22:b4:8f:9c:d5:5e:2a:d7:a5:b6: - d4:0a:6d:f8:b7:40:11:46:9a:1f:79:0e:62:bf:0f:97:ec:e0: - 2f:1f:17:94 -MD5 Fingerprint=32:4A:4B:BB:C8:63:69:9B:BE:74:9A:C6:DD:1D:46:24 ------BEGIN CERTIFICATE----- -MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl -MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp -U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw -NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE -ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp -ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 -DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf -8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN -+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 -X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa -K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA -1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G -A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR -zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 -YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD -bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w -DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 -L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D -eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl -xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp -VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY -WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q= ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=IL, ST=Israel, L=Eilat, O=StartCom Ltd., OU=CA Authority Dep., CN=Free SSL Certification Authority/emailAddress=admin@startcom.org - Validity - Not Before: Mar 17 17:37:48 2005 GMT - Not After : Mar 10 17:37:48 2035 GMT - Subject: C=IL, ST=Israel, L=Eilat, O=StartCom Ltd., OU=CA Authority Dep., CN=Free SSL Certification Authority/emailAddress=admin@startcom.org - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:ed:84:60:00:23:9e:c8:4a:51:29:27:de:3a:a1: - 39:b5:69:ab:09:b2:2f:34:fd:61:dc:3d:d3:b0:cf: - b1:d7:c2:c4:c2:b1:e4:96:56:c4:be:aa:14:0e:e7: - cc:3a:50:c8:3a:62:9d:c3:a3:ac:59:7b:8e:ee:55: - 1a:1c:47:be:a3:97:39:b3:b5:ef:23:2c:08:e8:d8: - af:73:2f:b9:c9:83:e8:ed:00:0f:c8:75:a5:2f:34: - 4c:18:e8:76:88:23:49:8a:db:b6:ed:68:da:c3:b5: - 62:29:4c:a5:4b:b7:98:b4:09:14:10:a0:f8:fe:62: - 76:22:15:0b:a4:d6:08:2f:35 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Key Usage: - Digital Signature, Non Repudiation, Key Encipherment, Certificate Sign, CRL Sign - X509v3 Subject Key Identifier: - 1C:89:C3:96:CC:BD:FE:32:D5:0D:8C:81:31:B6:98:9D:8D:28:64:8D - X509v3 Authority Key Identifier: - keyid:1C:89:C3:96:CC:BD:FE:32:D5:0D:8C:81:31:B6:98:9D:8D:28:64:8D - DirName:/C=IL/ST=Israel/L=Eilat/O=StartCom Ltd./OU=CA Authority Dep./CN=Free SSL Certification Authority/emailAddress=admin@startcom.org - serial:00 - - X509v3 Subject Alternative Name: - email:admin@startcom.org - X509v3 Issuer Alternative Name: - email:admin@startcom.org - Netscape Cert Type: - SSL CA, S/MIME CA, Object Signing CA - Netscape Comment: - Free SSL Certification Authority - Netscape CA Revocation Url: - http://cert.startcom.org/ca-crl.crl - Netscape Base Url: - http://cert.startcom.org/ - Netscape CA Policy Url: - http://cert.startcom.org/index.php?app=111 - Signature Algorithm: md5WithRSAEncryption - 6c:71:25:e1:9e:34:91:21:ef:db:6c:bd:01:08:56:8f:88:d8: - 41:3a:53:f5:72:df:27:57:4b:76:84:f7:68:a4:fe:eb:3f:09: - 7e:28:b8:57:ea:1f:c1:aa:e2:ff:96:9f:49:99:e6:b2:95:73: - 96:c6:48:c7:5e:8d:07:72:56:f8:83:8f:9f:77:af:29:d3:45: - 0e:a4:ee:b0:36:74:2d:f0:cd:98:23:7b:37:4b:da:fe:51:98: - c4:1e:34:3c:88:fd:99:3b:50:a7:c1:8b:33:c7:c2:52:16:12: - 95:53:65:22:ef:ba:8b:ce:62:db:70:23:b1:80:df:1a:20:38: - e7:7e -MD5 Fingerprint=08:7C:58:1F:52:2B:44:B4:3B:79:CD:01:F8:C5:C3:C9 ------BEGIN CERTIFICATE----- -MIIFFjCCBH+gAwIBAgIBADANBgkqhkiG9w0BAQQFADCBsDELMAkGA1UEBhMCSUwx -DzANBgNVBAgTBklzcmFlbDEOMAwGA1UEBxMFRWlsYXQxFjAUBgNVBAoTDVN0YXJ0 -Q29tIEx0ZC4xGjAYBgNVBAsTEUNBIEF1dGhvcml0eSBEZXAuMSkwJwYDVQQDEyBG -cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYS -YWRtaW5Ac3RhcnRjb20ub3JnMB4XDTA1MDMxNzE3Mzc0OFoXDTM1MDMxMDE3Mzc0 -OFowgbAxCzAJBgNVBAYTAklMMQ8wDQYDVQQIEwZJc3JhZWwxDjAMBgNVBAcTBUVp -bGF0MRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMRowGAYDVQQLExFDQSBBdXRob3Jp -dHkgRGVwLjEpMCcGA1UEAxMgRnJlZSBTU0wgQ2VydGlmaWNhdGlvbiBBdXRob3Jp -dHkxITAfBgkqhkiG9w0BCQEWEmFkbWluQHN0YXJ0Y29tLm9yZzCBnzANBgkqhkiG -9w0BAQEFAAOBjQAwgYkCgYEA7YRgACOeyEpRKSfeOqE5tWmrCbIvNP1h3D3TsM+x -18LEwrHkllbEvqoUDufMOlDIOmKdw6OsWXuO7lUaHEe+o5c5s7XvIywI6Nivcy+5 -yYPo7QAPyHWlLzRMGOh2iCNJitu27Wjaw7ViKUylS7eYtAkUEKD4/mJ2IhULpNYI -LzUCAwEAAaOCAjwwggI4MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgHmMB0G -A1UdDgQWBBQcicOWzL3+MtUNjIExtpidjShkjTCB3QYDVR0jBIHVMIHSgBQcicOW -zL3+MtUNjIExtpidjShkjaGBtqSBszCBsDELMAkGA1UEBhMCSUwxDzANBgNVBAgT -BklzcmFlbDEOMAwGA1UEBxMFRWlsYXQxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4x -GjAYBgNVBAsTEUNBIEF1dGhvcml0eSBEZXAuMSkwJwYDVQQDEyBGcmVlIFNTTCBD -ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSYWRtaW5Ac3Rh -cnRjb20ub3JnggEAMB0GA1UdEQQWMBSBEmFkbWluQHN0YXJ0Y29tLm9yZzAdBgNV -HRIEFjAUgRJhZG1pbkBzdGFydGNvbS5vcmcwEQYJYIZIAYb4QgEBBAQDAgAHMC8G -CWCGSAGG+EIBDQQiFiBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAy -BglghkgBhvhCAQQEJRYjaHR0cDovL2NlcnQuc3RhcnRjb20ub3JnL2NhLWNybC5j -cmwwKAYJYIZIAYb4QgECBBsWGWh0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy8wOQYJ -YIZIAYb4QgEIBCwWKmh0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9pbmRleC5waHA/ -YXBwPTExMTANBgkqhkiG9w0BAQQFAAOBgQBscSXhnjSRIe/bbL0BCFaPiNhBOlP1 -ct8nV0t2hPdopP7rPwl+KLhX6h/BquL/lp9JmeaylXOWxkjHXo0Hclb4g4+fd68p -00UOpO6wNnQt8M2YI3s3S9r+UZjEHjQ8iP2ZO1CnwYszx8JSFhKVU2Ui77qLzmLb -cCOxgN8aIDjnfg== ------END CERTIFICATE----- - - -# -# RHNS CA certificate. Appended to the ca-bundle at package build-time. -# -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=US, ST=North Carolina, L=Research Triangle Park, O=Red Hat, Inc., OU=Red Hat Network Services, CN=RHNS Certificate Authority/Email=rhns@redhat.com - Validity - Not Before: Aug 23 22:45:55 2000 GMT - Not After : Aug 28 22:45:55 2003 GMT - Subject: C=US, ST=North Carolina, L=Research Triangle Park, O=Red Hat, Inc., OU=Red Hat Network Services, CN=RHNS Certificate Authority/Email=rhns@redhat.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:c0:68:2b:12:30:e2:21:2d:22:c6:72:71:5b:bf: - 17:a0:93:10:e9:9b:e3:c9:8d:3b:2d:ac:c4:bb:95: - 3b:e0:ca:55:32:dc:95:c2:10:b3:04:b2:51:fb:e8: - 85:61:16:34:a5:b4:1d:67:5c:a7:77:f4:f0:92:da: - b4:8b:af:95:93:62:f3:66:29:ae:c0:88:b7:64:84: - 0e:48:90:60:f8:60:3e:00:7f:54:dd:17:a6:ac:18: - e0:42:de:7c:be:90:81:f7:f4:05:85:0a:08:cc:d5: - f2:9f:fc:24:8b:77:a5:3d:e9:48:a9:ef:0f:3b:63: - a3:fe:a6:83:4c:e8:dc:0b:77 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 54:15:CD:9F:2C:F7:EC:0D:1F:D2:A8:BE:4C:07:AC:88:3E:FB:9B:0A - X509v3 Authority Key Identifier: - keyid:54:15:CD:9F:2C:F7:EC:0D:1F:D2:A8:BE:4C:07:AC:88:3E:FB:9B:0A - DirName:/C=US/ST=North Carolina/L=Research Triangle Park/O=Red Hat, Inc./OU=Red Hat Network Services/CN=RHNS Certificate Authority/Email=rhns@redhat.com - serial:00 - - X509v3 Basic Constraints: - CA:TRUE - Signature Algorithm: md5WithRSAEncryption - 93:01:88:88:67:67:91:8c:9e:d0:12:14:90:71:12:87:55:0a: - f2:52:1b:ad:f2:d3:07:1d:af:70:99:bb:b0:cd:80:23:c9:ed: - 2b:73:e9:63:b1:d0:b3:8c:60:c5:42:64:a6:c1:95:56:90:c5: - 35:06:03:58:f5:8e:2b:d9:f9:a9:a0:10:a9:99:f7:15:42:92: - a5:50:d7:11:07:f1:02:d5:e0:70:e4:55:6e:2a:ce:25:f8:5d: - cd:0b:2f:10:61:f8:f6:20:42:cc:c3:89:f8:8a:4f:82:24:12: - cf:39:7f:21:a8:2c:8d:52:97:52:c5:f7:5f:42:a5:87:09:66: - b0:cc ------BEGIN CERTIFICATE----- -MIIEMDCCA5mgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBxzELMAkGA1UEBhMCVVMx -FzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMR8wHQYDVQQHExZSZXNlYXJjaCBUcmlh -bmdsZSBQYXJrMRYwFAYDVQQKEw1SZWQgSGF0LCBJbmMuMSEwHwYDVQQLExhSZWQg -SGF0IE5ldHdvcmsgU2VydmljZXMxIzAhBgNVBAMTGlJITlMgQ2VydGlmaWNhdGUg -QXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9yaG5zQHJlZGhhdC5jb20wHhcNMDAw -ODIzMjI0NTU1WhcNMDMwODI4MjI0NTU1WjCBxzELMAkGA1UEBhMCVVMxFzAVBgNV -BAgTDk5vcnRoIENhcm9saW5hMR8wHQYDVQQHExZSZXNlYXJjaCBUcmlhbmdsZSBQ -YXJrMRYwFAYDVQQKEw1SZWQgSGF0LCBJbmMuMSEwHwYDVQQLExhSZWQgSGF0IE5l -dHdvcmsgU2VydmljZXMxIzAhBgNVBAMTGlJITlMgQ2VydGlmaWNhdGUgQXV0aG9y -aXR5MR4wHAYJKoZIhvcNAQkBFg9yaG5zQHJlZGhhdC5jb20wgZ8wDQYJKoZIhvcN -AQEBBQADgY0AMIGJAoGBAMBoKxIw4iEtIsZycVu/F6CTEOmb48mNOy2sxLuVO+DK -VTLclcIQswSyUfvohWEWNKW0HWdcp3f08JLatIuvlZNi82YprsCIt2SEDkiQYPhg -PgB/VN0XpqwY4ELefL6Qgff0BYUKCMzV8p/8JIt3pT3pSKnvDztjo/6mg0zo3At3 -AgMBAAGjggEoMIIBJDAdBgNVHQ4EFgQUVBXNnyz37A0f0qi+TAesiD77mwowgfQG -A1UdIwSB7DCB6YAUVBXNnyz37A0f0qi+TAesiD77mwqhgc2kgcowgccxCzAJBgNV -BAYTAlVTMRcwFQYDVQQIEw5Ob3J0aCBDYXJvbGluYTEfMB0GA1UEBxMWUmVzZWFy -Y2ggVHJpYW5nbGUgUGFyazEWMBQGA1UEChMNUmVkIEhhdCwgSW5jLjEhMB8GA1UE -CxMYUmVkIEhhdCBOZXR3b3JrIFNlcnZpY2VzMSMwIQYDVQQDExpSSE5TIENlcnRp -ZmljYXRlIEF1dGhvcml0eTEeMBwGCSqGSIb3DQEJARYPcmhuc0ByZWRoYXQuY29t -ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAkwGIiGdnkYye0BIU -kHESh1UK8lIbrfLTBx2vcJm7sM2AI8ntK3PpY7HQs4xgxUJkpsGVVpDFNQYDWPWO -K9n5qaAQqZn3FUKSpVDXEQfxAtXgcORVbirOJfhdzQsvEGH49iBCzMOJ+IpPgiQS -zzl/IagsjVKXUsX3X0KlhwlmsMw= ------END CERTIFICATE----- - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=US, ST=North Carolina, L=Raleigh, O=Red Hat, Inc., OU=Red Hat Network, CN=RHN Certificate Authority/Email=rhn-noc@redhat.com - Validity - Not Before: Sep 5 20:45:16 2002 GMT - Not After : Sep 9 20:45:16 2007 GMT - Subject: C=US, ST=North Carolina, L=Raleigh, O=Red Hat, Inc., OU=Red Hat Network, CN=RHN Certificate Authority/Email=rhn-noc@redhat.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:b3:16:b7:c5:f5:b9:69:51:1f:cd:b4:3d:70:cf: - 60:57:85:a4:2a:a7:5d:28:22:0e:ec:19:e2:92:f7: - 48:97:a6:a6:1f:51:95:83:11:8f:9a:98:a2:90:e0: - cb:4a:24:19:94:a8:8a:4b:88:b4:06:6c:ce:77:d7: - 15:3b:3c:cd:66:83:cf:23:1d:0d:bc:0a:0c:cb:1f: - cb:40:fb:f3:d9:fe:2a:b4:85:2c:7b:c9:a1:fe:f3: - 8f:68:1d:f2:12:b1:a4:16:19:ce:0f:b8:9a:9c:d9: - bc:5f:49:62:b2:95:93:ce:5d:2e:dd:79:3c:f1:5b: - a6:b7:a2:b5:39:0d:8e:12:31 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 7F:1B:64:A1:2E:02:C5:A8:7D:B8:D1:B1:8B:06:9D:A3:A9:50:63:92 - X509v3 Authority Key Identifier: - keyid:7F:1B:64:A1:2E:02:C5:A8:7D:B8:D1:B1:8B:06:9D:A3:A9:50:63:92 - DirName:/C=US/ST=North Carolina/L=Raleigh/O=Red Hat, Inc./OU=Red Hat Network/CN=RHN Certificate Authority/Email=rhn-noc@redhat.com - serial:00 - - X509v3 Basic Constraints: - CA:TRUE - Signature Algorithm: md5WithRSAEncryption - 28:4d:42:e5:34:22:dd:c6:86:63:04:75:52:67:17:45:72:f2: - 3b:21:2b:45:59:72:73:f7:59:36:9d:57:43:c6:dc:94:0f:0e: - ff:13:5c:4f:50:37:85:b2:e4:c2:1f:35:9f:74:f4:e7:53:fb: - a1:06:b8:39:ce:e4:0a:86:7b:5f:28:5d:c7:11:9e:12:a5:d6: - b9:6c:e9:18:09:d5:f0:42:e7:54:b5:91:9e:23:ad:12:7a:aa: - 72:7c:39:3c:83:f8:75:a4:7b:03:92:ff:2a:d4:c5:76:19:12: - fa:b4:3b:b0:89:2c:95:8c:01:90:0d:d8:ba:06:05:61:00:ac: - 95:da ------BEGIN CERTIFICATE----- -MIID7jCCA1egAwIBAgIBADANBgkqhkiG9w0BAQQFADCBsTELMAkGA1UEBhMCVVMx -FzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMRAwDgYDVQQHEwdSYWxlaWdoMRYwFAYD -VQQKEw1SZWQgSGF0LCBJbmMuMRgwFgYDVQQLEw9SZWQgSGF0IE5ldHdvcmsxIjAg -BgNVBAMTGVJITiBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEW -EnJobi1ub2NAcmVkaGF0LmNvbTAeFw0wMjA5MDUyMDQ1MTZaFw0wNzA5MDkyMDQ1 -MTZaMIGxMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExEDAO -BgNVBAcTB1JhbGVpZ2gxFjAUBgNVBAoTDVJlZCBIYXQsIEluYy4xGDAWBgNVBAsT -D1JlZCBIYXQgTmV0d29yazEiMCAGA1UEAxMZUkhOIENlcnRpZmljYXRlIEF1dGhv -cml0eTEhMB8GCSqGSIb3DQEJARYScmhuLW5vY0ByZWRoYXQuY29tMIGfMA0GCSqG -SIb3DQEBAQUAA4GNADCBiQKBgQCzFrfF9blpUR/NtD1wz2BXhaQqp10oIg7sGeKS -90iXpqYfUZWDEY+amKKQ4MtKJBmUqIpLiLQGbM531xU7PM1mg88jHQ28CgzLH8tA -+/PZ/iq0hSx7yaH+849oHfISsaQWGc4PuJqc2bxfSWKylZPOXS7deTzxW6a3orU5 -DY4SMQIDAQABo4IBEjCCAQ4wHQYDVR0OBBYEFH8bZKEuAsWofbjRsYsGnaOpUGOS -MIHeBgNVHSMEgdYwgdOAFH8bZKEuAsWofbjRsYsGnaOpUGOSoYG3pIG0MIGxMQsw -CQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExEDAOBgNVBAcTB1Jh -bGVpZ2gxFjAUBgNVBAoTDVJlZCBIYXQsIEluYy4xGDAWBgNVBAsTD1JlZCBIYXQg -TmV0d29yazEiMCAGA1UEAxMZUkhOIENlcnRpZmljYXRlIEF1dGhvcml0eTEhMB8G -CSqGSIb3DQEJARYScmhuLW5vY0ByZWRoYXQuY29tggEAMAwGA1UdEwQFMAMBAf8w -DQYJKoZIhvcNAQEEBQADgYEAKE1C5TQi3caGYwR1UmcXRXLyOyErRVlyc/dZNp1X -Q8bclA8O/xNcT1A3hbLkwh81n3T051P7oQa4Oc7kCoZ7XyhdxxGeEqXWuWzpGAnV -8ELnVLWRniOtEnqqcnw5PIP4daR7A5L/KtTFdhkS+rQ7sIkslYwBkA3YugYFYQCs -ldo= ------END CERTIFICATE----- - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: md5WithRSAEncryption - Issuer: C=US, ST=North Carolina, L=Raleigh, O=Red Hat, Inc., OU=Red Hat Network, CN=RHN Certificate Authority/emailAddress=rhn-noc@redhat.com - Validity - Not Before: Aug 29 02:10:55 2003 GMT - Not After : Aug 26 02:10:55 2013 GMT - Subject: C=US, ST=North Carolina, L=Raleigh, O=Red Hat, Inc., OU=Red Hat Network, CN=RHN Certificate Authority/emailAddress=rhn-noc@redhat.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:bf:61:63:eb:3d:8b:2b:45:48:e6:c2:fb:7c:d2: - 21:21:b8:ec:90:93:41:30:7c:2c:8d:79:d5:14:e9: - 0e:7e:3f:ef:d6:0a:9b:0a:a6:02:52:01:2d:26:96: - a4:ed:bd:a9:9e:aa:08:03:c1:61:0a:41:80:ea:ae: - 74:cc:61:26:d0:05:91:55:3e:66:14:a2:20:b3:d6: - 9d:71:0c:ab:77:cc:f4:f0:11:b5:25:33:8a:4e:22: - 9a:10:36:67:fa:11:6d:48:76:3a:1f:d2:e3:44:7b: - 89:66:be:b4:85:fb:2f:a6:aa:13:fa:9a:6d:c9:bb: - 18:c4:04:af:4f:15:69:89:9b - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 69:44:27:05:DC:2E:ED:A5:F4:81:C4:D7:78:45:E7:44:5D:F8:87:47 - X509v3 Authority Key Identifier: - keyid:69:44:27:05:DC:2E:ED:A5:F4:81:C4:D7:78:45:E7:44:5D:F8:87:47 - DirName:/C=US/ST=North Carolina/L=Raleigh/O=Red Hat, Inc./OU=Red Hat Network/CN=RHN Certificate Authority/emailAddress=rhn-noc@redhat.com - serial:00 - - X509v3 Basic Constraints: - CA:TRUE - Signature Algorithm: md5WithRSAEncryption - 23:c9:ca:07:9f:5e:96:39:83:e0:4e:da:dd:47:84:30:ca:d4: - d5:38:86:f9:de:88:83:ca:2c:47:26:36:ab:f4:14:1e:28:29: - de:7d:10:4a:5e:91:3e:5a:99:07:0c:a9:2e:e3:fb:78:44:49: - c5:32:d6:e8:7a:97:ff:29:d0:33:ae:26:ba:76:06:7e:79:97: - 17:0c:4f:2d:2a:8b:8a:ac:41:59:ae:e9:c4:55:2d:b9:88:df: - 9b:7b:41:f8:32:2e:ee:c9:c0:59:e2:30:57:5e:37:47:29:c0: - 2d:78:33:d3:ce:a3:2b:dc:84:da:bf:3b:2e:4b:b6:b3:b6:4e: - 9e:80 ------BEGIN CERTIFICATE----- -MIID7jCCA1egAwIBAgIBADANBgkqhkiG9w0BAQQFADCBsTELMAkGA1UEBhMCVVMx -FzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMRAwDgYDVQQHEwdSYWxlaWdoMRYwFAYD -VQQKEw1SZWQgSGF0LCBJbmMuMRgwFgYDVQQLEw9SZWQgSGF0IE5ldHdvcmsxIjAg -BgNVBAMTGVJITiBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEW -EnJobi1ub2NAcmVkaGF0LmNvbTAeFw0wMzA4MjkwMjEwNTVaFw0xMzA4MjYwMjEw -NTVaMIGxMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExEDAO -BgNVBAcTB1JhbGVpZ2gxFjAUBgNVBAoTDVJlZCBIYXQsIEluYy4xGDAWBgNVBAsT -D1JlZCBIYXQgTmV0d29yazEiMCAGA1UEAxMZUkhOIENlcnRpZmljYXRlIEF1dGhv -cml0eTEhMB8GCSqGSIb3DQEJARYScmhuLW5vY0ByZWRoYXQuY29tMIGfMA0GCSqG -SIb3DQEBAQUAA4GNADCBiQKBgQC/YWPrPYsrRUjmwvt80iEhuOyQk0EwfCyNedUU -6Q5+P+/WCpsKpgJSAS0mlqTtvameqggDwWEKQYDqrnTMYSbQBZFVPmYUoiCz1p1x -DKt3zPTwEbUlM4pOIpoQNmf6EW1Idjof0uNEe4lmvrSF+y+mqhP6mm3JuxjEBK9P -FWmJmwIDAQABo4IBEjCCAQ4wHQYDVR0OBBYEFGlEJwXcLu2l9IHE13hF50Rd+IdH -MIHeBgNVHSMEgdYwgdOAFGlEJwXcLu2l9IHE13hF50Rd+IdHoYG3pIG0MIGxMQsw -CQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExEDAOBgNVBAcTB1Jh -bGVpZ2gxFjAUBgNVBAoTDVJlZCBIYXQsIEluYy4xGDAWBgNVBAsTD1JlZCBIYXQg -TmV0d29yazEiMCAGA1UEAxMZUkhOIENlcnRpZmljYXRlIEF1dGhvcml0eTEhMB8G -CSqGSIb3DQEJARYScmhuLW5vY0ByZWRoYXQuY29tggEAMAwGA1UdEwQFMAMBAf8w -DQYJKoZIhvcNAQEEBQADgYEAI8nKB59eljmD4E7a3UeEMMrU1TiG+d6Ig8osRyY2 -q/QUHigp3n0QSl6RPlqZBwypLuP7eERJxTLW6HqX/ynQM64munYGfnmXFwxPLSqL -iqxBWa7pxFUtuYjfm3tB+DIu7snAWeIwV143RynALXgz086jK9yE2r87Lku2s7ZO -noA= ------END CERTIFICATE----- diff --git a/vendor/php-payments/vendor/amazon_simplepay/LICENSE.txt b/vendor/php-payments/vendor/amazon_simplepay/LICENSE.txt deleted file mode 100755 index 2ac2259b4351..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/LICENSE.txt +++ /dev/null @@ -1,51 +0,0 @@ -Apache License -Version 2.0, January 2004 - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - - 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and - 2. You must cause any modified files to carry prominent notices stating that You changed the files; and - 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. - -You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS diff --git a/vendor/php-payments/vendor/amazon_simplepay/NOTICE.txt b/vendor/php-payments/vendor/amazon_simplepay/NOTICE.txt deleted file mode 100755 index 06fcbef20ddd..000000000000 --- a/vendor/php-payments/vendor/amazon_simplepay/NOTICE.txt +++ /dev/null @@ -1,5 +0,0 @@ -FPS PHP5 Library -Copyright 2008-2010 Amazon Technologies, Inc - -This product includes software developed by -Amazon Technologies, Inc (http://www.amazon.com/). diff --git a/vendor/php-payments/vendor/google_checkout/CHANGELOG b/vendor/php-payments/vendor/google_checkout/CHANGELOG deleted file mode 100755 index 1773f0a5b228..000000000000 --- a/vendor/php-payments/vendor/google_checkout/CHANGELOG +++ /dev/null @@ -1,62 +0,0 @@ -Google Checkout PHP Sample Code - -CHANGELOG: -========== - -v1.3.1 09/13/2010 (pying) - - Fixed require_once path issue - - Fixed generated HTML to be w3c compliant - - Modifed S2S post error messages to return error message instead of - full response body - -v1.3 06/29/2010(pying) - - Fixed server to server posting bug - - Added polling api beta - - Added subscriptions beta - - Added notification history api beta - - Added support for API V2.5 - - Added option to generate signed HTML API carts - -v1.2.5a 09/27/2007 (ropu) - - Fixed bugs in Line-Item Shipping - - Added Line-Item Shipping demos - -v1.2.5 09/25/2007 (ropu) - - Added Carrier Calculation Support - - Added Line-Item Shipping - - Updated posting URLs - - Added PHP Docs - - Modified xml-processing/* class names to avoid conflics - - Added buyNow button support CheckoutButtonNowCode() - -v1.2.1 beta 07/17/2007 (ropu) - - Added Digital Delivery support - - Added server 2 server Checkout API Requests - - Improved demo/* files - - Added digital and server 2 server examples (digitalCart.php and DigitalUsecase()) - - Minor bug fixes - -v1.2 beta 06/12/2007 (ropu) - - Added a log class with log levels (error, request, response) (GoogleLog) - - Split log file into error and response log files - - Added Correct HTTP status (2xx, 4xx, 5xx) return when errors occurrs with - the correct message - - Added Google Analytics Tracking - - Added 3rd party Tracking - - Added CheckoutAcceptanceLogo() to GoogleCart class - - Changed the XMLParser - - Added CheckoutHTMLButtonCode() to print a HTML API Google Checkout Button - - Added the "What is Google Checkout?" text under the GButton (configurable) - - Splited GoogleReponse class into GoogleResponse and GoogleRequest - - Improved the HttpAuthentication() method in the GoogleResponse class to - handle apache and ISS Basic authentication. Remove GetAllHeaders(). - - Escape and chunk GoogleMessages to avoid errors - - Added proxy support for GoogleRequest class (Order Processing API) - - Added MerchantPrivateData and MerchantPrivateItemData classes to allow - sending XML tags inside those tags. - - Added the AddAllowed*() and AddExcluded*() methods to GoogleShippingFilters - class - - Added CHANGELOG file - - Added TODO file - - Changed demo/* files to show the usage of v1.2 - - Added unitTest (everyone is invited to add more test to improve coverage :) diff --git a/vendor/php-payments/vendor/google_checkout/README b/vendor/php-payments/vendor/google_checkout/README deleted file mode 100755 index ebb3b88fe4ff..000000000000 --- a/vendor/php-payments/vendor/google_checkout/README +++ /dev/null @@ -1,165 +0,0 @@ -Sample PHP code for integration of Google Checkout with the merchant site v1.3.0 --------------------------------------------------------------------------- - File structure and function - ---------------------------- - -There are two folders and a log file in the top level directory of -google-checkout-php-sample. - - -1. "demo" directory: - - a)cartdemo.php: - --------------- - This file demonstrates the steps required to add items, shipping, taxes and - merchant-calculations to the cart before it is posted to the Checkout server. - There are three use case functions defined with different settings for - shipping and taxes along with different button usages. - Check new DigitalUsecase() in order to use the new Digital Delivery API and the - Server 2 Server API Checkout Request - Check CarrierCalcUsecase() for examples of Carrier Calculation Shipping - - b)responsehandler.php: - ---------------------- - This file will be used to handle the notifications, callbacks and order - processing steps. - The path for this file must be specified in the merchant's API callback - URL in Settings->Integration of the merchant's seller account. - This file can be used as is and modified by the merchant as per their - business workflow details. - Some of the intial steps performed in this file include collecting the - XML response, request that has been received and get a parsed result in a - PHP associative array for easy accesibility - (For details of parse output refer xmlparser.php which has an - example of how an XML maps to the object). - Order processing can be done using the SendProcessOrder(..) type of - methods provided in googleresponse.php. Some sample order processing - command invocations have been provided as comments in the code - - c)digitalCart.php: - ------------------- - This is an implementation of the server2server API Checkout Request - http://code.google.com/apis/checkout/developer/index.html#alternate_technique - It also implements the latest digital delivery API - http://code.google.com/apis/checkout/developer/Google_Checkout_Digital_Delivery.html - - d)lineItemShipping.php: - ---------------------- - This provides an example to ship individual items in an order separately. - - e)pollingdemo.php - --------------------- - Demonstrates using the beta polling API. The polling API allows you to poll for notifications instead of - listening for a notification from the Checkout servers. - - f)subscriptiondemo.php - ----------------------- - Demonstrates using the beta subscription API. The API allows for 2 methods of charing a subscription, - merchant handled and Google Handled. With Google handled the merchant specifies the period and Google - automatically recurs the payment for the merchant. With Merchant handled, the merchant needs to send - a request using merchantsubscriptionrecurrencedemo.php to recur the subscription. - - e)merchantsubscriptionrecurrencedemo.php - As described previously this recurs a subscription - - g)basicapiresponsehandlerdemo.php - This php file provides a response handler for API V2.5 notifications. You'll need to specify the - path in your Integration settings to this file. - -2. "library" directory: -This contains the classes defined to describe the API structure so as to easily -define and add XML entries by defining objects of these classes. - - a) googlecart.php: - ------------------ - This is the main class which must be instantiated to post a cart. - It requires a merchant ID, Key, which server is to be used for the transactions - (Sandbox or Production), and currency. - It also has methods to add items, shipping options, tax options and - merchant-calculation details. - - b) googleitem.php: - ------------------ - This class is instantiated for every item to be added to the cart. - It requires the item name, description, price and quantity to be specified. - - c) googleshipping.php: - ---------------------- - These classes are used for shipping methods that will be added to the cart. - It requires the shipping name and price to be specified. - Other methods allow specification of the shipping restrictions. - - d) googletax.php: - --------------------- - These classes are used to define tax rules for the tax tables. These may be - rules for default or alternate tax tables. Methods have been provided to add - country codes and postal areas. - - e) googleresponse.php: - ---------------------- - An instance of this class is created in the responsehandlerdemo.php. - This again requires the merchant ID and merchant Key to be specified. - All notifications are parsed and the merchant can take required action - when a particular notification is received. - - f) googlerequest.php: - ---------------------- - An instance of this class is created in the responsehandlerdemo.php. - This again requires the merchant ID and merchant Key to be specified. - There are methods provided to send all the different order processing - commands. - - g) googlelog.php: - ---------------------- - This Class provides all the loggin for the Notification sent and received from - the Google Checkout Integration. There are several log levels. - - h) googleresult.php: - -------------------- - This class is used for merchant-calculations and is invoked for - each result in the merchant-calculations-result sent from the - merchant in response to a callback. - - i) googlemerchantcalculations.php: - ---------------------------------- - In order to process merchant calculations, an instance of this - class is created. It is used to aggregate merchant results and - respond with the XML response for the callback. - - j) googlesubscription.php - ------------------------- - This class handles the subscriptions for Google Checkout. - - k) googlepoll.php - This class generates the polling requests. - - l) googlenotificationhistory.php - This class generates the notification history requests. - - l) "xml-processing" directory: - ------------------------------ - - i) gc_xmlbuilder.php: - ----------------- - This class generates XML and consists of "push" and "pop" - methods to add open and close tags respectively. - This is used internally by the library classes to generate - XML file for posting carts. - - ii)gc_xmlparser.php: - ----------------- - This class parses XML documents using the SAX parser and is - compatible with PHP v4 and 5. It converts them to DOM form - returning the XML data in a PHP associative array. - This is used internally by the library classes to parse - XML requests and responses that are received from the - Checkout server. - -3. Log files: - a. googleerror.log: - The log file records all the errors in the integration with Google Checkout API - system - b. googlemessage.log: - The log file records all the notification and order processing commands that are - sent and received and can be useful information for debugging purposes. - diff --git a/vendor/php-payments/vendor/google_checkout/TODO b/vendor/php-payments/vendor/google_checkout/TODO deleted file mode 100755 index 000c010d9e4f..000000000000 --- a/vendor/php-payments/vendor/google_checkout/TODO +++ /dev/null @@ -1,7 +0,0 @@ -Google Checkout PHP Sample Code (v1.3.0) (06/29/2010) - -TODO: -===== - - - Add more Unit Tests - - Compartmentalize code and add XML generation to each component \ No newline at end of file diff --git a/vendor/php-payments/vendor/google_checkout/UPGRADE b/vendor/php-payments/vendor/google_checkout/UPGRADE deleted file mode 100755 index 05df1ff38012..000000000000 --- a/vendor/php-payments/vendor/google_checkout/UPGRADE +++ /dev/null @@ -1,17 +0,0 @@ -Google Checkout PHP Sample Code (v1.2.5) (09/25/2007) - -UPGRADE FROM v1.2.1 - -Modified demo/cartdemo.php -Modified library/googlecart.php -Modified library/googleitem.php -Modified library/googlemerchantcalculations.php -Modified library/googlerequest.php -Modified library/googleresponse.php -Modified library/googleresult.php -Modified library/googleshipping.php -Modified library/googletax.php -Modified TODO -Modified CHANGELOG -Modified README -Modified UPGRADE diff --git a/vendor/php-payments/vendor/google_checkout/demo/basicapiresponsehandlerdemo.php b/vendor/php-payments/vendor/google_checkout/demo/basicapiresponsehandlerdemo.php deleted file mode 100755 index 25f5184fb84e..000000000000 --- a/vendor/php-payments/vendor/google_checkout/demo/basicapiresponsehandlerdemo.php +++ /dev/null @@ -1,168 +0,0 @@ -Integration as the - * "API Callback URL" - * Order processing commands can be sent automatically by placing these - * commands appropriately. The charge and ship example is provided for you. - * - */ - - chdir(".."); - require_once('library/googleresponse.php'); - require_once('library/googlemerchantcalculations.php'); - require_once('library/googlerequest.php'); - require_once('library/googlenotificationhistory.php'); - - define('RESPONSE_HANDLER_ERROR_LOG_FILE', 'googleerror.log'); - define('RESPONSE_HANDLER_LOG_FILE', 'googlemessage.log'); - - //Definitions - $merchant_id = ""; // Your Merchant ID - $merchant_key = ""; // Your Merchant Key - $server_type = "sandbox"; // change this to go live - $currency = 'USD'; // set to GBP if in the UK - - //Create the response object - $Gresponse = new GoogleResponse($merchant_id, $merchant_key); - - //Setup the log file - $Gresponse->SetLogFiles('', '', L_OFF); //Change this to L_ON to log - - //Retrieve the XML sent in the HTTP POST request to the ResponseHandler - $xml_response = isset($HTTP_RAW_POST_DATA)? - $HTTP_RAW_POST_DATA:file_get_contents("php://input"); - - //If serial-number-notification pull serial number and request xml - if(strpos($xml_response, "xml") == FALSE){ - //Find serial-number ack notification - $serial_array = array(); - parse_str($xml_response, $serial_array); - $serial_number = $serial_array["serial-number"]; - - //Request XML notification - $Grequest = new GoogleNotificationHistoryRequest($merchant_id, $merchant_key, $server_type); - $raw_xml_array = $Grequest->SendNotificationHistoryRequest($serial_number); - if ($raw_xml_array[0] != 200){ - //Add code here to retry with exponential backoff - } else { - $raw_xml = $raw_xml_array[1]; - } - $Gresponse->SendAck($serial_number, false); - } - else{ - //Else assume pre 2.5 XML notification - //Check Basic Authentication - $Gresponse->SetMerchantAuthentication($merchant_id, $merchant_key); - $status = $Gresponse->HttpAuthentication(); - if(! $status) { - die('authentication failed'); - } - $raw_xml = $xml_response; - $Gresponse->SendAck(null, false); - } - - if (get_magic_quotes_gpc()) { - $raw_xml = stripslashes($raw_xml); - } - - //Parse XML to array - list($root, $data) = $Gresponse->GetParsedXML($raw_xml); - - /* Commands to send the various order processing APIs - * Send charge order : $Grequest->SendChargeOrder($data[$root] - * ['google-order-number']['VALUE'], ); - * Send process order : $Grequest->SendProcessOrder($data[$root] - * ['google-order-number']['VALUE']); - * Send deliver order: $Grequest->SendDeliverOrder($data[$root] - * ['google-order-number']['VALUE'], , , - * ); - * Send archive order: $Grequest->SendArchiveOrder($data[$root] - * ['google-order-number']['VALUE']); - * - */ - switch($root){ - case "new-order-notification": { - break; - } - case "risk-information-notification": { - break; - } - case "charge-amount-notification": { - break; - } - case "authorization-amount-notification": { - $google_order_number = $data[$root]['google-order-number']['VALUE']; - $tracking_data = array("Z12345" => "UPS", "Y12345" => "Fedex"); - $GChargeRequest = new GoogleRequest($merchant_id, $merchant_key, $server_type); - $GChargeRequest->SendChargeAndShipOrder($google_order_number, $tracking_data); - break; - } - case "refund-amount-notification": { - break; - } - case "chargeback-amount-notification": { - break; - } - case "order-numbers": { - break; - } - case "invalid-order-numbers": { - break; - } - case "order-state-cahnge-notification": { - break; - } - default: { - break; - } - } - - /* In case the XML API contains multiple open tags - with the same value, then invoke this function and - perform a foreach on the resultant array. - This takes care of cases when there is only one unique tag - or multiple tags. - Examples of this are "anonymous-address", "merchant-code-string" - from the merchant-calculations-callback API - */ - function get_arr_result($child_node) { - $result = array(); - if(isset($child_node)) { - if(is_associative_array($child_node)) { - $result[] = $child_node; - } - else { - foreach($child_node as $curr_node){ - $result[] = $curr_node; - } - } - } - return $result; - } - - /* Returns true if a given variable represents an associative array */ - function is_associative_array( $var ) { - return is_array( $var ) && !is_numeric( implode( '', array_keys( $var ) ) ); - } -?> diff --git a/vendor/php-payments/vendor/google_checkout/demo/cartdemo.php b/vendor/php-payments/vendor/google_checkout/demo/cartdemo.php deleted file mode 100755 index b64ff4132408..000000000000 --- a/vendor/php-payments/vendor/google_checkout/demo/cartdemo.php +++ /dev/null @@ -1,402 +0,0 @@ -Standard Checkout Request"; - $merchant_id = ""; // Your Merchant ID - $merchant_key = ""; // Your Merchant Key - $server_type = "sandbox"; - $currency = "USD"; - $cart = new GoogleCart($merchant_id, $merchant_key, $server_type, - $currency); - $total_count = 12; - - $item_1 = new GoogleItem("item name", // Item name - "item desc", // Item description - $total_count, // Quantity - 10); // Unit price - $cart->AddItem($item_1); - - // Add shipping options - if($total_count < 3){ - $ship_1 = new GoogleFlatRateShipping("USPS Priority Mail", 4.55); - }else{ - $ship_1 = new GoogleFlatRateShipping("USPS Priority Mail", 6.2); - } - $Gfilter = new GoogleShippingFilters(); - $Gfilter->SetAllowedCountryArea('CONTINENTAL_48'); - - $ship_1->AddShippingRestrictions($Gfilter); - - $cart->AddShipping($ship_1); - - // Add tax rules - $tax_rule = new GoogleDefaultTaxRule(0.05); - $tax_rule->SetStateAreas(array("MA")); - $cart->AddDefaultTaxRules($tax_rule); - - // Specify - $cart->SetEditCartUrl("https://www.example.com/cart/"); - - // Specify "Return to xyz" link - $cart->SetContinueShoppingUrl("https://www.example.com/goods/"); - - // Request buyer's phone number - $cart->SetRequestBuyerPhone(true); - - // Display Google Checkout button - echo $cart->CheckoutButtonCode("SMALL"); - } - -// The idea of this usecase is to show how to implement Server2Server -// Checkout API Requests -// http://code.google.com/apis/checkout/developer/index.html#alternate_technique -// It will only display the GC button, and when you click on it it will redirect -// to a script ('digitalCart.php') that will create the cart, send it to google -// Checkout and redirect the buyer to the corresponding page - function DigitalUsecase() { - echo "

            Server 2 Server Checkout Request

            "; - $merchant_id = ""; // Your Merchant ID - $merchant_key = ""; // Your Merchant Key - $server_type = "sandbox"; - $currency = "USD"; - $cart = new GoogleCart($merchant_id, $merchant_key, $server_type,$currency); - - echo $cart->CheckoutServer2ServerButton('digitalCart.php'); - } - - function CarrierCalcUsecase() { - echo "

            Carrier Calculation Checkout Request

            "; - // Create a new shopping cart object - $merchant_id = ""; // Your Merchant ID - $merchant_key = ""; // Your Merchant Key - $server_type = "sandbox"; - $currency = "USD"; - $cart = new GoogleCart($merchant_id, $merchant_key, $server_type, $currency); - - // Add items to the cart - $item_1 = new GoogleItem("MegaSound 2GB MP3 Player", // Item name - "Portable MP3 player - stores 500 songs", // Item description - 2, // Quantity - 175.49,// Unit price - 'LB', - 15); //weigth - $item_1->SetMerchantItemId('MS_2GB'); - $item_2 = new GoogleItem("AA Rechargeable Battery Pack", - "Battery pack containing four AA rechargeable batteries", - 1 , // Quantity - 11.59,// Unit price - 'LB', - 10); //weigth - $item_2->SetMerchantItemId('AAR_BP'); - $cart->AddItem($item_1); - $cart->AddItem($item_2); - - $ship_from = new GoogleShipFrom('Store_origin', - 'Miami', - 'US', - '33102', - 'FL'); - $GSPackage = new GoogleShippingPackage($ship_from,1,2,3,'IN'); - $Gshipping = new GoogleCarrierCalculatedShipping('Carrier_shipping'); - $Gshipping->addShippingPackage($GSPackage); - - $CCSoption = new GoogleCarrierCalculatedShippingOption("10.99", "FedEx", "Ground", "0.99"); - $Gshipping->addCarrierCalculatedShippingOptions($CCSoption); - $CCSoption = new GoogleCarrierCalculatedShippingOption("22.99", "FedEx", "Express Saver"); - $Gshipping->addCarrierCalculatedShippingOptions($CCSoption); - $CCSoption = new GoogleCarrierCalculatedShippingOption("24.99", "FedEx", "2Day", "0", "10", 'REGULAR_PICKUP'); - $Gshipping->addCarrierCalculatedShippingOptions($CCSoption); - - $CCSoption = new GoogleCarrierCalculatedShippingOption("11.99", "UPS", "Ground", "0.99", "5", 'REGULAR_PICKUP'); - $Gshipping->addCarrierCalculatedShippingOptions($CCSoption); - $CCSoption = new GoogleCarrierCalculatedShippingOption("18.99", "UPS", "3 Day Select"); - $Gshipping->addCarrierCalculatedShippingOptions($CCSoption); - $CCSoption = new GoogleCarrierCalculatedShippingOption("20.99", "UPS", "Next Day Air", "0", "10", 'REGULAR_PICKUP'); - $Gshipping->addCarrierCalculatedShippingOptions($CCSoption); - - $CCSoption = new GoogleCarrierCalculatedShippingOption("9.99", "USPS", "Media Mail", "0", "2", 'REGULAR_PICKUP'); - $Gshipping->addCarrierCalculatedShippingOptions($CCSoption); - $CCSoption = new GoogleCarrierCalculatedShippingOption("15.99", "USPS", "Parcel Post"); - $Gshipping->addCarrierCalculatedShippingOptions($CCSoption); - $CCSoption = new GoogleCarrierCalculatedShippingOption("18.99", "USPS", "Express Mail", "2.99", "10", 'REGULAR_PICKUP'); - $Gshipping->addCarrierCalculatedShippingOptions($CCSoption); - - $cart->AddShipping($Gshipping); - - $ship_1 = new GoogleFlatRateShipping("Flat Rate", 5.0); - $restriction_1 = new GoogleShippingFilters(); - $restriction_1->SetAllowedCountryArea("CONTINENTAL_48"); - $ship_1->AddShippingRestrictions($restriction_1); - $cart->AddShipping($ship_1); - - // Add US tax rules - $tax_rule_1 = new GoogleDefaultTaxRule(0.0825); - $tax_rule_1->SetStateAreas(array("CA", "NY")); - $cart->AddDefaultTaxRules($tax_rule_1); - - // Add International tax rules - $tax_rule_2 = new GoogleDefaultTaxRule(0.15); - $tax_rule_2->AddPostalArea("GB"); - $tax_rule_2->AddPostalArea("FR"); - $tax_rule_2->AddPostalArea("DE"); - $cart->AddDefaultTaxRules($tax_rule_2); - - // Define rounding policy - $cart->AddRoundingPolicy("HALF_UP", "PER_LINE"); - - // Display XML data -// echo "
            ";
            -//     echo htmlentities($cart->GetXML());
            -//     echo "
            "; - - // Display Google Checkout button - echo $cart->CheckoutButtonCode("LARGE"); - } - - function UseCase1() { - // Create a new shopping cart object - $merchant_id = ""; // Your Merchant ID - $merchant_key = ""; // Your Merchant Key - $server_type = "sandbox"; - $currency = "USD"; - $cart = new GoogleCart($merchant_id, $merchant_key, $server_type, $currency); - - // Add items to the cart - $item_1 = new GoogleItem("MegaSound 2GB MP3 Player", // Item name - "Portable MP3 player - stores 500 songs", // Item description - 1, // Quantity - 175.49); // Unit price - $item_2 = new GoogleItem("AA Rechargeable Battery Pack", - "Battery pack containing four AA rechargeable batteries", - 1 , // Quantity - 11.59); // Unit price - $cart->AddItem($item_1); - $cart->AddItem($item_2); - - // Add US shipping options - $ship_1 = new GoogleFlatRateShipping("UPS Ground", 5.0); - $restriction_1 = new GoogleShippingFilters(); - $restriction_1->SetAllowedCountryArea("CONTINENTAL_48"); - $ship_1->AddShippingRestrictions($restriction_1); - - $ship_2 = new GoogleFlatRateShipping("UPS 2nd Day", 10.0); - $restriction_2 = new GoogleShippingFilters(); - $restriction_2->SetAllowedStateAreas(array('fl', "CA", "AZ", "CO", "WA", "OR")); - $ship_2->AddShippingRestrictions($restriction_2); - - // Add international shipping options - $ship_3 = new GoogleFlatRateShipping("Canada 3 Business Days", 5.0); - $restriction_3 = new GoogleShippingFilters(); - $restriction_3->AddAllowedPostalArea("CA"); - $restriction_3->SetAllowUsPoBox(false); - $ship_3->AddShippingRestrictions($restriction_3); - - $ship_4 = new GoogleFlatRateShipping("Europe 3 Business Days", 10.0); - $restriction_4 = new GoogleShippingFilters(); - $restriction_4->AddAllowedPostalArea("GB", "SW*"); - $ship_4->AddShippingRestrictions($restriction_4); - - $cart->AddShipping($ship_1); - $cart->AddShipping($ship_2); - $cart->AddShipping($ship_3); - $cart->AddShipping($ship_4); - - // Add US tax rules - $tax_rule_1 = new GoogleDefaultTaxRule(0.0825); - $tax_rule_1->SetStateAreas(array("CA", "NY")); - $cart->AddDefaultTaxRules($tax_rule_1); - - // Add International tax rules - $tax_rule_2 = new GoogleDefaultTaxRule(0.15); - $tax_rule_2->AddPostalArea("GB"); - $tax_rule_2->AddPostalArea("FR"); - $tax_rule_2->AddPostalArea("DE"); - $cart->AddDefaultTaxRules($tax_rule_2); - - // Define rounding policy - $cart->AddRoundingPolicy("HALF_UP", "PER_LINE"); - - // Display XML data - // echo "
            ";
            -    // echo htmlentities($cart->GetXML());
            -    // echo "
            "; - - // Display Google Checkout button - echo $cart->CheckoutButtonCode("LARGE"); - } - - function UseCase2() { - // Create a new shopping cart object - $merchant_id = ""; // Your Merchant ID - $merchant_key = ""; // Your Merchant Key - $server_type = "sandbox"; - $currency = "USD"; - $cart = new GoogleCart($merchant_id, $merchant_key, $server_type, $currency); - - // Add items to the cart - $item_1 = new GoogleItem("Dry Food Pack AA1453", - "A pack of highly nutritious dried food for emergency", 2, 24.99); - $item_1->SetTaxTableSelector("food"); - - $item_2 = new GoogleItem("MegaSound 2GB MP3 Player", - "Portable MP3 player - stores 500 songs", 1, 175.49); - $item_2->SetMerchantPrivateItemData( - new MerchantPrivateItemData(array("color" => "blue", - "weight" => "3.2"))); - $item_2->SetMerchantItemId("Item#012345"); - - $cart->AddItem($item_1); - $cart->AddItem($item_2); - - // Add shipping options - $ship_1 = new GoogleFlatRateShipping("Ground", 15); - $restriction_1 = new GoogleShippingFilters(); - $restriction_1->SetAllowedWorldArea(true); - $ship_1->AddShippingRestrictions($restriction_1); - - $ship_2 = new GooglePickup("Pick Up", 5); - - $cart->AddShipping($ship_1); - $cart->AddShipping($ship_2); - - // Add default tax rules - $tax_rule_1 = new GoogleDefaultTaxRule(0.17); - $tax_rule_1->AddPostalArea("GB", "SW*"); - $tax_rule_1->AddPostalArea("FR"); - $tax_rule_1->AddPostalArea("DE"); - - $tax_rule_2 = new GoogleDefaultTaxRule(0.10); - $tax_rule_2->SetWorldArea(true); - - $cart->AddDefaultTaxRules($tax_rule_1); - $cart->AddDefaultTaxRules($tax_rule_2); - - // Add alternate tax table - $tax_table = new GoogleAlternateTaxTable("food"); - - $tax_rule_1 = new GoogleAlternateTaxRule(0.05); - $tax_rule_1->AddPostalArea("GB"); - $tax_rule_1->AddPostalArea("FR"); - $tax_rule_1->AddPostalArea("DE"); - - $tax_rule_2 = new GoogleAlternateTaxRule(0.03); - $tax_rule_2->SetWorldArea(true); - - $tax_table->AddAlternateTaxRules($tax_rule_1); - $tax_table->AddAlternateTaxRules($tax_rule_2); - - $cart->AddAlternateTaxTables($tax_table); - - // Add - $cart->SetMerchantPrivateData( - new MerchantPrivateData(array("cart-id" => "ABC123"))); - - // Specify - $cart->SetEditCartUrl("http://www.example.com/edit"); - - // Specify "Return to xyz" link - $cart->SetContinueShoppingUrl("http://www.example.com/continue"); - - // Request buyer's phone number - $cart->SetRequestBuyerPhone(true); - - // Define rounding policy - $cart->AddRoundingPolicy("CEILING", "TOTAL"); - - // Display XML data - // echo "
            ";
            -    // echo htmlentities($cart->GetXML());
            -    // echo "
            "; - - // Display a medium size button - echo $cart->CheckoutButtonCode("MEDIUM"); - } - - function UseCase3() { - //Create a new shopping cart object - $merchant_id = ""; // Your Merchant ID - $merchant_key = ""; // Your Merchant Key - $server_type = "sandbox"; - $currency = "USD"; - $cart = new GoogleCart($merchant_id, $merchant_key, $server_type, $currency); - - // Add items to the cart - $item = new GoogleItem("MegaSound 2GB MP3 Player", - "Portable MP3 player - stores 500 songs", 1, 175.49); - $item->SetMerchantPrivateItemData("blue3.2"); - $cart->AddItem($item); - - // Add merchant calculations options - $cart->SetMerchantCalculations( - "http://200.69.205.154/~brovagnati/tools/unitTest/demo/responsehandlerdemo.php", // merchant-calculations-url - "false", // merchant-calculated tax - "true", // accept-merchant-coupons - "true"); // accept-merchant-gift-certificates - - // Add merchant-calculated-shipping option - $ship = new GoogleMerchantCalculatedShipping("2nd Day Air", // Shippping method - 10.00); // Default, fallback price - - $restriction = new GoogleShippingFilters(); - $restriction->AddAllowedPostalArea("GB"); - $restriction->AddAllowedPostalArea("US"); - $restriction->SetAllowUsPoBox(false); - $ship->AddShippingRestrictions($restriction); - - $address_filter = new GoogleShippingFilters(); - $address_filter->AddAllowedPostalArea("GB"); - $address_filter->AddAllowedPostalArea("US"); - $address_filter->SetAllowUsPoBox(false); - $ship->AddAddressFilters($address_filter); - - $cart->AddShipping($ship); - - // Set default tax options - $tax_rule = new GoogleDefaultTaxRule(0.15); - $tax_rule->SetWorldArea(true); - $cart->AddDefaultTaxRules($tax_rule); - - $cart->AddRoundingPolicy("UP", "TOTAL"); - - // Display XML data - // echo "
            ";
            -    // echo htmlentities($cart->GetXML());
            -    // echo "
            "; - - // Display a disabled, small button - echo $cart->CheckoutButtonCode("SMALL", false); - } - -?> diff --git a/vendor/php-payments/vendor/google_checkout/demo/digitalCart.php b/vendor/php-payments/vendor/google_checkout/demo/digitalCart.php deleted file mode 100755 index 28de9d4b1101..000000000000 --- a/vendor/php-payments/vendor/google_checkout/demo/digitalCart.php +++ /dev/null @@ -1,82 +0,0 @@ -SetURLDigitalContent('http://example.com/download.php?id=15', - 'S/N: 123.123123-3213', - "Download Item1"); - $cart->AddItem($item_1); -// Email delivery - $item_2 = new GoogleItem("Email Digital Item2", // Item name - "An email will be sent by the merchant", // Item description - $total_count, // Quantity - 9.19); // Unit price - $item_2->SetEmailDigitalDelivery('true'); - $cart->AddItem($item_2); - - // Add tax rules - $tax_rule = new GoogleDefaultTaxRule(0.05); - $tax_rule->SetStateAreas(array("MA", "FL", "CA")); - $cart->AddDefaultTaxRules($tax_rule); - - // Specify - $cart->SetEditCartUrl("https://www.example.com/cart/"); - - // Specify "Return to xyz" link - $cart->SetContinueShoppingUrl("https://www.example.com/goods/"); - - // Request buyer's phone number - $cart->SetRequestBuyerPhone(true); - -// Add analytics data to the cart if its setted - if(isset($_POST['analyticsdata']) && !empty($_POST['analyticsdata'])){ - $cart->SetAnalyticsData($_POST['analyticsdata']); - } -// This will do a server-2-server cart post and send an HTTP 302 redirect status -// This is the best way to do it if implementing digital delivery -// More info http://code.google.com/apis/checkout/developer/index.html#alternate_technique - list($status, $error) = $cart->CheckoutServer2Server(); - // if i reach this point, something was wrong - echo "An error had ocurred:
            HTTP Status: " . $status. ":"; - echo "
            Error message:
            "; - echo $error; -// -} -?> \ No newline at end of file diff --git a/vendor/php-payments/vendor/google_checkout/demo/lineItemShipping.php b/vendor/php-payments/vendor/google_checkout/demo/lineItemShipping.php deleted file mode 100755 index f4993f38f75b..000000000000 --- a/vendor/php-payments/vendor/google_checkout/demo/lineItemShipping.php +++ /dev/null @@ -1,58 +0,0 @@ -AddTrackingData('USPS','123123adjsh123'); - $item2 = new GoogleShipItem('SKU_2'); - $item2->AddTrackingData('USPS','123123adjsh123'); - $item2->AddTrackingData('fedex','adajs549p80789163'); - - $items = array($item1, - $item2, - new GoogleShipItem('SKU_3', array(array('carrier' => 'DHL', - 'tracking-number' => 'akjshdj12323'), - array('carrier' => 'USPS', - 'tracking-number' => 'aasd4a4sd465a3'))), - new GoogleShipItem('SKU_4', array(array('carrier' => 'UPS', - 'tracking-number' => '09876543231'))), - ); - - $Grequest->SendShipItems('123456789', $items); - $Grequest->SendCancelItems('123456789', array($item1, $item2), "reason", "comment"); - $Grequest->SendReturnItems('123456789', $items); - -?> \ No newline at end of file diff --git a/vendor/php-payments/vendor/google_checkout/demo/merchantsubscriptionrecurrencedemo.php b/vendor/php-payments/vendor/google_checkout/demo/merchantsubscriptionrecurrencedemo.php deleted file mode 100755 index 38121af649fe..000000000000 --- a/vendor/php-payments/vendor/google_checkout/demo/merchantsubscriptionrecurrencedemo.php +++ /dev/null @@ -1,43 +0,0 @@ -SetCurrency($currency); - $items = array($item1); - $Grequest->SendRecurrenceRequest($google_order_id, $items); -?> \ No newline at end of file diff --git a/vendor/php-payments/vendor/google_checkout/demo/pollingdemo.php b/vendor/php-payments/vendor/google_checkout/demo/pollingdemo.php deleted file mode 100755 index 874e81478d38..000000000000 --- a/vendor/php-payments/vendor/google_checkout/demo/pollingdemo.php +++ /dev/null @@ -1,48 +0,0 @@ - -SetStartTime("2008-04-01T18:25:31"); -$contToken = $tokenRequest->RequestToken(); - -if($contToken !="false") { - $poll = new GooglePoll($merchant_id, $merchant_key, $environment, $contToken); - $poll->GetAllNotifications(false); - $pollSuccessful = $poll->RequestData(); - - if($pollSuccessful == true) { - $notifications = $poll->GetNotifications(); - - echo "Total Number of Notifications retrieved: " .sizeof($notifications) ."

            "; - - foreach($notifications as $notification) { - print_r($notification ); - echo "

            "; - } - } -} -?> \ No newline at end of file diff --git a/vendor/php-payments/vendor/google_checkout/demo/responsehandlerdemo.php b/vendor/php-payments/vendor/google_checkout/demo/responsehandlerdemo.php deleted file mode 100755 index f14bcb5d9684..000000000000 --- a/vendor/php-payments/vendor/google_checkout/demo/responsehandlerdemo.php +++ /dev/null @@ -1,267 +0,0 @@ -Integration as the - * "API Callback URL' - * Order processing commands can be sent automatically by placing these - * commands appropriately - * - * To use this code for merchant-calculated feedback, this url must be - * set also as the merchant-calculations-url when the cart is posted - * Depending on your calculations for shipping, taxes, coupons and gift - * certificates update parts of the code as required - * - */ - - chdir(".."); - require_once('library/googleresponse.php'); - require_once('library/googlemerchantcalculations.php'); - require_once('library/googleresult.php'); - require_once('library/googlerequest.php'); - - define('RESPONSE_HANDLER_ERROR_LOG_FILE', 'googleerror.log'); - define('RESPONSE_HANDLER_LOG_FILE', 'googlemessage.log'); - - $merchant_id = "778068064150108"; // Your Merchant ID - $merchant_key = "rFQNe6TbiBeO44y9S9o8Dw"; // Your Merchant Key - $server_type = "sandbox"; // change this to go live - $currency = 'USD'; // set to GBP if in the UK - - $Gresponse = new GoogleResponse($merchant_id, $merchant_key); - - $Grequest = new GoogleRequest($merchant_id, $merchant_key, $server_type, $currency); - - //Setup the log file - $Gresponse->SetLogFiles(RESPONSE_HANDLER_ERROR_LOG_FILE, - RESPONSE_HANDLER_LOG_FILE, L_ALL); - - // Retrieve the XML sent in the HTTP POST request to the ResponseHandler - $xml_response = isset($HTTP_RAW_POST_DATA)? - $HTTP_RAW_POST_DATA:file_get_contents("php://input"); - if (get_magic_quotes_gpc()) { - $xml_response = stripslashes($xml_response); - } - list($root, $data) = $Gresponse->GetParsedXML($xml_response); - $Gresponse->SetMerchantAuthentication($merchant_id, $merchant_key); - - /*$status = $Gresponse->HttpAuthentication(); - if(! $status) { - die('authentication failed'); - }*/ - - /* Commands to send the various order processing APIs - * Send charge order : $Grequest->SendChargeOrder($data[$root] - * ['google-order-number']['VALUE'], ); - * Send process order : $Grequest->SendProcessOrder($data[$root] - * ['google-order-number']['VALUE']); - * Send deliver order: $Grequest->SendDeliverOrder($data[$root] - * ['google-order-number']['VALUE'], , , - * ); - * Send archive order: $Grequest->SendArchiveOrder($data[$root] - * ['google-order-number']['VALUE']); - * - */ - - switch ($root) { - case "request-received": { - break; - } - case "error": { - break; - } - case "diagnosis": { - break; - } - case "checkout-redirect": { - break; - } - case "merchant-calculation-callback": { - // Create the results and send it - $merchant_calc = new GoogleMerchantCalculations($currency); - - // Loop through the list of address ids from the callback - $addresses = get_arr_result($data[$root]['calculate']['addresses']['anonymous-address']); - foreach($addresses as $curr_address) { - $curr_id = $curr_address['id']; - $country = $curr_address['country-code']['VALUE']; - $city = $curr_address['city']['VALUE']; - $region = $curr_address['region']['VALUE']; - $postal_code = $curr_address['postal-code']['VALUE']; - - // Loop through each shipping method if merchant-calculated shipping - // support is to be provided - if(isset($data[$root]['calculate']['shipping'])) { - $shipping = get_arr_result($data[$root]['calculate']['shipping']['method']); - foreach($shipping as $curr_ship) { - $name = $curr_ship['name']; - //Compute the price for this shipping method and address id - $price = 12; // Modify this to get the actual price - $shippable = "true"; // Modify this as required - $merchant_result = new GoogleResult($curr_id); - $merchant_result->SetShippingDetails($name, $price, $shippable); - - if($data[$root]['calculate']['tax']['VALUE'] == "true") { - //Compute tax for this address id and shipping type - $amount = 15; // Modify this to the actual tax value - $merchant_result->SetTaxDetails($amount); - } - - if(isset($data[$root]['calculate']['merchant-code-strings'] - ['merchant-code-string'])) { - $codes = get_arr_result($data[$root]['calculate']['merchant-code-strings'] - ['merchant-code-string']); - foreach($codes as $curr_code) { - //Update this data as required to set whether the coupon is valid, the code and the amount - $coupons = new GoogleGiftcerts("true", $curr_code['code'], 10, "debugtest"); - $merchant_result->AddGiftCertificates($coupons); - } - } - $merchant_calc->AddResult($merchant_result); - } - } else { - $merchant_result = new GoogleResult($curr_id); - if($data[$root]['calculate']['tax']['VALUE'] == "true") { - //Compute tax for this address id and shipping type - $amount = 15; // Modify this to the actual tax value - $merchant_result->SetTaxDetails($amount); - } - $codes = get_arr_result($data[$root]['calculate']['merchant-code-strings'] - ['merchant-code-string']); - foreach($codes as $curr_code) { - //Update this data as required to set whether the coupon is valid, the code and the amount - $coupons = new GoogleGiftcerts("true", $curr_code['code'], 10, "debugtest"); - $merchant_result->AddGiftCertificates($coupons); - } - $merchant_calc->AddResult($merchant_result); - } - } - $Gresponse->ProcessMerchantCalculations($merchant_calc); - break; - } - case "new-order-notification": { - $Gresponse->SendAck(); - break; - } - case "order-state-change-notification": { - $Gresponse->SendAck(); - $new_financial_state = $data[$root]['new-financial-order-state']['VALUE']; - $new_fulfillment_order = $data[$root]['new-fulfillment-order-state']['VALUE']; - - switch($new_financial_state) { - case 'REVIEWING': { - break; - } - case 'CHARGEABLE': { - //$Grequest->SendProcessOrder($data[$root]['google-order-number']['VALUE']); - //$Grequest->SendChargeOrder($data[$root]['google-order-number']['VALUE'],''); - break; - } - case 'CHARGING': { - break; - } - case 'CHARGED': { - break; - } - case 'PAYMENT_DECLINED': { - break; - } - case 'CANCELLED': { - break; - } - case 'CANCELLED_BY_GOOGLE': { - //$Grequest->SendBuyerMessage($data[$root]['google-order-number']['VALUE'], - // "Sorry, your order is cancelled by Google", true); - break; - } - default: - break; - } - - switch($new_fulfillment_order) { - case 'NEW': { - break; - } - case 'PROCESSING': { - break; - } - case 'DELIVERED': { - break; - } - case 'WILL_NOT_DELIVER': { - break; - } - default: - break; - } - break; - } - case "charge-amount-notification": { - //$Grequest->SendDeliverOrder($data[$root]['google-order-number']['VALUE'], - // , , ); - //$Grequest->SendArchiveOrder($data[$root]['google-order-number']['VALUE'] ); - $Gresponse->SendAck(); - break; - } - case "chargeback-amount-notification": { - $Gresponse->SendAck(); - break; - } - case "refund-amount-notification": { - $Gresponse->SendAck(); - break; - } - case "risk-information-notification": { - $Gresponse->SendAck(); - break; - } - default: - $Gresponse->SendBadRequestStatus("Invalid or not supported Message"); - break; - } - /* In case the XML API contains multiple open tags - with the same value, then invoke this function and - perform a foreach on the resultant array. - This takes care of cases when there is only one unique tag - or multiple tags. - Examples of this are "anonymous-address", "merchant-code-string" - from the merchant-calculations-callback API - */ - function get_arr_result($child_node) { - $result = array(); - if(isset($child_node)) { - if(is_associative_array($child_node)) { - $result[] = $child_node; - } - else { - foreach($child_node as $curr_node){ - $result[] = $curr_node; - } - } - } - return $result; - } - - /* Returns true if a given variable represents an associative array */ - function is_associative_array( $var ) { - return is_array( $var ) && !is_numeric( implode( '', array_keys( $var ) ) ); - } -?> diff --git a/vendor/php-payments/vendor/google_checkout/demo/sampcodetest.php b/vendor/php-payments/vendor/google_checkout/demo/sampcodetest.php deleted file mode 100755 index 2e070653ff1f..000000000000 --- a/vendor/php-payments/vendor/google_checkout/demo/sampcodetest.php +++ /dev/null @@ -1,104 +0,0 @@ -SetTaxTableSelector("food"); - - $item_2 = new GoogleItem("MegaSound 2GB MP3 Player", - "Portable MP3 player - stores 500 songs", 1, 175.49); - $item_2->SetMerchantPrivateItemData( - new MerchantPrivateItemData(array("color" => "blue", - "weight" => "3.2"))); - $item_2->SetMerchantItemId("Item#012345"); - - $cart->AddItem($item_1); - $cart->AddItem($item_2); - - // Add shipping options - $ship_1 = new GoogleFlatRateShipping("Ground", 15); - $restriction_1 = new GoogleShippingFilters(); - $restriction_1->SetAllowedWorldArea(true); - $ship_1->AddShippingRestrictions($restriction_1); - - $ship_2 = new GooglePickup("Pick Up", 5); - - $cart->AddShipping($ship_1); - $cart->AddShipping($ship_2); - - // Add default tax rules - $tax_rule_1 = new GoogleDefaultTaxRule(0.17); - $tax_rule_1->AddPostalArea("GB", "SW*"); - $tax_rule_1->AddPostalArea("FR"); - $tax_rule_1->AddPostalArea("DE"); - - $tax_rule_2 = new GoogleDefaultTaxRule(0.10); - $tax_rule_2->SetWorldArea(true); - - $cart->AddDefaultTaxRules($tax_rule_1); - $cart->AddDefaultTaxRules($tax_rule_2); - - // Add alternate tax table - $tax_table = new GoogleAlternateTaxTable("food"); - - $tax_rule_1 = new GoogleAlternateTaxRule(0.05); - $tax_rule_1->AddPostalArea("GB"); - $tax_rule_1->AddPostalArea("FR"); - $tax_rule_1->AddPostalArea("DE"); - - $tax_rule_2 = new GoogleAlternateTaxRule(0.03); - $tax_rule_2->SetWorldArea(true); - - $tax_table->AddAlternateTaxRules($tax_rule_1); - $tax_table->AddAlternateTaxRules($tax_rule_2); - - $cart->AddAlternateTaxTables($tax_table); - - // Add - $cart->SetMerchantPrivateData( - new MerchantPrivateData(array( "animals" => array( "type" => "cat,dog" )))); - - // Specify - $cart->SetEditCartUrl("http://www.example.com/edit"); - - // Specify "Return to xyz" link - $cart->SetContinueShoppingUrl("http://www.example.com/continue"); - - // Request buyer's phone number - $cart->SetRequestBuyerPhone(true); - - // Define rounding policy - $cart->AddRoundingPolicy("CEILING", "TOTAL"); - - // Display XML data - // echo "
            ";
            -    // echo htmlentities($cart->GetXML());
            -    // echo "
            "; - - // Display a medium size button - echo $cart->GetXML(); - } -?> diff --git a/vendor/php-payments/vendor/google_checkout/demo/subscriptiondemo (Autosaved).txt b/vendor/php-payments/vendor/google_checkout/demo/subscriptiondemo (Autosaved).txt deleted file mode 100755 index f67a3a40907d..000000000000 --- a/vendor/php-payments/vendor/google_checkout/demo/subscriptiondemo (Autosaved).txt +++ /dev/null @@ -1,71 +0,0 @@ -Merchant Handled Subscription Request"; - - $merchant_id = ""; // Your Merchant ID - $merchant_key = ""; // Your Merchant Key - $server_type = "sandbox"; // or production - $currency = "USD"; - - $cart = new GoogleCart($merchant_id, $merchant_key, $server_type, $currency); - - - $item = new GoogleItem("fee", "sign up fee", 1, 12.00); - $subscription_item = new GoogleSubscription("merchant", "DAILY", 30.00); - - $item->SetSubscription($subscription_item); - $cart->AddItem($item); - - echo $cart->CheckoutButtonCode("SMALL"); - } - - function GoogleSubscription() { - echo "

            Google Handled Subscription Request

            "; - - $merchant_id = ""; // Your Merchant ID - $merchant_key = ""; // Your Merchant Key - $server_type = "sandbox"; // or production - $currency = "USD"; - - $cart = new GoogleCart($merchant_id, $merchant_key, $server_type, $currency); - - $item = new GoogleItem("fee", "sign up fee", 1, 12.00); - $subscription_item = new GoogleSubscription("google", "DAILY", 30.00); - $recurrent_item = new GoogleItem("fee", "recurring fee", 1, 30.00); - $subscription_item->SetItem($recurrent_item); - $item->SetSubscription($subscription_item); - $cart->AddItem($item); - - echo $cart->CheckoutButtonCode("MEDIUM"); - - } -?> \ No newline at end of file diff --git a/vendor/php-payments/vendor/google_checkout/demo/subscriptiondemo.php b/vendor/php-payments/vendor/google_checkout/demo/subscriptiondemo.php deleted file mode 100755 index 893c9ff4d1b2..000000000000 --- a/vendor/php-payments/vendor/google_checkout/demo/subscriptiondemo.php +++ /dev/null @@ -1,71 +0,0 @@ -Merchant Handled Subscription Request"; - - $merchant_id = ""; // Your Merchant ID - $merchant_key = ""; // Your Merchant Key - $server_type = "sandbox"; // or production - $currency = "USD"; - - $cart = new GoogleCart($merchant_id, $merchant_key, $server_type, $currency); - - - $item = new GoogleItem("fee", "sign up fee", 1, 12.00); - $subscription_item = new GoogleSubscription("merchant", "DAILY", 30.00); - - $item->SetSubscription($subscription_item); - $cart->AddItem($item); - - echo $cart->CheckoutButtonCode("SMALL"); - } - - function GoogleSubscription() { - echo "

            Google Handled Subscription Request

            "; - - $merchant_id = ""; // Your Merchant ID - $merchant_key = ""; // Your Merchant Key - $server_type = "sandbox"; // or production - $currency = "USD"; - - $cart = new GoogleCart($merchant_id, $merchant_key, $server_type, $currency); - - $item = new GoogleItem("fee", "sign up fee", 1, 12.00); - $subscription_item = new GoogleSubscription("google", "DAILY", 30.00); - $recurrent_item = new GoogleItem("fee", "recurring fee", 1, 30.00); - $subscription_item->SetItem($recurrent_item); - $item->SetSubscription($subscription_item); - $cart->AddItem($item); - - echo $cart->CheckoutButtonCode("MEDIUM"); - - } -?> \ No newline at end of file diff --git a/vendor/php-payments/vendor/google_checkout/googleerror.log b/vendor/php-payments/vendor/google_checkout/googleerror.log deleted file mode 100755 index 47b392f9bba5..000000000000 --- a/vendor/php-payments/vendor/google_checkout/googleerror.log +++ /dev/null @@ -1,2 +0,0 @@ - -Thu Jun 24 18:52:26 MST 2010:- Invalid or not supported Message diff --git a/vendor/php-payments/vendor/google_checkout/googlemessage.log b/vendor/php-payments/vendor/google_checkout/googlemessage.log deleted file mode 100755 index 58f3e15c6670..000000000000 --- a/vendor/php-payments/vendor/google_checkout/googlemessage.log +++ /dev/null @@ -1,85 +0,0 @@ - -Thu Jun 24 18:52:26 MST 2010:- - - - 16.49 - 2010-07-02T01:30:42.000Z - Y - M - 2010-06-25T01:31:41.528Z - 919108550269385 - - 0.0 - 919108550269385 - 0.0 - 0.0 - - 172.24.6.38 - - peng-b50abu3dud4@sandbox.google.com - - UK - 1 main st - - 123 456-7890 - - GB - E8 3BH - london - UK - - Y - M - true - 4444 - 1207 - - - 16.49 - 2010-07-02T01:30:42.000Z - - 2010-06-25T01:30:40.000Z - false - - - - - Google T-Shirt - - 14.99 - 1 - - - - - - 1.5 - 1.5 - - 122414308041109 - - false - - - peng-b50abu3dud4@sandbox.google.com - - peng ying - 1600 ampitheatre pkwy - - 800 555-5555 - - - peng - ying - - US - 94043 - mountain view - CA - - 16.49 - NEW - CHARGEABLE - - - diff --git a/vendor/php-payments/vendor/google_checkout/library/googlecart.php b/vendor/php-payments/vendor/google_checkout/library/googlecart.php deleted file mode 100755 index c7782288c682..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/googlecart.php +++ /dev/null @@ -1,1684 +0,0 @@ - array(), - 'merchant-calculated-shipping' => array(), - 'pickup' => array(), - 'parameterized-url' => array(), - 'url-parameter' => array(), - 'item' => array(), - 'us-state-area' => array('tax-area'), - 'us-zip-area' => array('tax-area'), - 'us-country-area' => array('tax-area'), - 'postal-area' => array('tax-area'), - 'alternate-tax-table' => array(), - 'world-area' => array('tax-area'), - 'default-tax-rule' => array(), - 'alternate-tax-rule' => array(), - 'gift-certificate-adjustment' => array(), - 'coupon-adjustment' => array(), - 'coupon-result' => array(), - 'gift-certificate-result' => array(), - 'method' => array(), - 'anonymous-address' => array(), - 'result' => array(), - 'string' => array(), - ); - - var $ignore_tags = array( - 'xmlns' => true, - 'checkout-shopping-cart' => true, - // Dont know how to translate these tag yet - 'merchant-private-data' => true, - 'merchant-private-item-data' => true, - ); - - - - /** - * Has all the logic to build the cart's xml (or html) request to be - * posted to google's servers. - * - * @param string $id the merchant id - * @param string $key the merchant key - * @param string $server_type the server type of the server to be used, one - * of 'sandbox' or 'production'. - * defaults to 'sandbox' - * @param string $currency the currency of the items to be added to the cart - * , as of now values can be 'USD' or 'GBP'. - * defaults to 'USD' - */ - function GoogleCart($id, $key, $server_type="sandbox", $currency="USD") { - $this->merchant_id = $id; - $this->merchant_key = $key; - $this->currency = $currency; - - if(strtolower($server_type) == "sandbox") { - $this->server_url = "https://sandbox.google.com/checkout/"; - } else { - $this->server_url= "https://checkout.google.com/"; - } - - - $this->schema_url = "http://checkout.google.com/schema/2"; - $this->base_url = $this->server_url . "api/checkout/v2/"; - $this->checkout_url = $this->base_url . "checkout/Merchant/" . $this->merchant_id; - $this->checkoutForm_url = $this->base_url . "checkoutForm/Merchant/" . $this->merchant_id; - - //The item, shipping and tax table arrays are initialized - $this->item_arr = array(); - $this->shipping_arr = array(); - $this->alternate_tax_tables_arr = array(); - } - - /** - * Sets the cart's expiration date - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_good-until-date } - * - * @param string $cart_expire a string representing a date in the - * iso 8601 date and time format: {@link http://www.w3.org/TR/NOTE-datetime} - * - * @return void - */ - function SetCartExpiration($cart_expire) { - $this->cart_expiration = $cart_expire; - } - - /** - * Sets the merchant's private data. - * - * Google Checkout will return this data in the - * and the - * for the order. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_merchant-private-data } - * - * @param MerchantPrivateData $data an object which contains the data to be - * sent as merchant-private-data - * - * @return void - */ - function SetMerchantPrivateData($data) { - $this->merchant_private_data = $data; - } - - /** - * Sets the url where the customer can edit his cart. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_edit-cart-url } - * - * @param string $url the merchant's site edit cart url - * @return void - */ - function SetEditCartUrl($url) { - $this->edit_cart_url= $url; - } - - /** - * Sets the continue shopping url, which allows the customer to return - * to the merchant's site after confirming an order. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_continue-shopping-url } - * - * @param string $url the merchant's site continue shopping url - * @return void - */ - function SetContinueShoppingUrl($url) { - $this->continue_shopping_url = $url; - } - - /** - * Sets whether the customer must enter a phone number to complete an order. - * If set to true, the customer must enter a number, which Google Checkout - * will return in the new order notification for the order. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_request-buyer-phone-number } - * - * @param bool $req true if the customer's phone number is *required* - * to complete an order. - * defaults to false. - * @return void - */ - function SetRequestBuyerPhone($req) { - $this->request_buyer_phone = $this->_GetBooleanValue($req, "false"); - } - - /** - * Sets the information about calculations that will be performed by the - * merchant. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_merchant-calculations } - * - * @param string $url the merchant calculations callback url - * @param bool $tax_option true if the merchant has to do tax calculations. - * defaults to false. - * @param bool $coupons true if the merchant accepts discount coupons. - * defaults to false. - * @param bool $gift_cert true if the merchant accepts gift certificates. - * defaults to false. - * @return void - */ - function SetMerchantCalculations($url, $tax_option = "false", - $coupons = "false", $gift_cert = "false") { - $this->merchant_calculations_url = $url; - $this->merchant_calculated_tax = $this->_GetBooleanValue($tax_option, "false"); - $this->accept_merchant_coupons = $this->_GetBooleanValue($coupons, "false"); - $this->accept_gift_certificates = $this->_GetBooleanValue($gift_cert, "false"); - } - - /** - * Add an item to the cart. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_item } - * - * @param GoogleItem $google_item an object that represents an item - * (defined in googleitem.php) - * - * @return void - */ - function AddItem($google_item) { - $this->item_arr[] = $google_item; - } - - /** - * Add a shipping method to the cart. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_shipping-methods } - * - * @param object $ship an object that represents a shipping method, must be - * one of the methods defined in googleshipping.php - * - * @return void - */ - function AddShipping($ship) { - $this->shipping_arr[] = $ship; - } - - /** - * Add a default tax rule to the cart. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_default-tax-rule } - * - * @param GoogleDefaultTaxRule $rules an object that represents a default - * tax rule (defined in googletax.php) - * - * @return void - */ - function AddDefaultTaxRules($rules) { - $this->default_tax_table = true; - $this->default_tax_rules_arr[] = $rules; - } - - /** - * Add an alternate tax table to the cart. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_alternate-tax-table } - * - * @param GoogleAlternateTaxTable $tax an object that represents an - * alternate tax table - * (defined in googletax.php) - * - * @return void - */ - function AddAlternateTaxTables($tax) { - $this->alternate_tax_tables_arr[] = $tax; - } - - /** - * Set the policy to be used to round monetary values. - * Rounding policy explanation here: - * {@link http://code.google.com/apis/checkout/developer/Google_Checkout_Rounding_Policy.html} - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_rounding-policy } - * - * @param string $mode one of "UP", "DOWN", "CEILING", "HALF_DOWN" - * or "HALF_EVEN", described here: {@link http://java.sun.com/j2se/1.5.0/docs/api/java/math/RoundingMode.html} - * @param string $rule one of "PER_LINE", "TOTAL" - * - * @return void - */ - function AddRoundingPolicy($mode, $rule) { - switch ($mode) { - case "UP": - case "DOWN": - case "CEILING": - case "HALF_UP": - case "HALF_DOWN": - case "HALF_EVEN": - $this->rounding_mode = $mode; - break; - default: - break; - } - switch ($rule) { - case "PER_LINE": - case "TOTAL": - $this->rounding_rule = $rule; - break; - default: - break; - } - } - - /** - * Set the google analytics data. - * - * {@link http://code.google.com/apis/checkout/developer/checkout_analytics_integration.html info on Checkout and Analytics integration} - * - * @param string $data the analytics data - * - * @return void - */ - function SetAnalyticsData($data) { - $this->analytics_data = $data; - } - - /** - * Add a google analytics tracking id. - * - * {@link http://code.google.com/apis/checkout/developer/checkout_analytics_integration.html info on Checkout and Analytics integration} - * - * @param string $GA_id the google analytics id - * - * @return void - */ - function AddGoogleAnalyticsTracking($GA_id) { - $this->googleAnalytics_id = $GA_id; - } - - /** - * Add third-party tracking to the cart - * - * Described here: - * {@link http://code.google.com/apis/checkout/developer/checkout_analytics_integration.html#googleCheckoutAnalyticsIntegrationAlternate} - * - * @param $tracking_attr_types attributes to be tracked, one of - * ('buyer-id', - * 'order-id', - * 'order-subtotal', - * 'order-subtotal-plus-tax', - * 'order-subtotal-plus-shipping', - * 'order-total', - * 'tax-amount', - * 'shipping-amount', - * 'coupon-amount', - * 'coupon-amount', - * 'billing-city', - * 'billing-region', - * 'billing-postal-code', - * 'billing-country-code', - * 'shipping-city', - * 'shipping-region', - * 'shipping-postal-code', - * 'shipping-country-code') - * More info http://code.google.com/apis/checkout/developer/checkout_pixel_tracking.html#googleCheckout_tag_url-parameter - */ - function AddThirdPartyTracking($url, $tracking_param_types = array()) { - $this->thirdPartyTackingUrl = $url; - $this->thirdPartyTackingParams = $tracking_param_types; - } - - /** - * Builds the cart's xml to be sent to Google Checkout. - * - * @return string the cart's xml - */ - function GetXML() { - require_once(dirname(__FILE__).'/xml-processing/gc_xmlbuilder.php'); - - $xml_data = new gc_XmlBuilder(); - - $xml_data->Push('checkout-shopping-cart', - array('xmlns' => $this->schema_url)); - $xml_data->Push('shopping-cart'); - - //Add cart expiration if set - if($this->cart_expiration != "") { - $xml_data->Push('cart-expiration'); - $xml_data->Element('good-until-date', $this->cart_expiration); - $xml_data->Pop('cart-expiration'); - } - - //Add XML data for each of the items - $xml_data->Push('items'); - foreach($this->item_arr as $item) { - $xml_data->Push('item'); - $xml_data->Element('item-name', $item->item_name); - $xml_data->Element('item-description', $item->item_description); - $xml_data->Element('unit-price', $item->unit_price, - array('currency' => $this->currency)); - $xml_data->Element('quantity', $item->quantity); - if($item->merchant_private_item_data != '') { -// echo get_class($item->merchant_private_item_data); - if(is_a($item->merchant_private_item_data, - 'merchantprivate')) { - $item->merchant_private_item_data->AddMerchantPrivateToXML($xml_data); - } - else { - $xml_data->Element('merchant-private-item-data', - $item->merchant_private_item_data); - } - } - if($item->merchant_item_id != '') - $xml_data->Element('merchant-item-id', $item->merchant_item_id); - if($item->tax_table_selector != '') - $xml_data->Element('tax-table-selector', $item->tax_table_selector); -// Carrier calculation - if($item->item_weight != '' && $item->numeric_weight !== '') { - $xml_data->EmptyElement('item-weight', array( 'unit' => $item->item_weight, - 'value' => $item->numeric_weight - )); - } -// Digital Delivery Tags - if($item->digital_content) { - $xml_data->Push('digital-content'); - if(!empty($item->digital_url)) { - $xml_data->Element('description', substr($item->digital_description, - 0, MAX_DIGITAL_DESC)); - $xml_data->Element('url', $item->digital_url); -// To avoid NULL key message in GC confirmation Page - if(!empty($item->digital_key)) { - $xml_data->Element('key', $item->digital_key); - } - } - else if(!empty($item->digital_description)) { - $xml_data->element('description', substr($item->digital_description, 0,MAX_DIGITAL_DESC)); - } - else { - $xml_data->Element('email-delivery', - $this->_GetBooleanValue($item->email_delivery, "true")); - } - $xml_data->pop('digital-content'); - } -// BETA Subscription Tags - if($item->subscription){ - $sub = $item->subscription; - $xml_data->Push('subscription', array('type' => $sub->subscription_type, - 'period' => $sub->subscription_period, - 'start-date' => $sub->subscription_start_date, - 'no-charge-after' => $sub->subscription_no_charge_after)); - $xml_data->Push('payments'); - $xml_data->Push('subscription-payment', array('times' => $sub->subscription_payment_times)); - $xml_data->Element('maximum-charge', $sub->maximum_charge, array('currency' => $this->currency)); - $xml_data->Pop('subscription-payment'); - $xml_data->Pop('payments'); - if(!empty($sub->recurrent_item)){ - $recurrent_item = $sub->recurrent_item; - //Google Handled Subscriptions - if($sub->subscription_type == 'google'){ - $xml_data->Push('recurrent-item'); - $xml_data->Element('item-name', $recurrent_item->item_name); - $xml_data->Element('item-description', $recurrent_item->item_description); - $xml_data->Element('unit-price', $recurrent_item->unit_price, - array('currency' => $this->currency)); - $xml_data->Element('quantity', $recurrent_item->quantity); - if($recurrent_item->merchant_private_item_data != '') { - // echo get_class($item->merchant_private_item_data); - if(is_a($recurrent_item->merchant_private_item_data, - 'merchantprivate')) { - $recurrent_item->merchant_private_item_data->AddMerchantPrivateToXML($xml_data); - } - else { - $xml_data->Element('merchant-private-item-data', - $recurrent_item->merchant_private_item_data); - } - } - if($recurrent_item->merchant_item_id != '') - $xml_data->Element('merchant-item-id', $recurrent_item->merchant_item_id); - if($recurrent_item->tax_table_selector != '') - $xml_data->Element('tax-table-selector', $recurrent_item->tax_table_selector); - // recurring Carrier calculation - if($recurrent_item->item_weight != '' && $recurrent_item->numeric_weight !== '') { - $xml_data->EmptyElement('item-weight', array( 'unit' => $recurrent_item->item_weight, - 'value' => $recurrent_item->numeric_weight - )); - } - // recurring Digital Delivery Tags - if($recurrent_item->digital_content) { - $xml_data->Push('digital-content'); - if(!empty($recurrent_item->digital_url)) { - $xml_data->Element('description', substr($recurrent_item->digital_description, - 0, MAX_DIGITAL_DESC)); - $xml_data->Element('url', $recurrent_item->digital_url); - // To avoid NULL key message in GC confirmation Page - if(!empty($recurrent_item->digital_key)) { - $xml_data->Element('key', $recurrent_item->digital_key); - } - } - else if(!empty($item->digital_description)) { - $xml_data->element('description', substr($item->digital_description, 0,MAX_DIGITAL_DESC)); - } - else { - $xml_data->Element('email-delivery', - $this->_GetBooleanValue($recurrent_item->email_delivery, "true")); - } - $xml_data->pop('digital-content'); - } - $xml_data->Pop('recurrent-item'); - } - } - $xml_data->pop('subscription'); - } - $xml_data->Pop('item'); - } - $xml_data->Pop('items'); - - if($this->merchant_private_data != '') { - if(is_a($this->merchant_private_data, 'merchantprivate')) { - $this->merchant_private_data->AddMerchantPrivateToXML($xml_data); - } - else { - $xml_data->Element('merchant-private-data', - $this->merchant_private_data); - } - } - $xml_data->Pop('shopping-cart'); - - $xml_data->Push('checkout-flow-support'); - $xml_data->Push('merchant-checkout-flow-support'); - if($this->edit_cart_url != '') - $xml_data->Element('edit-cart-url', $this->edit_cart_url); - if($this->continue_shopping_url != '') - $xml_data->Element('continue-shopping-url', - $this->continue_shopping_url); - - if(count($this->shipping_arr) > 0) - $xml_data->Push('shipping-methods'); - - //Add the shipping methods - foreach($this->shipping_arr as $ship) { - //Pickup shipping handled in else part - if($ship->type == "flat-rate-shipping" || - $ship->type == "merchant-calculated-shipping" -// If shipping-company calc support addr-filtering and shipping restrictions as a subatag of shipping-company-calculated-shipping -// ||$ship->type == "shipping-company-calculated-shipping" - ) { - $xml_data->Push($ship->type, array('name' => $ship->name)); - $xml_data->Element('price', $ship->price, - array('currency' => $this->currency)); - - $shipping_restrictions = $ship->shipping_restrictions; - if (isset($shipping_restrictions)) { - $xml_data->Push('shipping-restrictions'); - - if ($shipping_restrictions->allow_us_po_box === true) { - $xml_data->Element('allow-us-po-box', "true"); - } else { - $xml_data->Element('allow-us-po-box', "false"); - } - - //Check if allowed restrictions specified - if($shipping_restrictions->allowed_restrictions) { - $xml_data->Push('allowed-areas'); - if($shipping_restrictions->allowed_country_area != "") - $xml_data->EmptyElement('us-country-area', - array('country-area' => - $shipping_restrictions->allowed_country_area)); - foreach($shipping_restrictions->allowed_state_areas_arr as $current) { - $xml_data->Push('us-state-area'); - $xml_data->Element('state', $current); - $xml_data->Pop('us-state-area'); - } - foreach($shipping_restrictions->allowed_zip_patterns_arr as $current) { - $xml_data->Push('us-zip-area'); - $xml_data->Element('zip-pattern', $current); - $xml_data->Pop('us-zip-area'); - } - if($shipping_restrictions->allowed_world_area === true) { - $xml_data->EmptyElement('world-area'); - } - for($i=0; $iallowed_country_codes_arr); $i++) { - $xml_data->Push('postal-area'); - $country_code = $shipping_restrictions->allowed_country_codes_arr[$i]; - $postal_pattern = $shipping_restrictions->allowed_postal_patterns_arr[$i]; - $xml_data->Element('country-code', $country_code); - if ($postal_pattern != "") { - $xml_data->Element('postal-code-pattern', $postal_pattern); - } - $xml_data->Pop('postal-area'); - } - $xml_data->Pop('allowed-areas'); - } - - if($shipping_restrictions->excluded_restrictions) { - if (!$shipping_restrictions->allowed_restrictions) { - $xml_data->EmptyElement('allowed-areas'); - } - $xml_data->Push('excluded-areas'); - if($shipping_restrictions->excluded_country_area != "") - $xml_data->EmptyElement('us-country-area', - array('country-area' => - $shipping_restrictions->excluded_country_area)); - foreach($shipping_restrictions->excluded_state_areas_arr as $current) { - $xml_data->Push('us-state-area'); - $xml_data->Element('state', $current); - $xml_data->Pop('us-state-area'); - } - foreach($shipping_restrictions->excluded_zip_patterns_arr as $current) { - $xml_data->Push('us-zip-area'); - $xml_data->Element('zip-pattern', $current); - $xml_data->Pop('us-zip-area'); - } - for($i=0; $iexcluded_country_codes_arr); $i++) { - $xml_data->Push('postal-area'); - $country_code = $shipping_restrictions->excluded_country_codes_arr[$i]; - $postal_pattern = $shipping_restrictions->excluded_postal_patterns_arr[$i]; - $xml_data->Element('country-code', $country_code); - if ($postal_pattern != "") { - $xml_data->Element('postal-code-pattern', $postal_pattern); - } - $xml_data->Pop('postal-area'); - } - $xml_data->Pop('excluded-areas'); - } - $xml_data->Pop('shipping-restrictions'); - } - - if ($ship->type == "merchant-calculated-shipping") { - $address_filters = $ship->address_filters; - if (isset($address_filters)) { - $xml_data->Push('address-filters'); - - if ($address_filters->allow_us_po_box === true) { - $xml_data->Element('allow-us-po-box', "true"); - } else { - $xml_data->Element('allow-us-po-box', "false"); - } - - //Check if allowed restrictions specified - if($address_filters->allowed_restrictions) { - $xml_data->Push('allowed-areas'); - if($address_filters->allowed_country_area != "") - $xml_data->EmptyElement('us-country-area', - array('country-area' => - $address_filters->allowed_country_area)); - foreach($address_filters->allowed_state_areas_arr as $current) { - $xml_data->Push('us-state-area'); - $xml_data->Element('state', $current); - $xml_data->Pop('us-state-area'); - } - foreach($address_filters->allowed_zip_patterns_arr as $current) { - $xml_data->Push('us-zip-area'); - $xml_data->Element('zip-pattern', $current); - $xml_data->Pop('us-zip-area'); - } - if($address_filters->allowed_world_area === true) { - $xml_data->EmptyElement('world-area'); - } - for($i=0; $iallowed_country_codes_arr); $i++) { - $xml_data->Push('postal-area'); - $country_code = $address_filters->allowed_country_codes_arr[$i]; - $postal_pattern = $address_filters->allowed_postal_patterns_arr[$i]; - $xml_data->Element('country-code', $country_code); - if ($postal_pattern != "") { - $xml_data->Element('postal-code-pattern', $postal_pattern); - } - $xml_data->Pop('postal-area'); - } - $xml_data->Pop('allowed-areas'); - } - - if($address_filters->excluded_restrictions) { - if (!$address_filters->allowed_restrictions) { - $xml_data->EmptyElement('allowed-areas'); - } - $xml_data->Push('excluded-areas'); - if($address_filters->excluded_country_area != "") - $xml_data->EmptyElement('us-country-area', - array('country-area' => - $address_filters->excluded_country_area)); - foreach($address_filters->excluded_state_areas_arr as $current) { - $xml_data->Push('us-state-area'); - $xml_data->Element('state', $current); - $xml_data->Pop('us-state-area'); - } - foreach($address_filters->excluded_zip_patterns_arr as $current) { - $xml_data->Push('us-zip-area'); - $xml_data->Element('zip-pattern', $current); - $xml_data->Pop('us-zip-area'); - } - for($i=0; $iexcluded_country_codes_arr); $i++) { - $xml_data->Push('postal-area'); - $country_code = $address_filters->excluded_country_codes_arr[$i]; - $postal_pattern = $address_filters->excluded_postal_patterns_arr[$i]; - $xml_data->Element('country-code', $country_code); - if ($postal_pattern != "") { - $xml_data->Element('postal-code-pattern', $postal_pattern); - } - $xml_data->Pop('postal-area'); - } - $xml_data->Pop('excluded-areas'); - } - $xml_data->Pop('address-filters'); - } - } - $xml_data->Pop($ship->type); - } - else if ($ship->type == "carrier-calculated-shipping"){ -// $xml_data->Push($ship->type, array('name' => $ship->name)); - $xml_data->Push($ship->type); - $xml_data->Push('carrier-calculated-shipping-options'); - $CCSoptions = $ship->CarrierCalculatedShippingOptions; - foreach($CCSoptions as $CCSoption){ - $xml_data->Push('carrier-calculated-shipping-option'); - $xml_data->Element('price', $CCSoption->price, - array('currency' => $this->currency)); - $xml_data->Element('shipping-company', $CCSoption->shipping_company); - $xml_data->Element('shipping-type', $CCSoption->shipping_type); - $xml_data->Element('carrier-pickup', $CCSoption->carrier_pickup); - if(!empty($CCSoption->additional_fixed_charge)) { - $xml_data->Element('additional-fixed-charge', - $CCSoption->additional_fixed_charge, - array('currency' => $this->currency)); - } - if(!empty($CCSoption->additional_variable_charge_percent)) { - $xml_data->Element('additional-variable-charge-percent', - $CCSoption->additional_variable_charge_percent); - } - $xml_data->Pop('carrier-calculated-shipping-option'); - } - $xml_data->Pop('carrier-calculated-shipping-options'); -// $ShippingPackage = $ship->ShippingPackage; - $xml_data->Push('shipping-packages'); - $xml_data->Push('shipping-package'); - $xml_data->Push('ship-from', array('id' => $ship->ShippingPackage->ship_from->id)); - $xml_data->Element('city', $ship->ShippingPackage->ship_from->city); - $xml_data->Element('region', $ship->ShippingPackage->ship_from->region); - $xml_data->Element('postal-code', $ship->ShippingPackage->ship_from->postal_code); - $xml_data->Element('country-code', $ship->ShippingPackage->ship_from->country_code); - $xml_data->Pop('ship-from'); - - $xml_data->EmptyElement('width', array('unit' => $ship->ShippingPackage->unit, - 'value' => $ship->ShippingPackage->width - )); - $xml_data->EmptyElement('length', array('unit' => $ship->ShippingPackage->unit, - 'value' => $ship->ShippingPackage->length - )); - $xml_data->EmptyElement('height', array('unit' => $ship->ShippingPackage->unit, - 'value' => $ship->ShippingPackage->height - )); - $xml_data->Element('delivery-address-category', - $ship->ShippingPackage->delivery_address_category); - $xml_data->Pop('shipping-package'); - $xml_data->Pop('shipping-packages'); - - $xml_data->Pop($ship->type); - } - else if ($ship->type == "pickup") { - $xml_data->Push('pickup', array('name' => $ship->name)); - $xml_data->Element('price', $ship->price, - array('currency' => $this->currency)); - $xml_data->Pop('pickup'); - } - } - if(count($this->shipping_arr) > 0) - $xml_data->Pop('shipping-methods'); - - if($this->request_buyer_phone != "") - $xml_data->Element('request-buyer-phone-number', - $this->request_buyer_phone); - - if($this->merchant_calculations_url != "") { - $xml_data->Push('merchant-calculations'); - $xml_data->Element('merchant-calculations-url', - $this->merchant_calculations_url); - if($this->accept_merchant_coupons != "") { - $xml_data->Element('accept-merchant-coupons', - $this->accept_merchant_coupons); - } - if($this->accept_gift_certificates != "") { - $xml_data->Element('accept-gift-certificates', - $this->accept_gift_certificates); - } - $xml_data->Pop('merchant-calculations'); - } - //Set Third party Tracking - if($this->thirdPartyTackingUrl) { - $xml_data->Push('parameterized-urls'); - $xml_data->Push('parameterized-url', - array('url' => $this->thirdPartyTackingUrl)); - if(is_array($this->thirdPartyTackingParams) - && count($this->thirdPartyTackingParams)>0) { - $xml_data->Push('parameters'); - foreach($this->thirdPartyTackingParams as $tracking_param_name => - $tracking_param_type) { - $xml_data->emptyElement('url-parameter', - array('name' => $tracking_param_name, - 'type' => $tracking_param_type)); - } - $xml_data->pop('parameters'); - } - $xml_data->pop('parameterized-url'); - $xml_data->pop('parameterized-urls'); - } - - //Set Default and Alternate tax tables - if( (count($this->alternate_tax_tables_arr) != 0) - || (count($this->default_tax_rules_arr) != 0)) { - if($this->merchant_calculated_tax != "") { - $xml_data->Push('tax-tables', - array('merchant-calculated' => $this->merchant_calculated_tax)); - } - else { - $xml_data->Push('tax-tables'); - } - if(count($this->default_tax_rules_arr) != 0) { - $xml_data->Push('default-tax-table'); - $xml_data->Push('tax-rules'); - foreach($this->default_tax_rules_arr as $curr_rule) { - - if($curr_rule->country_area != "") { - $xml_data->Push('default-tax-rule'); - $xml_data->Element('shipping-taxed', $curr_rule->shipping_taxed); - $xml_data->Element('rate', $curr_rule->tax_rate); - $xml_data->Push('tax-area'); - $xml_data->EmptyElement('us-country-area', - array('country-area' => $curr_rule->country_area)); - $xml_data->Pop('tax-area'); - $xml_data->Pop('default-tax-rule'); - } - - foreach($curr_rule->state_areas_arr as $current) { - $xml_data->Push('default-tax-rule'); - $xml_data->Element('shipping-taxed', $curr_rule->shipping_taxed); - $xml_data->Element('rate', $curr_rule->tax_rate); - $xml_data->Push('tax-area'); - $xml_data->Push('us-state-area'); - $xml_data->Element('state', $current); - $xml_data->Pop('us-state-area'); - $xml_data->Pop('tax-area'); - $xml_data->Pop('default-tax-rule'); - } - - foreach($curr_rule->zip_patterns_arr as $current) { - $xml_data->Push('default-tax-rule'); - $xml_data->Element('shipping-taxed', $curr_rule->shipping_taxed); - $xml_data->Element('rate', $curr_rule->tax_rate); - $xml_data->Push('tax-area'); - $xml_data->Push('us-zip-area'); - $xml_data->Element('zip-pattern', $current); - $xml_data->Pop('us-zip-area'); - $xml_data->Pop('tax-area'); - $xml_data->Pop('default-tax-rule'); - } - - for($i=0; $icountry_codes_arr); $i++) { - $xml_data->Push('default-tax-rule'); - $xml_data->Element('shipping-taxed', $curr_rule->shipping_taxed); - $xml_data->Element('rate', $curr_rule->tax_rate); - $xml_data->Push('tax-area'); - $xml_data->Push('postal-area'); - $country_code = $curr_rule->country_codes_arr[$i]; - $postal_pattern = $curr_rule->postal_patterns_arr[$i]; - $xml_data->Element('country-code', $country_code); - if ($postal_pattern != "") { - $xml_data->Element('postal-code-pattern', $postal_pattern); - } - $xml_data->Pop('postal-area'); - $xml_data->Pop('tax-area'); - $xml_data->Pop('default-tax-rule'); - } - - if ($curr_rule->world_area === true) { - $xml_data->Push('default-tax-rule'); - $xml_data->Element('shipping-taxed', $curr_rule->shipping_taxed); - $xml_data->Element('rate', $curr_rule->tax_rate); - $xml_data->Push('tax-area'); - $xml_data->EmptyElement('world-area'); - $xml_data->Pop('tax-area'); - $xml_data->Pop('default-tax-rule'); - } - } - $xml_data->Pop('tax-rules'); - $xml_data->Pop('default-tax-table'); - } - - if(count($this->alternate_tax_tables_arr) != 0) { - $xml_data->Push('alternate-tax-tables'); - foreach($this->alternate_tax_tables_arr as $curr_table) { - $xml_data->Push('alternate-tax-table', - array('standalone' => $curr_table->standalone, - 'name' => $curr_table->name)); - $xml_data->Push('alternate-tax-rules'); - - foreach($curr_table->tax_rules_arr as $curr_rule) { - if($curr_rule->country_area != "") { - $xml_data->Push('alternate-tax-rule'); - $xml_data->Element('rate', $curr_rule->tax_rate); - $xml_data->Push('tax-area'); - $xml_data->EmptyElement('us-country-area', - array('country-area' => $curr_rule->country_area)); - $xml_data->Pop('tax-area'); - $xml_data->Pop('alternate-tax-rule'); - } - - foreach($curr_rule->state_areas_arr as $current) { - $xml_data->Push('alternate-tax-rule'); - $xml_data->Element('rate', $curr_rule->tax_rate); - $xml_data->Push('tax-area'); - $xml_data->Push('us-state-area'); - $xml_data->Element('state', $current); - $xml_data->Pop('us-state-area'); - $xml_data->Pop('tax-area'); - $xml_data->Pop('alternate-tax-rule'); - } - - foreach($curr_rule->zip_patterns_arr as $current) { - $xml_data->Push('alternate-tax-rule'); - $xml_data->Element('rate', $curr_rule->tax_rate); - $xml_data->Push('tax-area'); - $xml_data->Push('us-zip-area'); - $xml_data->Element('zip-pattern', $current); - $xml_data->Pop('us-zip-area'); - $xml_data->Pop('tax-area'); - $xml_data->Pop('alternate-tax-rule'); - } - - for($i=0; $icountry_codes_arr); $i++) { - $xml_data->Push('alternate-tax-rule'); - $xml_data->Element('rate', $curr_rule->tax_rate); - $xml_data->Push('tax-area'); - $xml_data->Push('postal-area'); - $country_code = $curr_rule->country_codes_arr[$i]; - $postal_pattern = $curr_rule->postal_patterns_arr[$i]; - $xml_data->Element('country-code', $country_code); - if ($postal_pattern != "") { - $xml_data->Element('postal-code-pattern', $postal_pattern); - } - $xml_data->Pop('postal-area'); - $xml_data->Pop('tax-area'); - $xml_data->Pop('alternate-tax-rule'); - } - - if ($curr_rule->world_area === true) { - $xml_data->Push('alternate-tax-rule'); - $xml_data->Element('rate', $curr_rule->tax_rate); - $xml_data->Push('tax-area'); - $xml_data->EmptyElement('world-area'); - $xml_data->Pop('tax-area'); - $xml_data->Pop('alternate-tax-rule'); - } - } - $xml_data->Pop('alternate-tax-rules'); - $xml_data->Pop('alternate-tax-table'); - } - $xml_data->Pop('alternate-tax-tables'); - } - $xml_data->Pop('tax-tables'); - } - - if (($this->rounding_mode != "") && ($this->rounding_rule != "")) { - $xml_data->Push('rounding-policy'); - $xml_data->Element('mode', $this->rounding_mode); - $xml_data->Element('rule', $this->rounding_rule); - $xml_data->Pop('rounding-policy'); - } - if($this->analytics_data != ''){ - $xml_data->Element('analytics-data', $this->analytics_data); - } - - $xml_data->Pop('merchant-checkout-flow-support'); - $xml_data->Pop('checkout-flow-support'); - $xml_data->Pop('checkout-shopping-cart'); - - return $xml_data->GetXML(); - } - - /** - * Set the Google Checkout button's variant. - * {@link http://code.google.com/apis/checkout/developer/index.html#google_checkout_buttons} - * - * @param bool $variant true for an enabled button, false for a - * disabled one - * - * @return void - */ - function SetButtonVariant($variant) { - switch ($variant) { - case false: - $this->variant = "disabled"; - break; - case true: - default: - $this->variant = "text"; - break; - } - } - - /** - * Submit a server-to-server request. - * Creates a GoogleRequest object (defined in googlerequest.php) and sends - * it to the Google Checkout server. - * - * more info: - * {@link http://code.google.com/apis/checkout/developer/index.html#alternate_technique} - * - * @return array with the returned http status code (200 if OK) in index 0 - * and the redirect url returned by the server in index 1 - */ - function CheckoutServer2Server($proxy=array(), $certPath='') { - require_once(dirname(__FILE__).'/library/googlerequest.php'); - $GRequest = new GoogleRequest($this->merchant_id, - $this->merchant_key, - $this->server_url=="https://checkout.google.com/"? - "Production":"sandbox", - $this->currency); - $GRequest->SetProxy($proxy); - $GRequest->SetCertificatePath($certPath); - - return $GRequest->SendServer2ServerCart($this->GetXML()); - } - - /** - * Get the Google Checkout button's html to be used in a server-to-server - * request. - * - * {@link http://code.google.com/apis/checkout/developer/index.html#google_checkout_buttons} - * - * @param string $url the merchant's site url where the form will be posted - * to - * @param string $size the size of the button, one of 'large', 'medium' or - * 'small'. - * defaults to 'large' - * @param bool $variant true for an enabled button, false for a - * disabled one. defaults to true. will be ignored if - * SetButtonVariant() was used before. - * @param string $loc the locale of the button's text, the only valid value - * is 'en_US' (used as default) - * @param bool $showtext whether to show Google Checkout text or not, - * defaults to true. - * @param string $style the background style of the button, one of 'white' - * or 'trans'. defaults to "trans" - * - * @return string the button's html - */ - function CheckoutServer2ServerButton($url, $size="large", $variant=true, - $loc="en_US",$showtext=true, $style="trans") { - - switch (strtolower($size)) { - case "medium": - $width = "168"; - $height = "44"; - break; - - case "small": - $width = "160"; - $height = "43"; - break; - case "large": - default: - $width = "180"; - $height = "46"; - break; - } - - if($this->variant == false) { - switch ($variant) { - case false: - $this->variant = "disabled"; - break; - case true: - default: - $this->variant = "text"; - break; - } - } - $data = "
            "; - if ($this->variant == "text") { - $data .= "
            googleAnalytics_id? - " onsubmit=\"setUrchinInputCode();\"":"") . "> - server_url."buttons/checkout.gif?merchant_id=" . - $this->merchant_id."&w=".$width. "&h=".$height."&style=". - $style."&variant=".$this->variant."&loc=".$loc."\" - style=\"height:".$height."px;width:".$width. "px\" />"; - - if($this->googleAnalytics_id) { - $data .= ""; - } - $data .= "
            "; - if($this->googleAnalytics_id) { - $data .= " - - - - "; - } } else { - $data .= "
            \"Checkout\"server_url."buttons/checkout.gif?merchant_id=" . - "".$this->merchant_id."&w=".$width. "&h=".$height."&style=".$style. - "&variant=".$this->variant."&loc=".$loc."\" height=\"".$height."\"". - " width=\"".$width. "\" />
            "; - - } - $data .= "
            "; - return $data; - } - - /** - * Get the Google Checkout button's html. - * - * {@link http://code.google.com/apis/checkout/developer/index.html#google_checkout_buttons} - * - * @param string $size the size of the button, one of 'large', 'medium' or - * 'small'. - * defaults to 'large' - * @param bool $variant true for an enabled button, false for a - * disabled one. defaults to true. will be ignored if - * SetButtonVariant() was used before. - * @param string $loc the locale of the button's text, the only valid value - * is 'en_US' (used as default) - * @param bool $showtext whether to show Google Checkout text or not, - * defaults to true. - * @param string $style the background style of the button, one of 'white' - * or 'trans'. defaults to "trans" - * - * @return string the button's html - */ - function CheckoutButtonCode($size="large", $variant=true, $loc="en_US", - $showtext=true, $style="trans") { - - switch (strtolower($size)) { - case "medium": - $width = "168"; - $height = "44"; - break; - - case "small": - $width = "160"; - $height = "43"; - break; - case "large": - default: - $width = "180"; - $height = "46"; - break; - } - - if($this->variant == false) { - switch ($variant) { - case false: - $this->variant = "disabled"; - break; - case true: - default: - $this->variant = "text"; - break; - } - } - - - $data = "
            "; - if ($this->variant == "text") { - $data .= "
            checkout_url . "\"" . ($this->googleAnalytics_id? - " onsubmit=\"setUrchinInputCode();\"":"") . "> - GetXML()) ."\"> - CalcHmacSha1($this->GetXML())). "\"> - server_url."buttons/checkout.gif?merchant_id=" . - $this->merchant_id."&w=".$width. "&h=".$height."&style=". - $style."&variant=".$this->variant."&loc=".$loc."\" - style=\"height:".$height."px;width:".$width. "px\" />"; - - if($this->googleAnalytics_id) { - $data .= ""; - } - $data .= "
            "; - if($this->googleAnalytics_id) { - $data .= " - - - - "; - } - } else { - $data .= "
            \"Checkout\"server_url."buttons/checkout.gif?merchant_id=" . - "".$this->merchant_id."&w=".$width. "&h=".$height."&style=".$style. - "&variant=".$this->variant."&loc=".$loc."\" height=\"".$height."\"". - " width=\"".$width. "\" />
            "; - } - if($showtext) { - $data .=""; - } - $data .= "
            "; - return $data; - } - //Code for generating Checkout button - //@param $variant will be ignored if SetButtonVariant() was used before - function CheckoutButtonNowCode($size="large", $variant=true, $loc="en_US", - $showtext=true, $style="trans") { - - switch (strtolower($size)) { - case "small": - $width = "121"; - $height = "44"; - break; - case "large": - default: - $width = "117"; - $height = "48"; - break; - } - - if($this->variant == false) { - switch ($variant) { - case false: - $this->variant = "disabled"; - break; - case true: - default: - $this->variant = "text"; - break; - } - } - - - - $data = "
            "; - if ($this->variant == "text") { - $data .= "
            checkout_url . "\"" . ($this->googleAnalytics_id? - " onsubmit=\"setUrchinInputCode();\"":"") . "> - GetXML()) ."//separator//" . - base64_encode($this->CalcHmacSha1($this->GetXML())) . "\"> - server_url."buttons/buy.gif?merchant_id=" . - $this->merchant_id."&w=".$width. "&h=".$height."&style=". - $style."&variant=".$this->variant."&loc=".$loc."\" - style=\"height:".$height."px;width:".$width. "px\" />"; - - if($this->googleAnalytics_id) { - $data .= ""; - } - $data .= "
            "; - if($this->googleAnalytics_id) { - $data .= " - - - - "; - } -// ask for link to BuyNow disable button - } else { - $data .= "
            \"Checkout\"server_url."buttons/buy.gif?merchant_id=" . - "".$this->merchant_id."&w=".$width. "&h=".$height."&style=".$style. - "&variant=".$this->variant."&loc=".$loc."\" height=\"".$height."\"". - " width=\"".$width. "\" />
            "; - } - if($showtext) { - $data .=""; - } - $data .= "
            "; - return $data; - } - - - /** - * Get the Google Checkout button's html to be used with the html api. - * - * {@link http://code.google.com/apis/checkout/developer/index.html#google_checkout_buttons} - * - * @param string $size the size of the button, one of 'large', 'medium' or - * 'small'. - * defaults to 'large' - * @param bool $variant true for an enabled button, false for a - * disabled one. defaults to true. will be ignored if - * SetButtonVariant() was used before. - * @param string $loc the locale of the button's text, the only valid value - * is 'en_US' (used as default) - * @param bool $showtext whether to show Google Checkout text or not, - * defaults to true. - * @param string $style the background style of the button, one of 'white' - * or 'trans'. defaults to "trans" - * - * @return string the button's html - */ - function CheckoutHTMLButtonCode($size="large", $variant=true, $loc="en_US", - $showtext=true, $style="trans") { - - switch (strtolower($size)) { - case "medium": - $width = "168"; - $height = "44"; - break; - - case "small": - $width = "160"; - $height = "43"; - break; - case "large": - default: - $width = "180"; - $height = "46"; - break; - } - - if($this->variant == false) { - switch ($variant) { - case false: - $this->variant = "disabled"; - break; - case true: - default: - $this->variant = "text"; - break; - } - } - - - $data = "
            "; - if ($this->variant == "text") { - $data .= "
            checkoutForm_url . "\"" . ($this->googleAnalytics_id? - " onsubmit=\"setUrchinInputCode();\"":"") . ">"; - - $request = $this->GetXML(); - require_once(dirname(__FILE__).'/xml-processing/gc_xmlparser.php'); - $xml_parser = new gc_xmlparser($request); - $root = $xml_parser->GetRoot(); - $XMLdata = $xml_parser->GetData(); - $this->xml2html($XMLdata[$root], '', $data); - $data .= "server_url."buttons/checkout.gif?merchant_id=". - $this->merchant_id."&w=".$width. "&h=".$height."&style=". - $style."&variant=".$this->variant."&loc=".$loc."\" - height=\"".$height."\" width=\"".$width. "\" />"; - - if($this->googleAnalytics_id) { - $data .= ""; - } - $data .= "
            "; - if($this->googleAnalytics_id) { - $data .= " - - - - "; - } - } else { - $data .= "
            \"Checkout\"server_url."buttons/checkout.gif?merchant_id=" . - "".$this->merchant_id."&w=".$width. "&h=".$height."&style=".$style. - "&variant=".$this->variant."&loc=".$loc."\" height=\"".$height."\"". - " width=\"".$width. "\" />
            "; - } - if($showtext){ - $data .= ""; - } - $data .= "
            "; - - - return $data; - - } - - /** - * @access private - */ - function xml2html($data, $path = '', &$rta){ -// global $multiple_tags,$ignore_tags; - // $arr = gc_get_arr_result($data); - foreach($data as $tag_name => $tag) { - if(isset($this->ignore_tags[$tag_name])){ - continue; - } - if(is_array($tag)){ - // echo print_r($tag, true) . $tag_name . "<- tag name\n"; - if(!$this->is_associative_array($data)) { - $new_path = $path . '-' . ($tag_name +1); - } else { - if(isset($this->multiple_tags[$tag_name]) - && $this->is_associative_array($tag) - && !$this->isChildOf($path, $this->multiple_tags[$tag_name])){ - $tag_name .= '-1'; - } - $new_path = $path . (empty($path)?'':'.') . $tag_name; - } - $this->xml2html($tag, $new_path, $rta); - } - else { - $new_path = $path; - if($tag_name != 'VALUE'){ - $new_path = $path . "." . $tag_name; - } - $rta .= ''."\n"; - } - } - } - - // Returns true if a given variable represents an associative array - /** - * @access private - */ - function is_associative_array($var) { - return is_array($var) && !is_numeric(implode('', array_keys($var))); - } - - /** - * @access private - */ - function isChildOf($path='', $parents=array()){ - $intersect =array_intersect(explode('.',$path), $parents); - return !empty($intersect); - } - - /** - * Get the Google Checkout acceptance logos html - * - * {@link http://checkout.google.com/seller/acceptance_logos.html} - * - * @param integer $type the acceptance logo type, valid values: 1, 2, 3 - * - * @return string the logo's html - */ - function CheckoutAcceptanceLogo($type=1) { - switch ($type) { - case 2: - return ''; - break; - case 3: - return ''; - break; - case 1: - default: - return ''; - break; - } - } - - /** - * Calculates the cart's hmac-sha1 signature, this allows google to verify - * that the cart hasn't been tampered by a third-party. - * - * {@link http://code.google.com/apis/checkout/developer/index.html#create_signature} - * - * @param string $data the cart's xml - * @return string the cart's signature (in binary format) - */ - function CalcHmacSha1($data) { - $key = $this->merchant_key; - $blocksize = 64; - $hashfunc = 'sha1'; - if (strlen($key) > $blocksize) { - $key = pack('H*', $hashfunc($key)); - } - $key = str_pad($key, $blocksize, chr(0x00)); - $ipad = str_repeat(chr(0x36), $blocksize); - $opad = str_repeat(chr(0x5c), $blocksize); - $hmac = pack( - 'H*', $hashfunc( - ($key^$opad).pack( - 'H*', $hashfunc( - ($key^$ipad).$data - ) - ) - ) - ); - return $hmac; - } - - //Method used internally to set true/false cart variables - /** - * @access private - */ - function _GetBooleanValue($value, $default) { - switch(strtolower($value)){ - case "true": - return "true"; - break; - case "false": - return"false"; - break; - default: - return $default; - break; - } - } - //Method used internally to set true/false cart variables - // Deprecated, must NOT use eval, bug-prune function - /** - * @access private - */ - function _SetBooleanValue($string, $value, $default) { - $value = strtolower($value); - if($value == "true" || $value == "false") - eval('$this->'.$string.'="'.$value.'";'); - else - eval('$this->'.$string.'="'.$default.'";'); - } - } - - /** - * @abstract - * Abstract class that represents the merchant-private-data. - * - * See {@link MerchantPrivateData} and {@link MerchantPrivateItemData} - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_merchant-private-data } - */ - class MerchantPrivate { - var $data; - var $type = "Abstract"; - function MerchantPrivate() { - } - - function AddMerchantPrivateToXML(&$xml_data) { - if(is_array($this->data)) { - $xml_data->Push($this->type); - $this->_recursiveAdd($xml_data, $this->data); - $xml_data->Pop($this->type); - } - else { - $xml_data->Element($this->type, (string)$this->data); - } - } - - /** - * @access private - */ - function _recursiveAdd(&$xml_data, $data){ - foreach($data as $name => $value) { - if(is_array($value)) { - $xml_data->Push($name); - $this->_recursiveAdd($xml_data, $name); - $xml_data->Pop($name); - } - else { - $xml_data->Element($name, (string)$value); - } - } - } - } - - /** - * Class that represents the merchant-private-data. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_merchant-private-data } - */ - class MerchantPrivateData extends MerchantPrivate { - /** - * @param mixed $data a string with the data that will go in the - * merchant-private-data tag or an array that will - * be mapped to xml, formatted like (e.g.): - * array('my-order-id' => 34234, - * 'stuff' => array('registered' => 'yes', - * 'category' => 'hip stuff')) - * this will map to: - * - * - * yes - * hip stuff - * - * - */ - function MerchantPrivateData($data = array()) { - $this->data = $data; - $this->type = 'merchant-private-data'; - } - } - - /** - * Class that represents a merchant-private-item-data. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_merchant-private-item-data } - */ - class MerchantPrivateItemData extends MerchantPrivate { - /** - * @param mixed $data a string with the data that will go in the - * merchant-private-item-data tag or an array that will - * be mapped to xml, formatted like: - * array('my-item-id' => 34234, - * 'stuff' => array('label' => 'cool', - * 'category' => 'hip stuff')) - * this will map to: - * - * - * - * hip stuff - * - * - */ - function MerchantPrivateItemData($data = array()) { - $this->data = $data; - $this->type = 'merchant-private-item-data'; - } - } -?> diff --git a/vendor/php-payments/vendor/google_checkout/library/googleitem.php b/vendor/php-payments/vendor/google_checkout/library/googleitem.php deleted file mode 100755 index 4c5d3d68890c..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/googleitem.php +++ /dev/null @@ -1,245 +0,0 @@ -} - * - * @param string $name the name of the item -- required - * @param string $desc the description of the item -- required - * @param integer $qty the number of units of this item the customer has - * in its shopping cart -- required - * @param double $price the unit price of the item -- required - * @param string $item_weight the weight unit used to specify the item's - * weight, - * one of 'LB' (pounds) or 'KG' (kilograms) - * @param double $numeric_weight the weight of the item - * - */ - function GoogleItem($name, $desc, $qty, $price, $item_weight='', $numeric_weight='') { - $this->item_name = $name; - $this->item_description= $desc; - $this->unit_price = $price; - $this->quantity = $qty; - - if($item_weight != '' && $numeric_weight !== '') { - switch(strtoupper($item_weight)){ - case 'KG': - $this->item_weight = strtoupper($item_weight); - break; - case 'LB': - default: - $this->item_weight = 'LB'; - } - $this->numeric_weight = (double)$numeric_weight; - } - } - - function SetMerchantPrivateItemData($private_data) { - $this->merchant_private_item_data = $private_data; - } - - /** - * Set the merchant item id that the merchant uses to uniquely identify an - * item. Google Checkout will include this value in the - * merchant calculation callbacks - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_merchant-item-id } - * - * @param mixed $item_id the value that identifies this item on the - * merchant's side - * - * @return void - */ - function SetMerchantItemId($item_id) { - $this->merchant_item_id = $item_id; - } - - /** - * Sets the tax table selector which identifies an alternate tax table that - * should be used to calculate tax for a particular item. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_tax-table-selector } - * - * @param string $tax_selector this value should correspond to the name - * of an alternate-tax-table. - * - * @return void - */ - function SetTaxTableSelector($tax_selector) { - $this->tax_table_selector = $tax_selector; - } - - /** - * Used when the item's content is digital, sets whether the merchant will - * send an email to the buyer explaining how to access the digital content. - * Email delivery allows the merchant to charge the buyer for an order - * before allowing the buyer to access the digital content. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_email-delivery } - * - * @param bool $email_delivery true if email_delivery applies, defaults to - * false - * - * @return void - */ - function SetEmailDigitalDelivery($email_delivery='false') { - $this->digital_url = ''; - $this->digital_key = ''; - $this->digital_description = ''; - $this->email_delivery = $email_delivery; - $this->digital_content=true; - } - - /** - * Sets the information related to the digital delivery of the item. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_digital-content } - * - * @param string $digital_url the url the customer must go to download the - * item. --optional - * @param string $digital_key the key which allows to download or unlock the - * digital content item -- optional - * @param string $digital_description instructions for downloading adigital - * content item, 1024 characters max, can - * contain xml-escaped HTML -- optional - * - * @return void - */ - function SetURLDigitalContent($digital_url, $digital_key, $digital_description) { - $this->digital_url = $digital_url; - $this->digital_key = $digital_key; - $this->digital_description = $digital_description; - $this->email_delivery = 'false'; - $this->digital_content = true; - } - - /** - * Sets the subscription item for the cart - * - * @param googlesubscription $sub the subscription item - * @return void - */ - - function SetSubscription($sub) { - $this->subscription = $sub; - } - - /** - * Sets the currency for the item - * - * @param string $currency currency USD or GBP - * @return void - */ - function SetCurrency($currency){ - $this->currency = $currency; - } - - /** - * Returns the generated XMl from item specifications - * To use this function, you need to specify the item currency - * @param void - * @return string XML cart - */ - function GetXML(){ - require_once('xml-processing/gc_xmlbuilder.php'); - - $xml_data = new gc_XmlBuilder(); - $xml_data->Push('item'); - $xml_data->Element('item-name', $this->item_name); - $xml_data->Element('item-description', $this->item_description); - $xml_data->Element('unit-price', $this->unit_price, - array('currency' => $this->currency)); - $xml_data->Element('quantity', $this->quantity); - if($this->merchant_private_item_data != '') { - // echo get_class($item->merchant_private_item_data); - if(is_a($this->merchant_private_item_data, - 'merchantprivate')) { - $this->merchant_private_item_data->AddMerchantPrivateToXML($xml_data); - } - else { - $xml_data->Element('merchant-private-item-data', - $this->merchant_private_item_data); - } - } - if($this->merchant_item_id != '') - $xml_data->Element('merchant-item-id', $this->merchant_item_id); - if($this->tax_table_selector != '') - $xml_data->Element('tax-table-selector', $this->tax_table_selector); - // recurring Carrier calculation - if($this->item_weight != '' && $this->numeric_weight !== '') { - $xml_data->EmptyElement('item-weight', array( 'unit' => $this->item_weight, - 'value' => $this->numeric_weight - )); - } - // recurring Digital Delivery Tags - if($this->digital_content) { - $xml_data->Push('digital-content'); - if(!empty($this->digital_url)) { - $xml_data->Element('description', substr($this->digital_description, - 0, MAX_DIGITAL_DESC)); - $xml_data->Element('url', $this->digital_url); - // To avoid NULL key message in GC confirmation Page - if(!empty($this->digital_key)) { - $xml_data->Element('key', $this->digital_key); - } - } - else if(!empty($item->digital_description)) { - $xml_data->element('description', substr($item->digital_description, 0,MAX_DIGITAL_DESC)); - } - else { - $xml_data->Element('email-delivery', - $this->_GetBooleanValue($this->email_delivery, "true")); - } - $xml_data->pop('digital-content'); - } - $xml_data->Pop('item'); - return $xml_data->GetXML(); - } - } -?> diff --git a/vendor/php-payments/vendor/google_checkout/library/googlelog.php b/vendor/php-payments/vendor/google_checkout/library/googlelog.php deleted file mode 100755 index 9cc7db5a2975..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/googlelog.php +++ /dev/null @@ -1,96 +0,0 @@ -logLevel = $logLevel; - if($logLevel == L_OFF) { - $this->logLevel = L_OFF; - } else { - if (!$this->errorLogFile = @fopen($errorLogFile, "a")) { - header('HTTP/1.0 500 Internal Server Error'); - $log = "Cannot open " . $errorLogFile . " file.\n" . - "Logs are not writable, set them to 777"; - error_log($log, 0); - if($die) { - die($log); - }else { - echo $log; - $this->logLevel = L_OFF; - } - } - if (!$this->messageLogFile = @fopen($messageLogFile, "a")) { - fclose($this->errorLogFile); - header('HTTP/1.0 500 Internal Server Error'); - $log = "Cannot open " . $messageLogFile . " file.\n" . - "Logs are not writable, set them to 777"; - error_log($log, 0); - if($die) { - die($log); - }else { - echo $log; - $this->logLevel = L_OFF; - } - } - } - $this->logLevel = $logLevel;; - } - - function LogError($log){ - if($this->logLevel & L_ERR){ - fwrite($this->errorLogFile, - sprintf("\n%s:- %s\n",date("D M j G:i:s T Y"),$log)); - return true; - } - return false; - } - - function LogRequest($log){ - if($this->logLevel & L_RQST){ - fwrite($this->messageLogFile, - sprintf("\n%s:- %s\n",date("D M j G:i:s T Y"),$log)); - return true; - } - return false; - } - - function LogResponse($log) { - if($this->logLevel & L_RESP){ - $this->LogRequest($log); - return true; - } - return false; - } -} -?> diff --git a/vendor/php-payments/vendor/google_checkout/library/googlemerchantcalculations.php b/vendor/php-payments/vendor/google_checkout/library/googlemerchantcalculations.php deleted file mode 100755 index f7fa0c957ec8..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/googlemerchantcalculations.php +++ /dev/null @@ -1,115 +0,0 @@ -results_arr = array(); - $this->currency = $currency; - } - - /** - * Add a result of a merchant calculation to the response to be sent. - * - * @param GoogleResult $results the result of a particular merchant - * calculation - * @return void - */ - function AddResult($results) { - $this->results_arr[] = $results; - } - - /** - * Builds the merchant calculation response xml to be sent to - * Google Checkout. - * - * @return string the response xml - */ - function GetXML() { - require_once(dirname(__FILE__).'/xml-processing/gc_xmlbuilder.php'); - - $xml_data = new gc_XmlBuilder(); - $xml_data->Push('merchant-calculation-results', - array('xmlns' => $this->schema_url)); - $xml_data->Push('results'); - - foreach($this->results_arr as $result) { - if($result->shipping_name != "") { - $xml_data->Push('result', array('shipping-name' => - $result->shipping_name, 'address-id' => $result->address_id)); - $xml_data->Element('shipping-rate', $result->ship_price, - array('currency' => $this->currency)); - $xml_data->Element('shippable', $result->shippable); - } else - $xml_data->Push('result', array('address-id' => $result->address_id)); - - if($result->tax_amount != "") - $xml_data->Element('total-tax', $result->tax_amount, - array('currency' => $this->currency)); - - if((count($result->coupon_arr) != 0) || - (count($result->giftcert_arr) != 0) ) { - $xml_data->Push('merchant-code-results'); - - foreach($result->coupon_arr as $curr_coupon) { - $xml_data->Push('coupon-result'); - $xml_data->Element('valid', $curr_coupon->coupon_valid); - $xml_data->Element('code', $curr_coupon->coupon_code); - $xml_data->Element('calculated-amount', $curr_coupon->coupon_amount, - array('currency'=> $this->currency)); - $xml_data->Element('message', $curr_coupon->coupon_message); - $xml_data->Pop('coupon-result'); - } - foreach($result->giftcert_arr as $curr_gift) { - $xml_data->Push('gift-certificate-result'); - $xml_data->Element('valid', $curr_gift->gift_valid); - $xml_data->Element('code', $curr_gift->gift_code); - $xml_data->Element('calculated-amount', $curr_gift->gift_amount, - array('currency'=> $this->currency)); - $xml_data->Element('message', $curr_gift->gift_message); - $xml_data->Pop('gift-certificate-result'); - } - $xml_data->Pop('merchant-code-results'); - } - $xml_data->Pop('result'); - } - $xml_data->Pop('results'); - $xml_data->Pop('merchant-calculation-results'); - return $xml_data->GetXML(); - } - } -?> diff --git a/vendor/php-payments/vendor/google_checkout/library/googlenotification.php b/vendor/php-payments/vendor/google_checkout/library/googlenotification.php deleted file mode 100755 index 9ae9d2b66267..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/googlenotification.php +++ /dev/null @@ -1,178 +0,0 @@ -merchant_id = $id; - $this->merchant_key = $key; - $this->proxy = $proxy; - - $this->schema_url = "http://checkout.google.com/schema/2"; - if(strtolower($server_type) == "sandbox"){ - $this->server_url = "https://sandbox.google.com/checkout/"; - } - else { - $this->server_url= "https://checkout.google.com/"; - } - - $this->base_url = $this->server_url . "api/checkout/v2/"; - $this->reports_url = $this->base_url . "reports/Merchant/" . - $this->merchant_id; - - $this->log = new GoogleLog('', '', L_OFF); - } - - function setLogFiles($errorLogFile, $messageLogFile, $logLevel=L_ERR_RQST) { - $this->log = new GoogleLog($errorLogFile, $messageLogFile, $logLevel); - } - - function getNotifications($start_date='', $end_date='', $orders=array(), - $notification_types=array(), - $continue_token='') { - require_once('xml-processing/gc_xmlparser.php'); - require_once('xml-processing/gc_xmlbuilder.php'); - - $this->start_date = $start_date; - $this->end_date = $end_date; - $this->orders = $orders; - $this->notification_types = $notification_types; - $this->continue_token = $continue_token; - - $notifications = array(); - $invalid_order_numbers = array(); - - do { - list($status, $response) = $this->_doReportsRequest(); - if($status != '200') { - $this->error = array($status, $response); - return null; - } - //echo ''; print_r($response); echo ''; - $xml_parser = new gc_XmlParser($response); - $data = $xml_parser->GetData(); - $root = $xml_parser->GetRoot(); - - $this->continue_token = $data[$root]['continue-token']['VALUE']; - $notifications = $data[$root]['notifications']; - $invalid_order_numbers = $data[$root]['invalid-order-numbers']; - } while($data[$root]['has-more-notifications']['VALUE'] == 'true'); - - return array($notifications, $invalid_order_numbers); - } - - function _doReportsRequest() { - $xml_data = new gc_XmlBuilder(); - $xml_data->Push('notification-history-request', - array('xmlns' => $this->schema_url)); - - if(!empty($this->continue_token)) { - $xml_data->Element('continue-token', trim($this->continue_token)); - } else { - if(!empty($this->start_date)) { - $xml_data->Element('start-time', trim($this->start_date)); - } - if(!empty($this->end_date)) { - $xml_data->Element('end-time', trim($this->end_date)); - } - if(is_array($this->orders) && !empty($this->orders)) { - $xml_data->Push('order-numbers'); - foreach($this->orders as $order) { - if(trim($order) != ''){ - $xml_data->Element('google-order-number', trim($order)); - } - } - $xml_data->Pop('order-numbers'); - } - if(is_array($this->notification_types) && !empty($this->notification_types)) { - $xml_data->Push('notification-types'); - foreach($this->notification_types as $notification_type) { - $xml_data->Element('notification-type', trim($notification_type)); - } - $xml_data->Pop('notification-types'); - } - } - $xml_data->Pop('notification-history-request'); - return $this->sendRequest($this->reports_url, - $this->getAuthenticationHeaders(), - $xml_data->GetXML()); - } - - function getError() { - if($this->error[0] != 'CURLERR') { - $xml_parser = new gc_XmlParser($this->error[1]); - $data = $xml_parser->GetData(); - $error = $data['error']['error-message']['VALUE']; - } else { - $error = $this->error[1]; - } - return array('status_code'=>$this->error[0], 'message'=>$error); - } - - function getAuthenticationHeaders() { - $headers = array( - "Authorization: Basic " . - base64_encode($this->merchant_id.':'.$this->merchant_key), - "Content-Type: application/xml; charset=UTF-8", - "Accept: application/xml; charset=UTF-8", - "User-Agent: gc-php4-sample-code v1.2.5b"); - return $headers; - } - - function setProxy($proxy) { - $this->proxy = $proxy; - } - - function sendRequest($url, $header_arr, $postargs) { - $ch = curl_init($url); - $this->log->LogRequest($postargs); - - curl_setopt($ch, CURLOPT_POST, true); - curl_setopt($ch, CURLOPT_HTTPHEADER, $header_arr); - curl_setopt($ch, CURLOPT_POSTFIELDS, $postargs); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - - if($this->proxy) { - curl_setopt($ch, CURLOPT_PROXY, $this->proxy); - } - - $body = curl_exec($ch); - - if (curl_errno($ch)) { - $this->log->LogError($body); - return array('CURLERR', curl_error($ch)); - } else { - $status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); - curl_close($ch); - } - - // Check for errors - if($status_code == '200') { - $this->log->LogResponse($body); - } else { - $this->log->LogError($body); - } - return array($status_code, $body); - } -} -?> \ No newline at end of file diff --git a/vendor/php-payments/vendor/google_checkout/library/googlenotificationhistory.php b/vendor/php-payments/vendor/google_checkout/library/googlenotificationhistory.php deleted file mode 100755 index d9cd6109599f..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/googlenotificationhistory.php +++ /dev/null @@ -1,95 +0,0 @@ -merchant_id = $id; - $this->merchant_key = $key; - $this->server_type = $server_type; - $this->schema_url = "http://checkout.google.com/schema/2"; - } - - /** - * Send a request to Google Checkout - * - * info: {@link http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Notification_History_API.html} - * - * @param string $sn serial number - * @param string $npt next page token - * @param array $orders array of string google order numbers - * @param array $nt array of string notification types - * @param array $st array of tracking data where tracking code => carrier - * @param string @st string of start time in format YYYY-MM-DD[T]HH:MM:SS[Timezone] ie - * 2010-05-01T05:00:00Z - * @param string @et string of end time in format YYYY-MM-DD[T]HH:MM:SS[Timezone] ie - * 2010-05-02T05:00:00Z - */ - function SendNotificationHistoryRequest($sn = null, $npt = null, $orders = array(), $nt = array(), $st = null, $et = null){ - $postargs = ""; - $postargs .= "schema_url."\">"; - if(isset($sn)){ - $postargs .= "".$sn.""; - } elseif(isset($npt)) { - $postargs .= "".$npt.""; - } - else{ - if(isset($orders) && count($orders) > 0){ - $postargs .= ""; - foreach ($orders as $order){ - $postargs .= "".$order.""; - } - $postargs .= ""; - } - if(isset($nt) && count($nt) > 0){ - $postargs .= ""; - foreach ($nt as $notification_type){ - $postargs .= "".$notification_type.""; - $postargs .= ""; - } - } - $postargs .= ""; - - $Grequest = new GoogleRequest($this->merchant_id, $this->merchant_key, $this->server_type); - return $Grequest->SendReq($Grequest->GetReportUrl(), $Grequest->GetAuthenticationHeaders(), $postargs); - } - } -?> diff --git a/vendor/php-payments/vendor/google_checkout/library/googlepoll.php b/vendor/php-payments/vendor/google_checkout/library/googlepoll.php deleted file mode 100755 index 6fb5d535ac5b..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/googlepoll.php +++ /dev/null @@ -1,220 +0,0 @@ -merchant_id = $id; - $this->merchant_key = $key; - $this->environment = $env; - $this->continue_token = $contToken; - switch ($env) { - case "production": - $this->server_url = $this->prod_base_server_url .$id; - break; - default: - $this->server_url = $this->sandbox_base_server_url .$id; - } - } - /* - * Set whether polling should continue until there are no more - * appropriate notifications to fetch. Default = true, value false - * will stop after one request. - */ - function GetAllNotifications ( $get_all) { - switch ($get_more) { - case false: - $this->get_all_notifications = false; - break; - case true: - $this->get_all_notifications = true; - break; - default: - true; - } - } - /* - * Polls for notifications as defined - */ - function RequestData () { - - //create GRequest object + post xml (googlecart.php line: 962) - require_once('library/googlerequest.php'); - $GRequest = new GoogleRequest($this->merchant_id, $this->merchant_key); - - while($this->has_more_notifications == "true") { - $this->poll_request_xml = $this->GetPollRequestXML(); - $this->poll_result = $GRequest->SendReq($this->server_url, - $GRequest->GetAuthenticationHeaders(), $this->poll_request_xml); - - //Check response code - if($this->poll_result[0] == "200") { - $this->ExtractNotifications(); - } - else return false; - - if($this->get_all_notifications == false) { - $this->has_more_notifications == "false"; - } - } - return true; - } - /* - * Returns an array containing all notifications from poll. - * This includes notifications from multiple requests - */ - function GetNotifications () { - return $this->notifications; - } - /* - * Extracts data from poll response xml. - * This includes, individual notifications, new continue token - * and more notifications value - */ - function ExtractNotifications () { - require_once('xml-processing/gc_XmlParser.php'); - $GXmlParser = new gc_XmlParser($this->poll_result[1]); - $data = $GXmlParser->GetData(); - //Get the actual notifications - foreach($data['notification-data-response']['notifications'] as $notification) { - $this->notifications[] = $notification; - } - //Get other useful info - $this->has_more_notifications = $data['notification-data-response']['has-more-notifications']['VALUE']; - $this->continue_token = $data['notification-data-response']['continue-token']['VALUE']; - } - /* - * Builds poll request XML - */ - function GetPollRequestXML() { - require_once('xml-processing/gc_xmlbuilder.php'); - $xml_data = new gc_XmlBuilder(); - - $xml_data->Push('notification-data-request', - array('xmlns' => $this->schema_url)); - $xml_data->Element('continue-token', $this->continue_token); - $xml_data->Pop('notification-data-request'); - - return $xml_data->GetXML(); - } - } - - /** - * Requests a continue token for polling - */ - class ContinueTokenRequest { - var $start_time; - var $continue_token; - - var $merchant_id; - var $merchant_key; - var $environment; - var $request_token_xml; - var $token_response_xml; - - var $schema_url = "http://checkout.google.com/schema/2"; - var $prod_base_server_url = "https://checkout.google.com/api/checkout/v2/reports/Merchant/"; - var $sandbox_base_server_url = "https://sandbox.google.com/checkout/api/checkout/v2/reports/Merchant/"; - var $server_url; - var $xml_data; - - function ContinueTokenRequest ($id, $key, $env) { - $this->merchant_id = $id; - $this->merchant_key = $key; - $this->environment = $env; - switch ($env) { - case "production": - $this->server_url = $this->prod_base_server_url .$id; - break; - default: - $this->server_url = $this->sandbox_base_server_url .$id; - } - } - function SetStartTime ($poll_start_time) { - $this->start_time = $poll_start_time; - } - function GetContinueToken () { - if($this->continue_token !="") { - return $this->continue_token; - } - else return false; - } - function RequestToken () { - $this->request_token_xml = $this->GetTokenRequestXML(); - - //create GRequest object + post xml (googlecart.php line: 962) - require_once('library/googlerequest.php'); - $GRequest = new GoogleRequest($this->merchant_id, $this->merchant_key); - /*---------------------------------------------------------------------------------------------------*/$GRequest->SetCertificatePath("/etc/ssl/certs/ca-certificates.crt"); - - $this->token_response_xml = $GRequest->SendReq($this->server_url, - $GRequest->GetAuthenticationHeaders(), $this->request_token_xml); - - //Check response code - if($this->token_response_xml[0] == "200") { - require_once('xml-processing/gc_XmlParser.php'); - $GXmlParser = new gc_XmlParser($this->token_response_xml[1]); - $data = $GXmlParser->GetData(); - - $this->continue_token = $data['notification-data-token-response']['continue-token']['VALUE']; - return $this->continue_token; - } - //else return $token_result; - else return false; - } - function GetTokenRequestXML() { - require_once('xml-processing/gc_xmlbuilder.php'); - $xml_data = new gc_XmlBuilder(); - - $xml_data->Push('notification-data-token-request', - array('xmlns' => $this->schema_url)); - $xml_data->Element('start-time', $this->start_time); - $xml_data->Pop('notification-data-token-request'); - - return $xml_data->GetXML(); - } -} -?> \ No newline at end of file diff --git a/vendor/php-payments/vendor/google_checkout/library/googlerequest.php b/vendor/php-payments/vendor/google_checkout/library/googlerequest.php deleted file mode 100755 index add9e5961b72..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/googlerequest.php +++ /dev/null @@ -1,837 +0,0 @@ -merchant_id = $id; - $this->merchant_key = $key; - $this->currency = $currency; - - if(strtolower($server_type) == "sandbox") { - $this->server_url = "https://sandbox.google.com/checkout/"; - } else { - $this->server_url = "https://checkout.google.com/"; - } - - $this->schema_url = "http://checkout.google.com/schema/2"; - $this->base_url = $this->server_url . "api/checkout/v2/"; - $this->request_url = $this->base_url . "request/Merchant/" . $this->merchant_id; - $this->report_url = $this->base_url . "reports/Merchant/" . $this->merchant_id; - $this->merchant_checkout = $this->base_url . "merchantCheckout/Merchant/" . $this->merchant_id; - - ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.'.'); - require_once(dirname(__FILE__).'/googlelog.php'); - $this->log = new GoogleLog('', '', L_OFF); - - } - - function SetLogFiles($errorLogFile, $messageLogFile, $logLevel=L_ERR_RQST) { - $this->log = new GoogleLog($errorLogFile, $messageLogFile, $logLevel); - } - /** - * Submit a SetCertificatePath request. - * - * GC Accepted SSL Certs: - * {@link http://googlecheckoutapi.blogspot.com/2007/07/accepting-50-additional-ssl-root-cas.html} - * - * @param string $certPath The name of a file holding one or more certificates - * to verify the peer with - */ - - function SetCertificatePath($certPath) { - $this->certPath = $certPath; - } - - /** - * Submit a server-to-server request. - * - * more info: - * {@link http://code.google.com/apis/checkout/developer/index.html#alternate_technique} - * - * @param string $xml_cart the cart's xml - * @param bool $die whether to die() or not after performing the request, - * defaults to true - * - * @return array with the returned http status code (200 if OK) in index 0 - * and the redirect url returned by the server in index 1 - */ - function SendServer2ServerCart($xml_cart, $die=true) { - list($status, $body) = $this->SendReq($this->merchant_checkout, - $this->GetAuthenticationHeaders(), $xml_cart); - if($status != 200 ){ - return array($status, $body); - } else { - require_once(dirname(__FILE__).'/xml-processing/gc_xmlparser.php'); - - $xml_parser = new gc_xmlparser($body); - $root = $xml_parser->GetRoot(); - $data = $xml_parser->GetData(); - - $redirect_url = $data[$root]['redirect-url']['VALUE']; - $this->log->logRequest("Redirecting to: ". - $redirect_url); - if (strpos($redirect_url, "shoppingcartshoppingcart") != false) { - $redirect_url = str_replace("shoppingcartshoppingcart","shoppingcart&shoppingcart", $redirect_url); - } - header('Location: ' . $redirect_url); - if($die) { - die($redirect_url); - } - else { - return array(200, $redirect_url); - } - } - } - - /** - * Send a command to the Google Checkout server - * - * info: {@link http://code.google.com/apis/checkout/developer/index.html#charge_order_example} - * - * @param string $google_order the google id of the order - * @param double $amount the amount to be charged, if empty the whole - * amount of the order will be charged - * - * @return array the status code and body of the response - */ - function SendChargeOrder($google_order, $amount='') { - $postargs = " - schema_url. - "\" google-order-number=\"". $google_order. "\">"; - if ($amount != '') { - $postargs .= "currency . "\">" . - $amount . ""; - } - $postargs .= ""; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs); - } - - /** - * Send a command to the Google Checkout server - * - * info: {@link http://http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Financial_Commands.html#Charge_And_Ship_Order} - * - * @param string $google_order the google id of the order - * @param double $amount the amount to be charged, if empty the whole - * amount of the order will be charged - * @param array $tracking_data an array of tracking data where the tracking data maps to the carrier - * @return array the status code and body of the response - */ - function SendChargeAndShipOrder ($google_order, $tracking_data=null, $amount=null){ - $postargs = " - schema_url. - "\" google-order-number=\"". $google_order. "\">"; - if (isset($amount)) { - $postargs .= "currency . "\">" . - $amount . ""; - } - if (isset($tracking_data)){ - $postargs .= ""; - foreach($tracking_data as $tracking_code => $carrier){ - $postargs .= "". - "".$carrier."". - "".$tracking_code."". - ""; - } - $postargs .= ""; - } - $postargs .= ""; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs); - } - /** - * Send a command to the Google Checkout server - * - * info: {@link http://code.google.com/apis/checkout/developer/index.html#refund_order_example} - * - * @param string $google_order the google id of the order - * @param double $amount the amount to be refunded, if empty the whole - * amount of the order will be refunded - * @param string $reason the reason why the refund is taking place - * @param string $comment a comment about the refund - * - * @return array the status code and body of the response - */ - function SendRefundOrder($google_order, $amount, $reason, - $comment='') { - $postargs = " - schema_url. - "\" google-order-number=\"". $google_order. "\">" . - "". $reason . ""; - if($amount!=0) { - $postargs .= "currency . "\">". - htmlentities($amount).""; - } - $postargs .= "". htmlentities($comment) . " - "; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs); - } - - /** - * Send a command to the Google Checkout server - * - * info: {@link http://code.google.com/apis/checkout/developer/index.html#refund_order_example} - * - * @param string $google_order the google id of the order - * @param string $reason the reason why the order is being cancelled - * @param string $comment a comment about the cancellation - * - * @return array the status code and body of the response - */ - function SendCancelOrder($google_order, $reason, $comment) { - $postargs = " - schema_url. - "\" google-order-number=\"". $google_order. "\"> - ". - (substr(htmlentities(strip_tags($reason)),0,GOOGLE_REASON_LENGTH)) . - " - ". - (substr(htmlentities(strip_tags($comment)),0,GOOGLE_REASON_LENGTH)) . - " - "; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs); - } - - /** - * - *Send create-order-recurrence-request to Google CHeckout - * - * @param array $item_arr array of googleitem recurrence items - * @param string $google_order google id of the order - * @return array the status code and body of the response - */ - function SendRecurrenceRequest ($google_order, $item_arr){ - $postargs = " - schema_url. - "\" google-order-number=\"". $google_order. "\"> - - "; - - foreach($item_arr as $item) { - $postargs .= str_replace("","", $item->GetXML()); - } - - $postargs .= " - - "; - return $this->SendReq($this->request_url, $this->GetAuthenticationHeaders(), $postargs); - } - - - /** - * Send an command to the Google Checkout server, which - * will associate a shipper's tracking number with an order. - * - * info: {@link http://code.google.com/apis/checkout/developer/index.html#add_tracking_data_example} - * - * @param string $google_order the google id of the order - * @param string $carrier the carrier, valid values are "DHL", "FedEx", - * "UPS", "USPS" and "Other" - * @param string $tracking_no the shipper's tracking number - * - * @return array the status code and body of the response - */ - function SendTrackingData($google_order, $carrier, - $tracking_no) { - $postargs = " - schema_url . - "\" google-order-number=\"". $google_order . "\"> - - ". htmlentities($carrier) . " - ". $tracking_no . " - - "; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs); - } - - /** - * Send an command to the Google Checkout - * server, which will associate a merchant order number with an order - * - * info: {@link http://code.google.com/apis/checkout/developer/index.html#add_merchant_order_number_example} - * - * @param string $google_order the google id of the order - * @param string $merchant_order the merchant id of the order - * - * @return array the status code and body of the response - */ - function SendMerchantOrderNumber($google_order, - $merchant_order, $timeout=false) { - $postargs = " - schema_url . - "\" google-order-number=\"". $google_order . "\"> - " . $merchant_order . - " - "; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs, $timeout); - } - - /** - * Send a command to the Google Checkout - * server, which will place a message in the customer's Google Checkout - * account - * - * info: {@link http://code.google.com/apis/checkout/developer/index.html#send_buyer_message_example} - * - * @param string $google_order the google id of the order - * @param string $message the message to be sent to the customer - * @param string $send_email whether Google should send an email to - * the buyer, use "true" or"false", - * defaults to "true" - * - * @return array the status code and body of the response - */ - function SendBuyerMessage($google_order, $message, - $send_mail="true", $timeout=false) { - $postargs = " - schema_url . - "\" google-order-number=\"". $google_order . "\"> - " . - (substr(htmlentities(strip_tags($message)),0,GOOGLE_MESSAGE_LENGTH)) - . " - " . strtolower($send_mail) . " - "; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs, $timeout); - } - - /** - * Send a command to the Google Checkout - * server, which will update an order's fulfillment state from NEW to - * PROCESSING - * - * info: {@link http://code.google.com/apis/checkout/developer/index.html#process_order_example} - * - * @param string $google_order the google id of the order - * - * @return array the status code and body of the response - */ - function SendProcessOrder($google_order) { - $postargs = " - schema_url . - "\" google-order-number=\"". $google_order. "\"/> "; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs); - } - - /** - * Send a command to the Google Checkout server, which - * will update an order's fulfillment state from either NEW or PROCESSING - * to DELIVERED - * - * info: {@link http://code.google.com/apis/checkout/developer/index.html#deliver_order_example} - * - * @param string $google_order the google id of the order - * @param string $carrier the carrier, valid values are "DHL", "FedEx", - * "UPS", "USPS" and "Other" - * @param string $tracking_no the shipper's tracking number - * @param string $send_email whether Google should send an email to - * the buyer, use "true" or"false", - * defaults to "true" - * - * @return array the status code and body of the response - */ - function SendDeliverOrder($google_order, $carrier="", - $tracking_no="", $send_mail = "true") { - $postargs = " - schema_url . - "\" google-order-number=\"". $google_order . "\">"; - if($carrier != "" && $tracking_no != "") { - $postargs .= " - ". htmlentities($carrier) . " - ". htmlentities($tracking_no) . " - "; - } - $postargs .= "". strtolower($send_mail) . " - "; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs); - } - - /** - * Send a command to the Google Checkout - * server, which removes an order from the merchant's Merchant Center Inbox - * - * info: {@link http://code.google.com/apis/checkout/developer/index.html#archive_order_example} - * - * @param string $google_order the google id of the order - * - * @return array the status code and body of the response - */ - function SendArchiveOrder($google_order) { - $postargs = " - schema_url. - "\" google-order-number=\"". $google_order. "\"/>"; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs); - } - - /** - * Send a command to the Google Checkout - * server, which returns a previously archived order to the merchant's - * Merchant Center Inbox - * - * info: {@link http://code.google.com/apis/checkout/developer/index.html#unarchive_order_example} - * - * @param string $google_order the google id of the order - * - * @return array the status code and body of the response - */ - function SendUnarchiveOrder($google_order) { - $postargs = " - schema_url."\" google-order-number=\"". - $google_order. "\"/>"; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs); - } - -/** - * Ship items API Commands - * info: {@link http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Line_Item_Shipping.html} - * - * - */ - - /** - * Send a command to the Google Checkout - * server, - * - * info: {@link http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Line_Item_Shipping.html#tag_ship-items} - * - * @param string $google_order the google id of the order - * @param array $items_list a list of GoogleShipItem classes. - * @param string $send_email whether Google should send an email to - * the buyer, use "true" or"false", - * defaults to "true" - * - * @return array the status code and body of the response - */ - - function SendShipItems($google_order, $items_list=array(), $send_mail="true") { - $postargs = " - schema_url . - "\" google-order-number=\"". $google_order . "\">" . - "\n"; - foreach($items_list as $item) { - $postargs .= " - - " . $item->merchant_item_id . " - \n"; - - if(count($item->tracking_data_list)) { - $postargs .= "\n"; - foreach($item->tracking_data_list as $tracking_data) { - $postargs .= " - ". htmlentities($tracking_data['carrier']) . " - ". $tracking_data['tracking-number'] . " - \n"; - } - $postargs .= "\n"; - } - $postargs .= "\n"; - } - $postargs .= "\n" . - "". strtolower($send_mail) . " - "; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs); - - } - - /** - * Send a command to the Google Checkout - * - * info: {@link http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Line_Item_Shipping.html#tag_backorder-items} - * - * @param string $google_order the google id of the order - * @param array $items_list a list of GoogleShipItem classes. - * @param string $send_email whether Google should send an email to - * the buyer, use "true" or"false", - * defaults to "true" - * - * @return array the status code and body of the response - */ - function SendBackorderItems($google_order, $items_list=array(), $send_mail="true") { - $postargs = " - schema_url."\" google-order-number=\"". - $google_order. "\">"; - $postargs .= ""; - foreach($items_list as $item) { - $postargs .= " - " . $item->merchant_item_id . " - "; - } - $postargs .= ""; - $postargs .= "". strtolower($send_mail) . " - "; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs); - } - - /** - * Send a command to the Google Checkout - * - * info: {@link http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Line_Item_Shipping.html#tag_cancel-items} - * - * @param string $google_order the google id of the order - * @param array $items_list a list of GoogleShipItem classes. - * @param string $reason the reason why the refund is taking place - * @param string $comment a comment about the refund - * @param string $send_email whether Google should send an email to - * the buyer, use "true" or"false", - * defaults to "true" - * - * @return array the status code and body of the response - */ - function SendCancelItems($google_order, $items_list=array(), $reason, - $comment='', $send_mail="true") { - $postargs = " - schema_url."\" google-order-number=\"". - $google_order. "\">"; - $postargs .= ""; - foreach($items_list as $item) { - $postargs .= " - " . $item->merchant_item_id . " - "; - } - $postargs .= ""; - $postargs .= "". strtolower($send_mail) . " - ". - (substr(htmlentities(strip_tags($reason)),0,GOOGLE_REASON_LENGTH)) . - " - ". - (substr(htmlentities(strip_tags($comment)),0,GOOGLE_REASON_LENGTH)) . - " - "; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs); - } - - /** - * Send a command to the Google Checkout - * - * info: {@link http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Line_Item_Shipping.html#tag_return-items} - * - * @param string $google_order the google id of the order - * @param array $items_list a list of GoogleShipItem classes. - * @param string $send_email whether Google should send an email to - * the buyer, use "true" or"false", - * defaults to "true" - * - * @return array the status code and body of the response - */ - function SendReturnItems($google_order, $items_list=array(), $send_mail="true") { - $postargs = " - schema_url."\" google-order-number=\"". - $google_order. "\">"; - $postargs .= ""; - foreach($items_list as $item) { - $postargs .= " - " . $item->merchant_item_id . " - "; - } - $postargs .= ""; - $postargs .= "". strtolower($send_mail) . " - "; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs); - } - - /** - * Send a command to the Google Checkout - * - * info: {@link http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Line_Item_Shipping.html#tag_reset-items-shipping-information} - * - * @param string $google_order the google id of the order - * @param array $items_list a list of GoogleShipItem classes. - * @param string $send_email whether Google should send an email to - * the buyer, use "true" or"false", - * defaults to "true" - * - * @return array the status code and body of the response - */ - function SendResetItemsShippingInformation($google_order, $items_list=array(), $send_mail="true") { - $postargs = " - schema_url."\" google-order-number=\"". - $google_order. "\">"; - $postargs .= ""; - foreach($items_list as $item) { - $postargs .= " - " . $item->merchant_item_id . " - "; - } - $postargs .= ""; - $postargs .= "". strtolower($send_mail) . " - "; - return $this->SendReq($this->request_url, - $this->GetAuthenticationHeaders(), $postargs); - } - - function GetRequestUrl(){ - return $this->request_url; - } - - function GetReportUrl(){ - return $this->report_url; - } - /** - * @access private - */ - function GetAuthenticationHeaders() { - $headers = array(); - $headers[] = "Authorization: Basic ".base64_encode( - $this->merchant_id.':'.$this->merchant_key); - $headers[] = "Content-Type: application/xml; charset=UTF-8"; - $headers[] = "Accept: application/xml; charset=UTF-8"; - $headers[] = "User-Agent: GC-PHP-Sample_code (" . PHP_SAMPLE_CODE_VERSION . "/ropu)"; - return $headers; - } - /** - * Set the proxy to be used by the connections to the outside - * - * @param array $proxy Array('host' => 'proxy-host', 'port' => 'proxy-port') - * - */ - function SetProxy($proxy=array()) { - if(is_array($proxy) && count($proxy)) { - $this->proxy['host'] = $proxy['host']; - $this->proxy['port'] = $proxy['port']; - } - } - - /** - * @access private - */ - function SendReq($url, $header_arr, $postargs, $timeout=false) { - // Get the curl session object - $session = curl_init($url); - $this->log->LogRequest($postargs); - // Set the POST options. - curl_setopt($session, CURLOPT_POST, true); - curl_setopt($session, CURLOPT_HTTPHEADER, $header_arr); - curl_setopt($session, CURLOPT_POSTFIELDS, $postargs); - curl_setopt($session, CURLOPT_HEADER, true); - curl_setopt($session, CURLOPT_RETURNTRANSFER, true); - - if(!empty($this->certPath) && file_exists($this->certPath)) { - curl_setopt($session, CURLOPT_SSL_VERIFYPEER, true); - curl_setopt($session, CURLOPT_CAINFO, $this->certPath); - } - else { - curl_setopt($session, CURLOPT_SSL_VERIFYPEER, false); - } - - if(is_array($this->proxy) && count($this->proxy)) { - curl_setopt($session, CURLOPT_PROXY, - $this->proxy['host'] . ":" . $this->proxy['port']); - } - if($timeout != false){ - curl_setopt($session, CURLOPT_TIMEOUT, $timeout); - - } - // Do the POST and then close the session - $response = curl_exec($session); - if (curl_errno($session)) { - $this->log->LogError(curl_error($session)); - return array("CURL_ERR", curl_error($session)); - } else { - curl_close($session); - } - $heads = $this->parse_headers($response); - $body_xml = $this->get_body_x($response); - - try { - $b_e = new SimpleXMLElement($body_xml); - if ($b_e and !empty($b_e->{'error-message'})) { - $body = implode(",\n", $b_e->{'error-message'}->getChildren()); - } - } catch (Exception $e) { - //$body = htmlentities($b_x); - } -// // Get HTTP Status code from the response - $status_code = array(); - preg_match('/\d\d\d/', $heads[0], $status_code); - - - // Check for errors - switch( $status_code[0] ) { - case 200: - // Success - $this->log->LogResponse($response); - return array(200, $body); - break; - case 503: - $this->log->LogError($response); - return array(503, htmlentities($body)); - break; - case 403: - $this->log->LogError($response); - return array(403, htmlentities($body)); - break; - case 400: - $this->log->LogError($response); - return array(400, htmlentities($body)); - break; - default: - $this->log->LogError($response); - return array("ERR", htmlentities($body)); - break; - } - } - -// Private functions -// Function to get HTTP headers, -// will also work with HTTP 200 status added by some proxy servers - /** - * @access private - */ - function parse_headers($message) { - $head_end = strpos($message, DOUBLE_ENTER); - $headers = $this->get_headers_x(substr($message,0, - $head_end + strlen(DOUBLE_ENTER))); - if(!is_array($headers) || empty($headers)){ - return null; - } - if(!preg_match('%[HTTP/\d\.\d] (\d\d\d)%', $headers[0], $status_code)) { - return null; - } - switch( $status_code[1] ) { - case '200': - $parsed = $this->parse_headers(substr($message, - $head_end + strlen(DOUBLE_ENTER))); - return is_null($parsed)?$headers:$parsed; - break; - default: - return $headers; - break; - } - } - - /** - * @access private - */ - function get_headers_x($heads, $format=0) { - $fp = explode(ENTER, $heads); - foreach($fp as $header){ - if($header == "") { - $eoheader = true; - break; - } else { - $header = trim($header); - } - - if($format == 1) { - $key = array_shift(explode(':',$header)); - if($key == $header) { - $headers[] = $header; - } else { - $headers[$key]=substr($header,strlen($key)+2); - } - unset($key); - } else { - $headers[] = $header; - } - } - return $headers; - } - - /** - * @access private - */ - function get_body_x($heads){ - $fp = explode(DOUBLE_ENTER, $heads, 2); - return $fp[1]; - } - } - -class GoogleShipItem { - var $merchant_item_id; - var $tracking_data_list; - var $tracking_no; - - function GoogleShipItem($merchant_item_id, $tracking_data_list=array()) { - $this->merchant_item_id = $merchant_item_id; - $this->tracking_data_list = $tracking_data_list; - } - - function AddTrackingData($carrier, $tracking_no) { - if($carrier != "" && $tracking_no != "") { - $this->tracking_data_list[] = array('carrier' => $carrier, - 'tracking-number' => $tracking_no); - } - } -} -?> diff --git a/vendor/php-payments/vendor/google_checkout/library/googleresponse.php b/vendor/php-payments/vendor/google_checkout/library/googleresponse.php deleted file mode 100755 index ce81b6e68186..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/googleresponse.php +++ /dev/null @@ -1,225 +0,0 @@ -merchant_id = $id; - $this->merchant_key = $key; - $this->schema_url = "http://checkout.google.com/schema/2"; - require_once(dirname(__FILE__).'/googlelog.php'); - $this->log = new GoogleLog('', '', L_OFF); - } - - /** - * @param string $id the merchant id - * @param string $key the merchant key - */ - function SetMerchantAuthentication($id, $key){ - $this->merchant_id = $id; - $this->merchant_key = $key; - } - - function SetLogFiles($errorLogFile, $messageLogFile, $logLevel=L_ERR_RQST) { - $this->log = new GoogleLog($errorLogFile, $messageLogFile, $logLevel); - } - - /** - * Verifies that the authentication sent by Google Checkout matches the - * merchant id and key - * - * @param string $headers the headers from the request - */ - function HttpAuthentication($headers=null, $die=true) { - if(!is_null($headers)) { - $_SERVER = $headers; - } - if(isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) { - $compare_mer_id = $_SERVER['PHP_AUTH_USER']; - $compare_mer_key = $_SERVER['PHP_AUTH_PW']; - } - // IIS Note:: For HTTP Authentication to work with IIS, - // the PHP directive cgi.rfc2616_headers must be set to 0 (the default value). - else if(isset($_SERVER['HTTP_AUTHORIZATION'])){ - list($compare_mer_id, $compare_mer_key) = explode(':', - base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], - strpos($_SERVER['HTTP_AUTHORIZATION'], " ") + 1))); - } else if(isset($_SERVER['Authorization'])) { - list($compare_mer_id, $compare_mer_key) = explode(':', - base64_decode(substr($_SERVER['Authorization'], - strpos($_SERVER['Authorization'], " ") + 1))); - } else { - $this->SendFailAuthenticationStatus( - "Failed to Get Basic Authentication Headers",$die); - return false; - } - if($compare_mer_id != $this->merchant_id - || $compare_mer_key != $this->merchant_key) { - $this->SendFailAuthenticationStatus("Invalid Merchant Id/Key Pair",$die); - return false; - } - return true; - } - - function ProcessMerchantCalculations($merchant_calc) { - $this->SendOKStatus(); - $result = $merchant_calc->GetXML(); - echo $result; - } - -// Notification API - function ProcessNewOrderNotification() { - $this->SendAck(); - } - function ProcessRiskInformationNotification() { - $this->SendAck(); - } - function ProcessOrderStateChangeNotification() { - $this->SendAck(); - } -// Amount Notifications - function ProcessChargeAmountNotification() { - $this->SendAck(); - } - function ProcessRefundAmountNotification() { - $this->SendAck(); - } - function ProcessChargebackAmountNotification() { - $this->SendAck(); - } - function ProcessAuthorizationAmountNotification() { - $this->SendAck(); - } - - function SendOKStatus() { - header('HTTP/1.0 200 OK'); - } - - /** - * Set the response header indicating an erroneous authentication from - * Google Checkout - * - * @param string $msg the message to log - */ - function SendFailAuthenticationStatus($msg="401 Unauthorized Access", - $die=true) { - $this->log->logError($msg); - header('WWW-Authenticate: Basic realm="GoogleCheckout PHPSample Code"'); - header('HTTP/1.0 401 Unauthorized'); - if($die) { - die($msg); - } else { - echo $msg; - } - } - - /** - * Set the response header indicating a malformed request from Google - * Checkout - * - * @param string $msg the message to log - */ - function SendBadRequestStatus($msg="400 Bad Request", $die=true) { - $this->log->logError($msg); - header('HTTP/1.0 400 Bad Request'); - if($die) { - die($msg); - } else { - echo $msg; - } - } - - /** - * Set the response header indicating that an internal error ocurred and - * the notification sent by Google Checkout can't be processed right now - * - * @param string $msg the message to log - */ - function SendServerErrorStatus($msg="500 Internal Server Error", - $die=true) { - $this->log->logError($msg); - header('HTTP/1.0 500 Internal Server Error'); - if($die) { - die($msg); - } else { - echo $msg; - } - } - - /** - * Send an acknowledgement in response to Google Checkout's request - * @param string $serial serial number of notification for acknowledgement - */ - function SendAck($serial=null, $die=true) { - $this->SendOKStatus(); - $acknowledgment = "" . - "schema_url . "\""; - if(isset($serial)) { - $acknowledgment .=" serial-number=\"" . $serial."\""; - } - $acknowledgment .= " />"; - $this->log->LogResponse($acknowledgment); - if($die) { - die($acknowledgment); - } else { - echo $acknowledgment; - } - } - - /** - * @access private - */ - function GetParsedXML($request=null){ - if(!is_null($request)) { - $this->log->LogRequest($request); - $this->response = $request; - require_once(dirname(__FILE__).'/xml-processing/gc_xmlparser.php'); - - $this->xml_parser = new gc_XmlParser($request); - $this->root = $this->xml_parser->GetRoot(); - $this->data = $this->xml_parser->GetData(); - } - return array($this->root, $this->data); - } - } -?> diff --git a/vendor/php-payments/vendor/google_checkout/library/googleresult.php b/vendor/php-payments/vendor/google_checkout/library/googleresult.php deleted file mode 100755 index cbb1315cdfab..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/googleresult.php +++ /dev/null @@ -1,105 +0,0 @@ -} - */ - // refer to demo/responsehandlerdemo.php for usage of this code - class GoogleResult { - var $shipping_name; - var $address_id; - var $shippable; - var $ship_price; - - var $tax_amount; - - var $coupon_arr = array(); - var $giftcert_arr = array(); - - /** - * @param integer $address_id the id of the anonymous address sent by - * Google Checkout. - */ - function GoogleResult($address_id) { - $this->address_id = $address_id; - } - - function SetShippingDetails($name, $price, $shippable = "true") { - $this->shipping_name = $name; - $this->ship_price = $price; - $this->shippable = $shippable; - } - - function SetTaxDetails($amount) { - $this->tax_amount = $amount; - } - - function AddCoupons($coupon) { - $this->coupon_arr[] = $coupon; - } - - function AddGiftCertificates($gift) { - $this->giftcert_arr[] = $gift; - } - } - - /** - * This is a class used to return the results of coupons the buyer supplied in - * the order page. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_coupon-result } - */ - class GoogleCoupons { - var $coupon_valid; - var $coupon_code; - var $coupon_amount; - var $coupon_message; - - function googlecoupons($valid, $code, $amount, $message) { - $this->coupon_valid = $valid; - $this->coupon_code = $code; - $this->coupon_amount = $amount; - $this->coupon_message = $message; - } - } - - /** - * This is a class used to return the results of gift certificates - * supplied by the buyer on the place order page - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_gift-certificate-result} - */ - - class GoogleGiftcerts { - var $gift_valid; - var $gift_code; - var $gift_amount; - var $gift_message; - - function googlegiftcerts($valid, $code, $amount, $message) { - $this->gift_valid = $valid; - $this->gift_code = $code; - $this->gift_amount = $amount; - $this->gift_message = $message; - } - } -?> diff --git a/vendor/php-payments/vendor/google_checkout/library/googleshipping.php b/vendor/php-payments/vendor/google_checkout/library/googleshipping.php deleted file mode 100755 index 00a1d68a141f..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/googleshipping.php +++ /dev/null @@ -1,532 +0,0 @@ -name = $name; - $this->price = $price; - } - - /** - * Adds a restriction to this shipping. - * - * @param GoogleShippingFilters $restrictions the shipping restrictions - */ - function AddShippingRestrictions($restrictions) { - $this->shipping_restrictions = $restrictions; - } - } - - /** - * Represents a merchant calculated shipping - * - * info: - * {@link http://code.google.com/apis/checkout/developer/index.html#shipping_xsd} - * {@link http://code.google.com/apis/checkout/developer/index.html#merchant_calculations_specifying} - */ - class GoogleMerchantCalculatedShipping { - - var $price; - var $name; - var $type = "merchant-calculated-shipping"; - var $shipping_restrictions; - var $address_filters; - - /** - * @param string $name a name for the shipping - * @param double $price the default price for this shipping, used if the - * calculation can't be made for some reason. - */ - function GoogleMerchantCalculatedShipping($name, $price) { - $this->price = $price; - $this->name = $name; - } - - /** - * Adds a restriction to this shipping. - * - * @param GoogleShippingFilters $restrictions the shipping restrictions - */ - function AddShippingRestrictions($restrictions) { - $this->shipping_restrictions = $restrictions; - } - - /** - * Adds an address filter to this shipping. - * - * @param GoogleShippingFilters $filters the address filters - */ - function AddAddressFilters($filters) { - $this->address_filters = $filters; - } - } - - /** - * Represents carrier calculated shipping - */ - class GoogleCarrierCalculatedShipping { - - var $name; - var $type = "carrier-calculated-shipping"; - - var $CarrierCalculatedShippingOptions = array(); -// var $ShippingPackages = array(); - var $ShippingPackage; - - /** - * @param string $name the name of this shipping - */ - function GoogleCarrierCalculatedShipping($name) { - $this->name = $name; - } - - /** - * @param GoogleCarrierCalculatedShippingOption $option the option to be - * added to the carrier calculated shipping - */ - function addCarrierCalculatedShippingOptions($option){ - $this->CarrierCalculatedShippingOptions[] = $option; - } - - /** - * @param GoogleShippingPackage $package - */ - function addShippingPackage($package){ -// $this->ShippingPackages[] = $package; - $this->ShippingPackage = $package; - } - } - - /** - * Represents a shipping method for which Google Checkout will obtain - * shipping costs for the order. - */ - class GoogleCarrierCalculatedShippingOption { - - var $price; - var $shipping_company; - var $shipping_type; - var $carrier_pickup; - var $additional_fixed_charge; - var $additional_variable_charge_percent; -// var $shipping_restrictions; -// var $address_filters; - - /** - * @param double $price the default shipping cost to be used if Google is - * unable to obtain the shipping_company's shipping rate for - * the option - * @param string $shipping_company the name of the shipping_company - * @param string $shipping_type the shipping option, valid values are here: - * http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Carrier_Calculated_Shipping.html#tag_shipping-type - * @param double $additional_fixed_charge a handling charge that will be - * added to the total cost of the order if this shipping option is selected. - * defaults to 0 - * @param double $additional_variable_charge_percent A percentage by which - * the shipping rate will be adjusted. The value may be positive or - * negative. defaults to 0. - * @param string $carrier_pickup Specifies how the package will be - * transfered from the merchand to the shipper. Valid values are - * "REGULAR_PICKUP", "SPECIAL_PICKUP", "DROP_OFF". Defaults to "DROP_OFF". - * - */ - function GoogleCarrierCalculatedShippingOption($price, $shipping_company, - $shipping_type, $additional_fixed_charge=0, - $additional_variable_charge_percent=0, $carrier_pickup='DROP_OFF') { - $this->price = (double)$price; - $this->shipping_company = $shipping_company; - $this->shipping_type = trim($shipping_type); - switch(strtoupper($carrier_pickup)){ - case 'DROP_OFF': - case 'REGULAR_PICKUP': - case 'SPECIAL_PICKUP': - $this->carrier_pickup = $carrier_pickup;; - break; - default: - $this->carrier_pickup = 'DROP_OFF'; - } - if($additional_fixed_charge){ - $this->additional_fixed_charge = (double)$additional_fixed_charge; - } - if($additional_variable_charge_percent){ - $this->additional_variable_charge_percent = (double)$additional_variable_charge_percent; - } - } - -// function AddShippingRestrictions($restrictions) { -// $this->shipping_restrictions = $restrictions; -// } -// -// function AddAddressFilters($filters) { -// $this->address_filters = $filters; -// } - } - - /** - * Represents an individual package that will be shipped to the buyer. - */ - class GoogleShippingPackage { - - var $width; - var $length; - var $height; - var $unit; - var $ship_from; - var $delivery_address_category; - - /** - * @param GoogleShipFrom $ship_from where the package ships from - * @param double $width the width of the package - * @param double $length the length of the package - * @param double $height the height of the package - * @param string $unit the unit used to measure the width/length/height - * of the package, valid values "IN", "CM" - * @param string $delivery_address_category indicates whether the shipping - * method should be applied to a residential or commercial address, valid - * values are "RESIDENTIAL", "COMMERCIAL" - */ - function GoogleShippingPackage($ship_from, $width, $length, $height, $unit, - $delivery_address_category='RESIDENTIAL') { - $this->width = (double)$width; - $this->length = (double)$length; - $this->height = (double)$height; - switch(strtoupper($unit)){ - case 'CM': - $this->unit = strtoupper($unit); - break; - case 'IN': - default: - $this->unit = 'IN'; - } - - $this->ship_from = $ship_from; - switch(strtoupper($delivery_address_category)){ - case 'COMMERCIAL': - $this->delivery_address_category = strtoupper($delivery_address_category); - break; - case 'RESIDENTIAL': - default: - $this->delivery_address_category = 'RESIDENTIAL'; - } - } - } - - /** - * Represents the location from where packages will be shipped from. - * Used with {@link GoogleShippingPackage}. - */ - class GoogleShipFrom { - var $id; - var $city; - var $country_code; - var $postal_code; - var $region; - - /** - * @param string $id an id for this address - * @param string $city the city - * @param string $country_code a 2-letter iso country code - * @param string $postal_code the zip - * @param string $region the region - */ - function GoogleShipFrom($id, $city, $country_code, - $postal_code, $region) { - $this->id = $id; - $this->city = $city; - $this->country_code = $country_code; - $this->postal_code = $postal_code; - $this->region = $region; - } - } - - /** - * - * Shipping restrictions contain information about particular areas where - * items can (or cannot) be shipped. - * - * More info: - * {@link http://code.google.com/apis/checkout/developer/index.html#tag_shipping-restrictions} - * - * Address filters identify areas where a particular merchant-calculated - * shipping method is available or unavailable. Address filters are applied - * before Google Checkout sends a to the - * merchant. Google Checkout will not ask you to calculate the cost of a - * particular shipping method for an address if the address filters in the - * Checkout API request indicate that the method is not available for the - * address. - * - * More info: - * {@link http://code.google.com/apis/checkout/developer/index.html#tag_address-filters} - */ - class GoogleShippingFilters { - - var $allow_us_po_box = true; - - var $allowed_restrictions = false; - var $excluded_restrictions = false; - - var $allowed_world_area = false; - var $allowed_country_codes_arr; - var $allowed_postal_patterns_arr; - var $allowed_country_area; - var $allowed_state_areas_arr; - var $allowed_zip_patterns_arr; - - var $excluded_country_codes_arr; - var $excluded_postal_patterns_arr; - var $excluded_country_area; - var $excluded_state_areas_arr; - var $excluded_zip_patterns_arr; - - function GoogleShippingFilters() { - $this->allowed_country_codes_arr = array(); - $this->allowed_postal_patterns_arr = array(); - $this->allowed_state_areas_arr = array(); - $this->allowed_zip_patterns_arr = array(); - - $this->excluded_country_codes_arr = array(); - $this->excluded_postal_patterns_arr = array(); - $this->excluded_state_areas_arr = array(); - $this->excluded_zip_patterns_arr = array(); - } - - /** - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_allow-us-po-box } - * - * @param bool $allow_us_po_box whether to allow delivery to PO boxes in US, - * defaults to true - */ - function SetAllowUsPoBox($allow_us_po_box = true) { - $this->allow_us_po_box = $allow_us_po_box; - } - - /** - * Set the world as allowed delivery area. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_world-area } - * - * @param bool $world_area Set worldwide allowed shipping, defaults to true - */ - function SetAllowedWorldArea($world_area = true) { - $this->allowed_restrictions = true; - $this->allowed_world_area = $world_area; - } - - // Allows - /** - * Add a postal area to be allowed for delivery. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_postal-area } - * - * @param string $country_code 2-letter iso country code - * @param string $postal_pattern Pattern that matches the postal areas to - * be allowed, as defined in {@link http://code.google.com/apis/checkout/developer/index.html#tag_postal-code-pattern} - */ - function AddAllowedPostalArea($country_code, $postal_pattern = "") { - $this->allowed_restrictions = true; - $this->allowed_country_codes_arr[] = $country_code; - $this->allowed_postal_patterns_arr[]= $postal_pattern; - } - - /** - * Add a us country area to be allowed for delivery. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_us-country-area } - * - * @param string $country_area the area to allow, one of "CONTINENTAL", - * "FULL_50_STATES" or "ALL" - * - */ - function SetAllowedCountryArea($country_area) { - switch ($country_area) { - case "CONTINENTAL_48": - case "FULL_50_STATES": - case "ALL": - $this->allowed_country_area = $country_area; - $this->allowed_restrictions = true; - break; - default: - $this->allowed_country_area = ""; - break; - } - } - - /** - * Allow shipping to areas specified by state. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_us-state-area } - * - * @param array $areas Areas to be allowed - */ - function SetAllowedStateAreas($areas) { - $this->allowed_restrictions = true; - $this->allowed_state_areas_arr = $areas; - } - - /** - * Allow shipping to areas specified by state. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_us-state-area } - * - * @param string $area Area to be allowed - */ - function AddAllowedStateArea($area) { - $this->allowed_restrictions = true; - $this->allowed_state_areas_arr[] = $area; - } - - /** - * Allow shipping to areas specified by zip patterns. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_us-zip-area } - * - * @param array $zips - */ - function SetAllowedZipPatterns($zips) { - $this->allowed_restrictions = true; - $this->allowed_zip_patterns_arr = $zips; - } - - /** - * Allow shipping to area specified by zip pattern. - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_us-zip-area } - * - * @param string - */ - function AddAllowedZipPattern($zip) { - $this->allowed_restrictions = true; - $this->allowed_zip_patterns_arr[] = $zip; - } - - /** - * Exclude postal areas from shipping. - * - * @see AddAllowedPostalArea - */ - function AddExcludedPostalArea($country_code, $postal_pattern = "") { - $this->excluded_restrictions = true; - $this->excluded_country_codes_arr[] = $country_code; - $this->excluded_postal_patterns_arr[]= $postal_pattern; - } - - /** - * Exclude state areas from shipping. - * - * @see SetAllowedStateAreas - */ - function SetExcludedStateAreas($areas) { - $this->excluded_restrictions = true; - $this->excluded_state_areas_arr = $areas; - } - - /** - * Exclude state area from shipping. - * - * @see AddAllowedStateArea - */ - function AddExcludedStateArea($area) { - $this->excluded_restrictions = true; - $this->excluded_state_areas_arr[] = $area; - } - - /** - * Exclude shipping to area specified by zip pattern. - * - * @see SetAllowedZipPatterns - */ - function SetExcludedZipPatternsStateAreas($zips) { - $this->excluded_restrictions = true; - $this->excluded_zip_patterns_arr = $zips; - } - - /** - * Exclude shipping to area specified by zip pattern. - * - * @see AddExcludedZipPattern - */ - function SetAllowedZipPatternsStateArea($zip) { - $this->excluded_restrictions = true; - $this->excluded_zip_patterns_arr[] = $zip; - } - - /** - * Exclude shipping to country area - * - * @see SetAllowedCountryArea - */ - function SetExcludedCountryArea($country_area) { - switch ($country_area) { - case "CONTINENTAL_48": - case "FULL_50_STATES": - case "ALL": - $this->excluded_country_area = $country_area; - $this->excluded_restrictions = true; - break; - - default: - $this->excluded_country_area = ""; - break; - } - } - } - - /** - * Used as a shipping option in which neither a carrier nor a ship-to - * address is specified - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_pickup} - */ - class GooglePickUp { - - var $price; - var $name; - var $type = "pickup"; - - /** - * @param string $name the name of this shipping option - * @param double $price the handling cost (if there is one) - */ - function GooglePickUp($name, $price) { - $this->price = $price; - $this->name = $name; - } - } -?> diff --git a/vendor/php-payments/vendor/google_checkout/library/googlesubscription.php b/vendor/php-payments/vendor/google_checkout/library/googlesubscription.php deleted file mode 100755 index 3a4908ca71e3..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/googlesubscription.php +++ /dev/null @@ -1,91 +0,0 @@ -} - * @param string $type type of subscription google or merchant handled -- required - * @param string $period period to charge for subscriptions --required - * subscriptions - * @param int $times number of times the customer will be charged -- optional - * @param double $maximum maximum possible total for subscription period -- required - * @param googleitem $item recurrent-item to charge --optional for merchant handled - */ - function GoogleSubscription($type, $period, $maximum, $times='', $item='') { - $this->subscription_type = $type; - $this->subscription_period = $period; - $this->maximum_charge = $maximum; - if($times != '') - $this->subscription_payment_times = $times; - if($item != '') - $this->recurrent_item = $item; - } - - /** - * Sets the start date of the subscription - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/Google_Checkout_Beta_Subscriptions.html#tag_subscription} - * - * @param date start date of subscription - */ - function SetStartDate($startdate){ - $this->subscription_start_date = $startdate; - } - - /** - * Sets the end date of the subscription - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/Google_Checkout_Beta_Subscriptions.html#tag_subscription} - * - * @param date end date of subscription - */ - function SetNoChargeAfter($nocharge){ - $this->subscription_no_charge_after = $nocharge; - } - - /** - * Sets the recurring item for Google - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/Google_Checkout_Beta_Subscriptions.html#tag_recurrent-item} - * - * @param item googleitem recurring item to charge - */ - function SetItem($item){ - $this->recurrent_item = $item; - } - } -?> - - diff --git a/vendor/php-payments/vendor/google_checkout/library/googletax.php b/vendor/php-payments/vendor/google_checkout/library/googletax.php deleted file mode 100755 index ce508ee7eaa1..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/googletax.php +++ /dev/null @@ -1,146 +0,0 @@ -world_area = $world_area; - } - - function AddPostalArea($country_code, $postal_pattern = "") { - $this->country_codes_arr[] = $country_code; - $this->postal_patterns_arr[]= $postal_pattern; - } - - function SetStateAreas($areas) { - if(is_array($areas)) - $this->state_areas_arr = $areas; - else - $this->state_areas_arr = array($areas); - } - - function SetZipPatterns($zips) { - if(is_array($zips)) - $this->zip_patterns_arr = $zips; - else - $this->zip_patterns_arr = array($zips); - } - - function SetCountryArea($country_area) { - switch ($country_area) { - case "CONTINENTAL_48": - case "FULL_50_STATES": - case "ALL": - $this->country_area = $country_area; - break; - default: - $this->country_area = ""; - break; - } - } - } - - /** - * Represents a default tax rule - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_default-tax-rule } - */ - class GoogleDefaultTaxRule extends GoogleTaxRule { - - var $shipping_taxed = false; - - function GoogleDefaultTaxRule($tax_rate, $shipping_taxed = "false") { - $this->tax_rate = $tax_rate; - $this->shipping_taxed= $shipping_taxed; - - $this->country_codes_arr = array(); - $this->postal_patterns_arr = array(); - $this->state_areas_arr = array(); - $this->zip_patterns_arr = array(); - } - } - - /** - * Represents an alternate tax rule - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_alternate-tax-rule } - */ - class GoogleAlternateTaxRule extends GoogleTaxRule { - - function GoogleAlternateTaxRule($tax_rate) { - $this->tax_rate = $tax_rate; - - $this->country_codes_arr = array(); - $this->postal_patterns_arr = array(); - $this->state_areas_arr = array(); - $this->zip_patterns_arr = array(); - } - - } - - - /** - * Represents an alternate tax table - * - * GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_alternate-tax-table } - */ - class GoogleAlternateTaxTable { - - var $name; - var $tax_rules_arr; - var $standalone; - - function GoogleAlternateTaxTable($name = "", $standalone = "false") { - if($name != "") { - $this->name = $name; - $this->tax_rules_arr = array(); - $this->standalone = $standalone; - } - } - - function AddAlternateTaxRules($rules) { - $this->tax_rules_arr[] = $rules; - } - } - - -?> diff --git a/vendor/php-payments/vendor/google_checkout/library/htmlSignatureGen.php b/vendor/php-payments/vendor/google_checkout/library/htmlSignatureGen.php deleted file mode 100755 index d939e1a78d11..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/htmlSignatureGen.php +++ /dev/null @@ -1,92 +0,0 @@ -excluded_param_names) == TRUE) { - //Ignore this excluded parameter - } - else { - //$this->html_params[] = array('name' => $param_name, 'value' => $param_value); - $this->html_param_names[] = $param_name; - $this->html_param_values[] = $param_value; - } - } - - private function CalcHmacSha1($data) { - $key = $this->merchant_key; - $blocksize = 64; - $hashfunc = 'sha1'; - if (strlen($key) > $blocksize) { - $key = pack('H*', $hashfunc($key)); - } - $key = str_pad($key, $blocksize, chr(0x00)); - $ipad = str_repeat(chr(0x36), $blocksize); - $opad = str_repeat(chr(0x5c), $blocksize); - $hmac = pack( - 'H*', $hashfunc( - ($key^$opad).pack( - 'H*', $hashfunc( - ($key^$ipad).$data - ) - ) - ) - ); - echo $hmac; - echo("\n"); - return $hmac; - } - - //This function generates and returns the signature - function GetSignature() { - //Sort parameters in ascending alphabetical order (first by name, then by value) - array_multisort($this->html_param_names, $this->html_param_values); - //Create parameter string - for($i=0; $ihtml_param_names); $i++) { - $param_string .= urlencode($this->html_param_names[$i]).'='.urlencode($this->html_param_values[$i]); - if($i+1 < sizeof($this->html_param_names)){ - $param_string .='&'; - } - } - echo($param_string); - echo("\n"); - $signature = base64_encode($this->CalcHmacSha1($param_string)); - return $signature; - } - } -?> \ No newline at end of file diff --git a/vendor/php-payments/vendor/google_checkout/library/xml-processing/gc_xmlbuilder.php b/vendor/php-payments/vendor/google_checkout/library/xml-processing/gc_xmlbuilder.php deleted file mode 100755 index 92f8ae4e8f7f..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/xml-processing/gc_xmlbuilder.php +++ /dev/null @@ -1,95 +0,0 @@ -indent = $indent; - $this->xml = ''."\n"; - } - - function _indent() { - for ($i = 0, $j = count($this->stack); $i < $j; $i++) { - $this->xml .= $this->indent; - } - } - - //Used when an element has sub-elements - // This function adds an open tag to the output - function Push($element, $attributes = array()) { - $this->_indent(); - $this->xml .= '<'.$element; - foreach ($attributes as $key => $value) { - if(!empty($value)) - $this->xml .= ' '.$key.'="'.htmlentities($value).'"'; - } - $this->xml .= ">\n"; - $this->stack[] = $element; - } - - //Used when an element has no subelements. - //Data within the open and close tags are provided with the - //contents variable - function Element($element, $content, $attributes = array()) { - $this->_indent(); - $this->xml .= '<'.$element; - foreach ($attributes as $key => $value) { - $this->xml .= ' '.$key.'="'.htmlentities($value).'"'; - } - $this->xml .= '>'.htmlentities($content).''."\n"; - } - - function EmptyElement($element, $attributes = array()) { - $this->_indent(); - $this->xml .= '<'.$element; - foreach ($attributes as $key => $value) { - $this->xml .= ' '.$key.'="'.htmlentities($value).'"'; - } - $this->xml .= " />\n"; - } - - //Used to close an open tag - function Pop($pop_element) { - $element = array_pop($this->stack); - $this->_indent(); - if($element !== $pop_element) - die('XML Error: Tag Mismatch when trying to close "'. $pop_element. '"'); - else - $this->xml .= "\n"; - } - - function GetXML() { - if(count($this->stack) != 0) - die ('XML Error: No matching closing tag found for " '. array_pop($this->stack). '"'); - else - return $this->xml; - } - } -?> diff --git a/vendor/php-payments/vendor/google_checkout/library/xml-processing/gc_xmlparser.php b/vendor/php-payments/vendor/google_checkout/library/xml-processing/gc_xmlparser.php deleted file mode 100755 index cc76423797c8..000000000000 --- a/vendor/php-payments/vendor/google_checkout/library/xml-processing/gc_xmlparser.php +++ /dev/null @@ -1,205 +0,0 @@ -) - Accept multiple options in a second parameter -* -**/ - -/* This uses SAX parser to convert XML data into PHP associative arrays - * When invoking the constructor with the input data, strip out the first XML line - * - * Member field Description: - * $params: This stores the XML data. The attributes and contents of XML tags - * can be accessed as follows - * - * - * data 1 - * - * data 2 - * - * - * - * print_r($this->params) will return - Array -( - [addresses] => Array - ( - [anonymous-address] => Array - ( - [0] => Array - ( - [id] => 123 - [test] => Array - ( - [VALUE] => data 1 - ) - - ) - - [1] => Array - ( - [id] => 456 - [test] => Array - ( - [VALUE] => data 2 - ) - - ) - - ) - - ) - -) - * gc_xmlparser returns an empty params array if it encounters - * any error during parsing - */ - // XML to Array - class gc_XmlParser { - - var $params = array(); //Stores the object representation of XML data - var $root = NULL; - var $global_index = -1; - var $fold = false; - - /* Constructor for the class - * Takes in XML data as input( do not include the tag - */ - function gc_XmlParser($input, $xmlParams=array(XML_OPTION_CASE_FOLDING => 0)) { - $xmlp = xml_parser_create(); - - //trim xml definition if it's defined - $input = trim(str_replace("", '', $input)); - foreach($xmlParams as $opt => $optVal) { - switch( $opt ) { - case XML_OPTION_CASE_FOLDING: - $this->fold = $optVal; - break; - default: - break; - } - xml_parser_set_option($xmlp, $opt, $optVal); - } - - if(xml_parse_into_struct($xmlp, $input, $vals, $index)) { - $this->root = $this->_foldCase($vals[0]['tag']); - $this->params = $this->xml2ary($vals); - } - xml_parser_free($xmlp); - } - - function _foldCase($arg) { - return( $this->fold ? strtoupper($arg) : $arg); - } - -/* - * Credits for the structure of this function - * http://mysrc.blogspot.com/2007/02/php-xml-to-array-and-backwards.html - * - * Adapted by Ropu - 05/23/2007 - * - */ - function xml2ary($vals) { - - $mnary=array(); - $ary=&$mnary; - foreach ($vals as $r) { - $t=$r['tag']; - if ($r['type']=='open') { - if (isset($ary[$t]) && !empty($ary[$t])) { - if (isset($ary[$t][0])){ - $ary[$t][]=array(); - } - else { - $ary[$t]=array($ary[$t], array()); - } - $cv=&$ary[$t][count($ary[$t])-1]; - } - else { - $cv=&$ary[$t]; - } - $cv=array(); - if (isset($r['attributes'])) { - foreach ($r['attributes'] as $k=>$v) { - $cv[$k]=$v; - } - } - - $cv['_p']=&$ary; - $ary=&$cv; - - } else if ($r['type']=='complete') { - if (isset($ary[$t]) && !empty($ary[$t])) { // same as open - if (isset($ary[$t][0])) { - $ary[$t][]=array(); - } - else { - $ary[$t]=array($ary[$t], array()); - } - $cv=&$ary[$t][count($ary[$t])-1]; - } - else { - $cv=&$ary[$t]; - } - if (isset($r['attributes'])) { - foreach ($r['attributes'] as $k=>$v) { - $cv[$k]=$v; - } - } - $cv['VALUE'] = (isset($r['value']) ? $r['value'] : ''); - - } elseif ($r['type']=='close') { - $ary=&$ary['_p']; - } - } - - $this->_del_p($mnary); - return $mnary; - } - - // _Internal: Remove recursion in result array - function _del_p(&$ary) { - foreach ($ary as $k=>$v) { - if ($k==='_p') { - unset($ary[$k]); - } - else if(is_array($ary[$k])) { - $this->_del_p($ary[$k]); - } - } - } - - /* Returns the root of the XML data */ - function GetRoot() { - return $this->root; - } - - /* Returns the array representing the XML data */ - function GetData() { - return $this->params; - } - } -?> diff --git a/vendor/php-payments/vendor/google_checkout/unitTest/classes/README b/vendor/php-payments/vendor/google_checkout/unitTest/classes/README deleted file mode 100755 index 4d915ee7e14d..000000000000 --- a/vendor/php-payments/vendor/google_checkout/unitTest/classes/README +++ /dev/null @@ -1,24 +0,0 @@ -DEPENDENCIES - -phpUnit runs on PHP3 or PHP4. - -phpUnit uses PCRE (Perl Compatible Regular Expressions). PCRE is -normally compiled into PHP, but it might be missing from custom builds -of PHP. - - -INSTALLATION - -Place the phpunit.php file so that it is in the PHP include_path for -the PHP code to be tested. Installing it in the same directory as the -code-under-test should work. - -The same phpunit.php file can be shared by any number of test suites. -You may wish to install phpunit.php in just one place and adjust the -PHP include_path to include that place. - - -EXAMPLES - -The self-test suite for phpUnit itself is currently the best (only) -example distributed with phpUnit. See phpunit_test.php. diff --git a/vendor/php-payments/vendor/google_checkout/unitTest/classes/phpunit.php b/vendor/php-payments/vendor/google_checkout/unitTest/classes/phpunit.php deleted file mode 100755 index a28759599e67..000000000000 --- a/vendor/php-payments/vendor/google_checkout/unitTest/classes/phpunit.php +++ /dev/null @@ -1,632 +0,0 @@ - -// OntoSys, Inc -// -// $Id: phpunit.php,v 1.11 2002/10/31 18:44:12 fredy Exp $ - -// Copyright (c) 2000 Fred Yankowski - -// 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. -// -error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE | - E_CORE_ERROR | E_CORE_WARNING); - -/* -interface Test { - function run(&$aTestResult); - function countTestCases(); -} -*/ - -function trace($msg) { - return; - print($msg); - flush(); -} - -if (phpversion() >= '4') { - function PHPUnit_error_handler($errno, $errstr, $errfile, $errline) { - global $PHPUnit_testRunning; - $PHPUnit_testRunning[0]->fail("PHP ERROR: ".$errstr." in ".$errfile." at line ".$errline); - } -} - -class Exception { - /* Emulate a Java exception, sort of... */ - var $message; - var $type; - function Exception($message, $type = 'FAILURE') { - $this->message = $message; - $this->type = $type; - } - function getMessage() { - return $this->message; - } - function getType() { - return $this->type; - } -} - -class Assert { - function assert($boolean, $message=0) { - if (! $boolean) - $this->fail($message); - } - - function assertEquals($expected, $actual, $message=0) { - if (gettype($expected) != gettype($actual)) { - $this->failNotEquals($expected, $actual, "expected", $message); - return; - } - if (phpversion() < '4') { - if (is_object($expected) or is_object($actual) - or is_array($expected) or is_array($actual)) { - $this->error("INVALID TEST: cannot compare arrays or objects in PHP3"); - return; - } - } - if (phpversion() >= '4' && is_object($expected)) { - if (get_class($expected) != get_class($actual)) { - $this->failNotEquals($expected, $actual, "expected", $message); - return; - } - if (method_exists($expected, "equals")) { - if (! $expected->equals($actual)) { - $this->failNotEquals($expected, $actual, "expected", $message); - } - return; // no further tests after equals() - - } - } - if (phpversion() >= '4.0.4') { - if (is_null($expected) != is_null($actual)) { - $this->failNotEquals($expected, $actual, "expected", $message); - return; - } - } - if ($expected != $actual) { - $this->failNotEquals($expected, $actual, "expected", $message); - } - } - - function assertRegexp($regexp, $actual, $message=false) { - if (! preg_match($regexp, $actual)) { - $this->failNotEquals($regexp, $actual, "pattern", $message); - } - } - - function assertEqualsMultilineStrings($string0, $string1, - $message="") { - $lines0 = split("\n",$string0); - $lines1 = split("\n",$string1); - if (sizeof($lines0) != sizeof($lines1)) { - $this->failNotEquals(sizeof($lines0)." line(s)", - sizeof($lines1)." line(s)", "expected", $message); - } - for($i=0; $i< sizeof($lines0); $i++) { - $this->assertEquals(trim($lines0[$i]), - trim($lines1[$i]), - "line ".($i+1)." of multiline strings differ. ".$message); - } - } - - function _formatValue($value, $class="") { - $translateValue = $value; - if (phpversion() >= '4.0.0') { - if (is_object($value)) { - if (method_exists($value, "toString") ) { - $translateValue = $value->toString(); - } - else { - $translateValue = serialize($value); - } - } - else if (is_array($value)) { - $translateValue = serialize($value); - } - } - $htmlValue = "" - . htmlspecialchars($translateValue) . ""; - if (phpversion() >= '4.0.0') { - if (is_bool($value)) { - $htmlValue = $value ? "true" : "false"; - } - elseif (phpversion() >= '4.0.4' && is_null($value)) { - $htmlValue = "null"; - } - $htmlValue .= "   "; - $htmlValue .= "type:" . gettype($value); - $htmlValue .= is_object($value) ? ", class:" . get_class($value) : ""; - $htmlValue .= ""; - } - return $htmlValue; - } - - function failNotEquals($expected, $actual, $expected_label, $message=0) { - // Private function for reporting failure to match. - $str = $message ? ($message . ' ') : ''; - //$str .= "($expected_label/actual)
            "; - $str .= "
            "; - $str .= sprintf("%s
            %s", - $this->_formatValue($expected, "expected"), - $this->_formatValue($actual, "actual")); - $this->fail($str); - } -} - -class TestCase extends Assert /* implements Test */ { - /* Defines context for running tests. Specific context -- such as - instance variables, global variables, global state -- is defined - by creating a subclass that specializes the setUp() and - tearDown() methods. A specific test is defined by a subclass - that specializes the runTest() method. */ - var $fName; - var $fClassName; - var $fResult; - var $fExceptions = array(); - - function TestCase($name) { - $this->fName = $name; - } - - function run($testResult=0) { - /* Run this single test, by calling the run() method of the - TestResult object which will in turn call the runBare() method - of this object. That complication allows the TestResult object - to do various kinds of progress reporting as it invokes each - test. Create/obtain a TestResult object if none was passed in. - Note that if a TestResult object was passed in, it must be by - reference. */ - if (! $testResult) - $testResult = $this->_createResult(); - $this->fResult = $testResult; - $testResult->run(&$this); - $this->fResult = 0; - return $testResult; - } - - function classname() { - if (isset($this->fClassName)) { - return $this->fClassName; - } else { - return get_class($this); - } - } - - function countTestCases() { - return 1; - } - - function runTest() { - if (phpversion() >= '4') { - global $PHPUnit_testRunning; - eval('$PHPUnit_testRunning[0] = & $this;'); - // Saved ref to current TestCase, so that the error handler - // can access it. This code won't even parse in PHP3, so we - // hide it in an eval. - - $old_handler = set_error_handler("PHPUnit_error_handler"); - // errors will now be handled by our error handler - } - - $name = $this->name(); - if (phpversion() >= '4' && ! method_exists($this, $name)) { - $this->error("Method '$name' does not exist"); - } - else - $this->$name(); - -// if (phpversion() >= '4') { -// set_error_handler($old_handler); // revert to prior error handler -// $PHPUnit_testRunning = null; -// } - } - - function setUp() /* expect override */ { - //print("TestCase::setUp()
            \n"); - } - - function tearDown() /* possible override */ { - //print("TestCase::tearDown()
            \n"); - } - - //////////////////////////////////////////////////////////////// - - - function _createResult() /* protected */ { - /* override this to use specialized subclass of TestResult */ - return new TestResult; - } - - function fail($message=0) { - //printf("TestCase::fail(%s)
            \n", ($message) ? $message : ''); - /* JUnit throws AssertionFailedError here. We just record the - failure and carry on */ - $this->fExceptions[] = new Exception(&$message, 'FAILURE'); - } - - function error($message) { - /* report error that requires correction in the test script - itself, or (heaven forbid) in this testing infrastructure */ - $this->fExceptions[] = new Exception(&$message, 'ERROR'); - $this->fResult->stop(); // [does not work] - } - - function failed() { - reset($this->fExceptions); - while (list($key, $exception) = each($this->fExceptions)) { - if ($exception->type == 'FAILURE') - return true; - } - return false; - } - function errored() { - reset($this->fExceptions); - while (list($key, $exception) = each($this->fExceptions)) { - if ($exception->type == 'ERROR') - return true; - } - return false; - } - - function getExceptions() { - return $this->fExceptions; - } - - function name() { - return $this->fName; - } - - function runBare() { - $this->setup(); - $this->runTest(); - $this->tearDown(); - } -} - - -class TestSuite /* implements Test */ { - /* Compose a set of Tests (instances of TestCase or TestSuite), and - run them all. */ - var $fTests = array(); - var $fClassname; - - function TestSuite($classname=false) { - // Find all methods of the given class whose name starts with - // "test" and add them to the test suite. - - // PHP3: We are just _barely_ able to do this with PHP's limited - // introspection... Note that PHP seems to store method names in - // lower case, and we have to avoid the constructor function for - // the TestCase class superclass. Names of subclasses of TestCase - // must not start with "Test" since such a class will have a - // constructor method name also starting with "test" and we can't - // distinquish such a construtor from the real test method names. - // So don't name any TestCase subclasses as "Test..."! - - // PHP4: Never mind all that. We can now ignore constructor - // methods, so a test class may be named "Test...". - - if (empty($classname)) - return; - $this->fClassname = $classname; - - if (floor(phpversion()) >= 4) { - // PHP4 introspection, submitted by Dylan Kuhn - - $names = get_class_methods($classname); - while (list($key, $method) = each($names)) { - if (preg_match('/^test/', $method)) { - $test = new $classname($method); - if (strcasecmp($method, $classname) == 0 || is_subclass_of($test, $method)) { - // Ignore the given method name since it is a constructor: - // it's the name of our test class or it is the name of a - // superclass of our test class. (This code smells funny. - // Anyone got a better way?) - - //print "skipping $method
            "; - } - else { - $this->addTest($test); - } - } - } - } - else { // PHP3 - $dummy = new $classname("dummy"); - $names = (array) $dummy; - while (list($key, $value) = each($names)) { - $type = gettype($value); - if ($type == "user function" && preg_match('/^test/', $key) - && $key != "testcase") { - $this->addTest(new $classname($key)); - } - } - } - } - - function addTest($test) { - /* Add TestCase or TestSuite to this TestSuite */ - $this->fTests[] = $test; - } - - function run(&$testResult) { - /* Run all TestCases and TestSuites comprising this TestSuite, - accumulating results in the given TestResult object. */ - reset($this->fTests); - while (list($na, $test) = each($this->fTests)) { - if ($testResult->shouldStop()) - break; - $test->run(&$testResult); - } - } - - function countTestCases() { - /* Number of TestCases comprising this TestSuite (including those - in any constituent TestSuites) */ - $count = 0; - reset($fTests); - while (list($na, $test_case) = each($this->fTests)) { - $count += $test_case->countTestCases(); - } - return $count; - } -} - - -class TestFailure { - /* Record failure of a single TestCase, associating it with the - exception that occurred */ - var $fFailedTestName; - var $fException; - - function TestFailure(&$test, &$exception) { - $this->fFailedTestName = $test->name(); - $this->fException = $exception; - } - - function getExceptions() { - // deprecated - return array($this->fException); - } - function getException() { - return $this->fException; - } - - function getTestName() { - return $this->fFailedTestName; - } -} - - -class TestResult { - /* Collect the results of running a set of TestCases. */ - var $fFailures = array(); - var $fErrors = array(); - var $fRunTests = 0; - var $fStop = false; - - function TestResult() { } - - function _endTest($test) /* protected */ { - /* specialize this for end-of-test action, such as progress - reports */ - } - - function addError($test, $exception) { - $this->fErrors[] = new TestFailure(&$test, &$exception); - } - - function addFailure($test, $exception) { - $this->fFailures[] = new TestFailure(&$test, &$exception); - } - - function getFailures() { - return $this->fFailures; - } - - function run($test) { - /* Run a single TestCase in the context of this TestResult */ - $this->_startTest($test); - $this->fRunTests++; - - $test->runBare(); - - /* this is where JUnit would catch AssertionFailedError */ - $exceptions = $test->getExceptions(); - reset($exceptions); - while (list($key, $exception) = each($exceptions)) { - if ($exception->type == 'ERROR') - $this->addError($test, $exception); - else if ($exception->type == 'FAILURE') - $this->addFailure($test, $exception); - } - // if ($exceptions) - // $this->fFailures[] = new TestFailure(&$test, &$exceptions); - $this->_endTest($test); - } - - function countTests() { - return $this->fRunTests; - } - - function shouldStop() { - return $this->fStop; - } - - function _startTest($test) /* protected */ { - /* specialize this for start-of-test actions */ - } - - function stop() { - /* set indication that the test sequence should halt */ - $fStop = true; - } - - function errorCount() { - return count($this->fErrors); - } - function failureCount() { - return count($this->fFailures); - } - function countFailures() { - // deprecated - return $this->failureCount(); - } -} - - -class TextTestResult extends TestResult { - /* Specialize TestResult to produce text/html report */ - function TextTestResult() { - $this->TestResult(); // call superclass constructor - } - - function report() { - /* report result of test run */ - $nRun = $this->countTests(); - $nFailures = $this->failureCount(); - $nErrors = $this->errorCount(); - printf("

            %s test%s run
            ", $nRun, ($nRun == 1) ? '' : 's'); - printf("%s failure%s
            \n", $nFailures, ($nFailures == 1) ? '' : 's'); - printf("%s error%s.
            \n", $nErrors, ($nErrors == 1) ? '' : 's'); - - if ($nFailures > 0) { - print("

            Failures

            "); - print("
              \n"); - $failures = $this->getFailures(); - while (list($i, $failure) = each($failures)) { - $failedTestName = $failure->getTestName(); - printf("
            1. %s\n", $failedTestName); - - $exceptions = $failure->getExceptions(); - print("
                "); - while (list($na, $exception) = each($exceptions)) - printf("
              • %s\n", $exception->getMessage()); - print("
              "); - } - print("
            \n"); - } - - if ($nErrors > 0) { - print("

            Errors

            "); - print("
              \n"); - reset($this->fErrors); - while (list($i, $error) = each($this->fErrors)) { - $erroredTestName = $error->getTestName(); - printf("
            1. %s\n", $failedTestName); - - $exception = $error->getException(); - print("
                "); - printf("
              • %s\n", $exception->getMessage()); - print("
              "); - } - print("
            \n"); - - } - } - - function _startTest($test) { - if (phpversion() > '4') { - printf("%s - %s ", get_class($test), $test->name()); - } else { - printf("%s ", $test->name()); - } - flush(); - } - - function _endTest($test) { - $outcome = $test->failed() - ? "FAIL" - : "ok"; - printf("$outcome
            \n"); - flush(); - } -} - -// PrettyTestResult created by BJG 17/11/01 -// beacuse the standard test result provided looks -// rubbish. -class PrettyTestResult extends TestResult { - /* Specialize TestResult to produce text/html report */ - function PrettyTestResult() { - $this->TestResult(); // call superclass constructor - echo "

            Tests

            "; - - echo ""; - echo ""; - } - - function report() { - echo "
            ClassFunctionSuccess?
            "; - /* report result of test run */ - $nRun = $this->countTests(); - $nFailures = $this->countFailures(); - echo "

            Summary

            "; - - printf("

            %s test%s run
            ", $nRun, ($nRun == 1) ? '' : 's'); - printf("%s failure%s.
            \n", $nFailures, ($nFailures == 1) ? '' : 's'); - if ($nFailures == 0) - return; - - echo "

            Failure Details

            "; - print("
              \n"); - $failures = $this->getFailures(); - while (list($i, $failure) = each($failures)) { - $failedTestName = $failure->getTestName(); - printf("
            1. %s\n", $failedTestName); - - $exceptions = $failure->getExceptions(); - print("
                "); - while (list($na, $exception) = each($exceptions)) - printf("
              • %s\n", $exception->getMessage()); - print("
              "); - } - print("
            \n"); - } - - function _startTest($test) { - printf("%s %s ", $test->classname(),$test->name()); - flush(); - } - - function _endTest($test) { - $outcome = $test->failed() - ? " class=\"Failure\">FAIL" - : " class=\"Pass\">OK"; - printf(""); - flush(); - } -} - -class TestRunner { - /* Run a suite of tests and report results. */ - function run($suite) { - $result = new TextTestResult; - $suite->run($result); - $result->report(); - } -} - -?> \ No newline at end of file diff --git a/vendor/php-payments/vendor/google_checkout/unitTest/error.log b/vendor/php-payments/vendor/google_checkout/unitTest/error.log deleted file mode 100755 index e69de29bb2d1..000000000000 diff --git a/vendor/php-payments/vendor/google_checkout/unitTest/message.log b/vendor/php-payments/vendor/google_checkout/unitTest/message.log deleted file mode 100755 index e69de29bb2d1..000000000000 diff --git a/vendor/php-payments/vendor/google_checkout/unitTest/stylesheet.css b/vendor/php-payments/vendor/google_checkout/unitTest/stylesheet.css deleted file mode 100755 index b2448252c436..000000000000 --- a/vendor/php-payments/vendor/google_checkout/unitTest/stylesheet.css +++ /dev/null @@ -1,64 +0,0 @@ - -body { - font:normal 68% verdana,arial,helvetica; - color:#000000; -} -table tr td, table tr th { - font-size: 68%; -} -table.details tr th{ - font-weight: bold; - text-align:left; - background:#a6caf0; -} -table.details tr{ - background:#eeeee0; -} - -p { - line-height:1.5em; - margin-top:0.5em; margin-bottom:1.0em; -} -h1 { - margin: 0px 0px 5px; font: 165% verdana,arial,helvetica -} -h2 { - margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica -} -h3 { - margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica -} -h4 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica -} -h5 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica -} -h6 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica -} -.Error { - font-weight:bold; color:red; -} -.Failure, .Unexpected { - background:#ff0000; font-weight:bold; color:black; -} -.Unknown { - background:#ffff00; font-weight:bold; color:black; -} -.Pass, .Expected { - background:#00ff00; font-weight:bold; color:black; -} -.Properties { - text-align:right; -} - -CODE.expected { - color: green; background: none; font-weight: normal; -} -CODE.actual { - color: red; background: none; font-weight: normal; -} -.typeinfo { - color: gray; -} diff --git a/vendor/php-payments/vendor/google_checkout/unitTest/testGoogleCart.php b/vendor/php-payments/vendor/google_checkout/unitTest/testGoogleCart.php deleted file mode 100755 index 78a2137229d9..000000000000 --- a/vendor/php-payments/vendor/google_checkout/unitTest/testGoogleCart.php +++ /dev/null @@ -1,64 +0,0 @@ -TestCase($name); - } - - function setUp() { - /* put any common setup here */ - } - - function tearDown() { - /* put any common endup here */ - } - - function TestGoogleCartSimple(){ - $Gcart = new googlecart('123', 'abc', "sandbox", 'GBP'); - $Gitem = new GoogleItem('Name', - 'description', - '3', - '12.34'); - $Gitem->SetMerchantPrivateItemData( - new MerchantPrivateItemData('PrivateItemData')); - $Gitem->SetMerchantItemId('123-4321'); -// $Gitem->SetTaxTableSelector('TaxableGood'); - $Gcart->AddItem($Gitem); - $this->assertEquals(trim($Gcart->getXML()), - trim(' - - - - - Name - description - 12.34 - 3 - PrivateItemData - 123-4321 - - - - - - - -')); - - } - -} - -if(!isset($suite)) { - $suite = new TestSuite(); -} - -$suite->addTest(new TestGoogleCart("TestGoogleCartSimple")); - -?> \ No newline at end of file diff --git a/vendor/php-payments/vendor/google_checkout/unitTest/testGoogleLog.php b/vendor/php-payments/vendor/google_checkout/unitTest/testGoogleLog.php deleted file mode 100755 index 06ec0d294792..000000000000 --- a/vendor/php-payments/vendor/google_checkout/unitTest/testGoogleLog.php +++ /dev/null @@ -1,53 +0,0 @@ -TestCase($name); - } - - function setUp() { - /* put any common setup here */ - } - - function tearDown() { - /* put any common endup here */ - } - - function testGoogleLogFilesExist(){ - $Glog = new GoogleLog(API_CALLBACK_ERROR_LOG, API_CALLBACK_MESSAGE_LOG, L_ALL, false); - $this->assertEquals($Glog->logLevel, L_ALL, "This Should Pass"); - } - - function testGoogleLogError(){ - $Glog = new GoogleLog(API_CALLBACK_ERROR_LOG, API_CALLBACK_MESSAGE_LOG, L_ERR, false); - $this->assert($Glog->LogError("error")); - } - - function testGoogleLogRequest(){ - $Glog = new GoogleLog(API_CALLBACK_ERROR_LOG, API_CALLBACK_MESSAGE_LOG, L_RQST, false); - $this->assert($Glog->LogRequest("request")); - } - - function testGoogleLogResponse(){ - $Glog = new GoogleLog(API_CALLBACK_ERROR_LOG, API_CALLBACK_MESSAGE_LOG, L_RESP, false); - $this->assert($Glog->LogResponse("response")); - } -} - -if(!isset($suite)) { - $suite = new TestSuite(); -} - -$suite->addTest(new TestGoogleLog("testGoogleLogFilesExist")); -$suite->addTest(new TestGoogleLog("testGoogleLogError")); -$suite->addTest(new TestGoogleLog("testGoogleLogRequest")); -$suite->addTest(new TestGoogleLog("testGoogleLogResponse")); - -?> \ No newline at end of file diff --git a/vendor/php-payments/vendor/google_checkout/unitTest/testGoogleXMLParser.php b/vendor/php-payments/vendor/google_checkout/unitTest/testGoogleXMLParser.php deleted file mode 100755 index f843bc9cf842..000000000000 --- a/vendor/php-payments/vendor/google_checkout/unitTest/testGoogleXMLParser.php +++ /dev/null @@ -1,379 +0,0 @@ -TestCase($name); - } - - function setUp() { - /* put any common setup here */ - } - - function tearDown() { - /* put any common endup here */ - } - - function testGoogleXMLParserGetRoot(){ - $xml = ' - - data 1 - - - data 2 - - '; - - $xml_parsed = new xmlParser($xml); - $this->assertEquals($xml_parsed->getRoot(), 'addresses'); - } - - function testGoogleXMLParserGetDataSimpleXML(){ - $xml = ' - - data 1 - - - data 2 - - '; - - $xml_parsed = new xmlParser($xml); - $data = $xml_parsed->getData(); - - $this->assertEquals(serialize($data), 'a:1:{s:9:"addresses";a:1:{s:17:"anonymous-address";a:2:{i:0;a:2:{s:2:"id";s:3:"123";s:4:"test";a:1:{s:5:"VALUE";s:7:"data 1 ";}}i:1;a:2:{s:2:"id";s:3:"456";s:4:"test";a:1:{s:5:"VALUE";s:7:"data 2 ";}}}}}'); - } - - function testGoogleXMLParserGetDataMediumXML(){ - $xml = ' - - - - canada - Theres Something About Mary Linked - 1 - 49.99 - 19 - - YToxNzp7czoyOiJpZCI7aToxOTtzOjg6ImNhdGVnb3J5IjtzOjI6IjEyIjtzOjQ6Im5hbWUiO3M6MzU6IlRoZXJlJ3MgU29tZXRoaW5nIEFib3V0IE1hcnkgTGlua2VkIjtzOjU6Im1vZGVsIjtzOjg6IkRWRC1UU0FCIjtzOjU6ImltYWdlIjtzOjM1OiJkdmQvdGhlcmVzX3NvbWV0aGluZ19hYm91dF9tYXJ5LmdpZiI7czo1OiJwcmljZSI7czo3OiI0OS45OTAwIjtzOjg6InF1YW50aXR5IjtpOjE7czo2OiJ3ZWlnaHQiO2k6NztzOjExOiJmaW5hbF9wcmljZSI7ZDo0OS45OTAwMDAwMDAwMDAwMDE5ODk1MTk2NjAxMjgyODA1MjA0MzkxNDc5NDkyMTg3NTtzOjE1OiJvbmV0aW1lX2NoYXJnZXMiO2k6MDtzOjEyOiJ0YXhfY2xhc3NfaWQiO3M6MToiMyI7czoxMDoiYXR0cmlidXRlcyI7czowOiIiO3M6MTc6ImF0dHJpYnV0ZXNfdmFsdWVzIjtzOjA6IiI7czoyODoicHJvZHVjdHNfcHJpY2VkX2J5X2F0dHJpYnV0ZSI7czoxOiIwIjtzOjE1OiJwcm9kdWN0X2lzX2ZyZWUiO3M6MToiMCI7czoyMjoicHJvZHVjdHNfZGlzY291bnRfdHlwZSI7czoxOiIwIjtzOjI3OiJwcm9kdWN0c19kaXNjb3VudF90eXBlX2Zyb20iO3M6MToiMCI7fQ== - - - - - - f2f7a0b668ff17095fb996420b8f428c;zenid - - - 192.168.128.150 - - - - - 672088952143679 - - - - - - - - US - miami - FL - 33013 - - - - - - false - - en_US - -'; - - $xml_parsed = new xmlParser($xml); - $data = $xml_parsed->getData(); - $this->assertEquals(serialize($data), - 'a:1:{s:29:"merchant-calculation-callback";a:6:{s:5:"xmlns";s:35:"http:' . - '//checkout.google.com/schema/2";s:13:"serial-number";s:36:"f1554537-ae' . - 'eb-4317-9f34-9a88c104d8ae";s:13:"shopping-cart";a:2:{s:5:"items";a:1:' . - '{s:4:"item";a:7:{s:18:"tax-table-selector";a:1:{s:5:"VALUE";s:6:"canad' . - 'a";}s:9:"item-name";a:1:{s:5:"VALUE";s:34:"Theres Something About Mary' . - ' Linked";}s:8:"quantity";a:1:{s:5:"VALUE";s:1:"1";}s:10:"unit-price";a' . - ':2:{s:8:"currency";s:3:"USD";s:5:"VALUE";s:5:"49.99";}s:16:"merchant-i' . - 'tem-id";a:1:{s:5:"VALUE";s:2:"19";}s:16:"item-description";a:1:{s:5:"V' . - 'ALUE";s:0:"";}s:26:"merchant-private-item-data";a:1:{s:5:"VALUE";s:780' . - ':"YToxNzp7czoyOiJpZCI7aToxOTtzOjg6ImNhdGVnb3J5IjtzOjI6IjEyIjtzOjQ6Im5h' . - 'bWUiO3M6MzU6IlRoZXJlJ3MgU29tZXRoaW5nIEFib3V0IE1hcnkgTGlua2VkIjtzOjU6Im' . - '1vZGVsIjtzOjg6IkRWRC1UU0FCIjtzOjU6ImltYWdlIjtzOjM1OiJkdmQvdGhlcmVzX3Nv' . - 'bWV0aGluZ19hYm91dF9tYXJ5LmdpZiI7czo1OiJwcmljZSI7czo3OiI0OS45OTAwIjtzOj' . - 'g6InF1YW50aXR5IjtpOjE7czo2OiJ3ZWlnaHQiO2k6NztzOjExOiJmaW5hbF9wcmljZSI7' . - 'ZDo0OS45OTAwMDAwMDAwMDAwMDE5ODk1MTk2NjAxMjgyODA1MjA0MzkxNDc5NDkyMTg3NT' . - 'tzOjE1OiJvbmV0aW1lX2NoYXJnZXMiO2k6MDtzOjEyOiJ0YXhfY2xhc3NfaWQiO3M6MToi' . - 'MyI7czoxMDoiYXR0cmlidXRlcyI7czowOiIiO3M6MTc6ImF0dHJpYnV0ZXNfdmFsdWVzIj' . - 'tzOjA6IiI7czoyODoicHJvZHVjdHNfcHJpY2VkX2J5X2F0dHJpYnV0ZSI7czoxOiIwIjtz' . - 'OjE1OiJwcm9kdWN0X2lzX2ZyZWUiO3M6MToiMCI7czoyMjoicHJvZHVjdHNfZGlzY291bn' . - 'RfdHlwZSI7czoxOiIwIjtzOjI3OiJwcm9kdWN0c19kaXNjb3VudF90eXBlX2Zyb20iO3M6' . - 'MToiMCI7fQ==";}}}s:21:"merchant-private-data";a:2:{s:12:"session-data"' . - ';a:1:{s:5:"VALUE";s:38:"f2f7a0b668ff17095fb996420b8f428c;zenid";}s:10:' . - '"ip-address";a:1:{s:5:"VALUE";s:15:"192.168.128.150";}}}s:8:"buyer-id"' . - ';a:1:{s:5:"VALUE";s:15:"672088952143679";}s:9:"calculate";a:4:{s:8:"sh' . - 'ipping";a:1:{s:6:"method";a:2:{i:0;a:2:{s:4:"name";s:32:"Per Item Nati' . - 'onal: Item National";s:5:"VALUE";s:0:"";}i:1;a:2:{s:4:"name";s:18:"Zon' . - 'es: Zones Rates";s:5:"VALUE";s:0:"";}}}s:9:"addresses";a:1:{s:17:"anon' . - 'ymous-address";a:5:{s:2:"id";s:15:"562553315477382";s:12:"country-code' . - '";a:1:{s:5:"VALUE";s:2:"US";}s:4:"city";a:1:{s:5:"VALUE";s:5:"miami";}' . - 's:6:"region";a:1:{s:5:"VALUE";s:2:"FL";}s:11:"postal-code";a:1:{s:5:"V' . - 'ALUE";s:5:"33013";}}}s:21:"merchant-code-strings";a:1:{s:20:"merchant-' . - 'code-string";a:2:{s:4:"code";s:3:"123";s:5:"VALUE";s:0:"";}}s:3:"tax";' . - 'a:1:{s:5:"VALUE";s:5:"false";}}s:14:"buyer-language";a:1:{s:5:"VALUE";' . - 's:5:"en_US";}}}'); - } - - function testGoogleXMLParserGetDataComplexXML(){ - $xml = ' - - - - - Microsoft IntelliMouse Explorer - [Model:USB] - 70.95 - 1 - YToxODp7czoyOiJpZCI7czozNToiMjY6NDYxNDc2NmQ3OGIyNmZiNzFiZmQyMWQwOWY5ZWI5OGMiO3M6ODoiY2F0ZWdvcnkiO3M6MToiOSI7czo0OiJuYW1lIjtzOjMxOiJNaWNyb3NvZnQgSW50ZWxsaU1vdXNlIEV4cGxvcmVyIjtzOjU6Im1vZGVsIjtzOjc6Ik1TSU1FWFAiO3M6NToiaW1hZ2UiO3M6MjQ6Im1pY3Jvc29mdC9pbWV4cGxvcmVyLmdpZiI7czo1OiJwcmljZSI7czo3OiI2NC45NTAwIjtzOjg6InF1YW50aXR5IjtpOjE7czo2OiJ3ZWlnaHQiO2k6ODtzOjExOiJmaW5hbF9wcmljZSI7ZDo3MC45NTAwMDAwMDAwMDAwMDI4NDIxNzA5NDMwNDA0MDA3NDM0ODQ0OTcwNzAzMTI1O3M6MTU6Im9uZXRpbWVfY2hhcmdlcyI7aTowO3M6MTI6InRheF9jbGFzc19pZCI7czoxOiIxIjtzOjEwOiJhdHRyaWJ1dGVzIjthOjE6e2k6MztzOjE6IjkiO31zOjE3OiJhdHRyaWJ1dGVzX3ZhbHVlcyI7czowOiIiO3M6Mjg6InByb2R1Y3RzX3ByaWNlZF9ieV9hdHRyaWJ1dGUiO3M6MToiMCI7czoxNToicHJvZHVjdF9pc19mcmVlIjtzOjE6IjAiO3M6MjI6InByb2R1Y3RzX2Rpc2NvdW50X3R5cGUiO3M6MToiMCI7czoyNzoicHJvZHVjdHNfZGlzY291bnRfdHlwZV9mcm9tIjtzOjE6IjAiO2k6MzthOjU6e3M6MjE6InByb2R1Y3RzX29wdGlvbnNfbmFtZSI7czo1OiJNb2RlbCI7czoxNzoib3B0aW9uc192YWx1ZXNfaWQiO3M6MToiOSI7czoyODoicHJvZHVjdHNfb3B0aW9uc192YWx1ZXNfbmFtZSI7czozOiJVU0IiO3M6MjA6Im9wdGlvbnNfdmFsdWVzX3ByaWNlIjtzOjY6IjYuMDAwMCI7czoxMjoicHJpY2VfcHJlZml4IjtzOjE6IisiO319 - 26:4614766d78b26fb71bfd21d09f9eb98c - Taxable Goods - - - - f2f7a0b668ff17095fb996420b8f428c;zenid - 192.168.128.150 - - - - - http://200.69.205.154/~brovagnati/zen_demo2/index.php?main_page=shopping_cart - http://200.69.205.154/~brovagnati/zen_demo2/index.php?main_page=shopping_cart - - - 10 - - true - - - - - - US - - - - - true - - - - - - US - - - - - - 5 - - true - - - - - - true - - - - - - - 1 - - true - - - - - - true - - - - - - - 2 - - true - - - - - - US - - - - - true - - - - - - US - - - - - - true - - http://200.69.205.154/~brovagnati/zen_demo2/googlecheckout/responsehandler.php - true - false - - - - - - - 0.07 - - - - - - - - - - HALF_EVEN - PER_LINE - - - -'; - - $xml_parsed = new xmlParser($xml); - $data = $xml_parsed->getData(); - $this->assertEquals(serialize($data), - 'a:1:{s:22:"checkout-shopping-cart";a:3:{s:5:"xmlns";s:35:"http://checkou' . - 't.google.com/schema/2";s:13:"shopping-cart";a:2:{s:5:"items";a:1:{s:4:"i' . - 'tem";a:7:{s:9:"item-name";a:1:{s:5:"VALUE";s:31:"Microsoft IntelliMouse ' . - 'Explorer";}s:16:"item-description";a:1:{s:5:"VALUE";s:12:"[Model:USB] ";' . - '}s:10:"unit-price";a:2:{s:8:"currency";s:3:"USD";s:5:"VALUE";s:5:"70.95"' . - ';}s:8:"quantity";a:1:{s:5:"VALUE";s:1:"1";}s:26:"merchant-private-item-d' . - 'ata";a:1:{s:5:"VALUE";s:1084:"YToxODp7czoyOiJpZCI7czozNToiMjY6NDYxNDc2Nm' . - 'Q3OGIyNmZiNzFiZmQyMWQwOWY5ZWI5OGMiO3M6ODoiY2F0ZWdvcnkiO3M6MToiOSI7czo0Oi' . - 'JuYW1lIjtzOjMxOiJNaWNyb3NvZnQgSW50ZWxsaU1vdXNlIEV4cGxvcmVyIjtzOjU6Im1vZG' . - 'VsIjtzOjc6Ik1TSU1FWFAiO3M6NToiaW1hZ2UiO3M6MjQ6Im1pY3Jvc29mdC9pbWV4cGxvcm' . - 'VyLmdpZiI7czo1OiJwcmljZSI7czo3OiI2NC45NTAwIjtzOjg6InF1YW50aXR5IjtpOjE7cz' . - 'o2OiJ3ZWlnaHQiO2k6ODtzOjExOiJmaW5hbF9wcmljZSI7ZDo3MC45NTAwMDAwMDAwMDAwMD' . - 'I4NDIxNzA5NDMwNDA0MDA3NDM0ODQ0OTcwNzAzMTI1O3M6MTU6Im9uZXRpbWVfY2hhcmdlcy' . - 'I7aTowO3M6MTI6InRheF9jbGFzc19pZCI7czoxOiIxIjtzOjEwOiJhdHRyaWJ1dGVzIjthOj' . - 'E6e2k6MztzOjE6IjkiO31zOjE3OiJhdHRyaWJ1dGVzX3ZhbHVlcyI7czowOiIiO3M6Mjg6In' . - 'Byb2R1Y3RzX3ByaWNlZF9ieV9hdHRyaWJ1dGUiO3M6MToiMCI7czoxNToicHJvZHVjdF9pc1' . - '9mcmVlIjtzOjE6IjAiO3M6MjI6InByb2R1Y3RzX2Rpc2NvdW50X3R5cGUiO3M6MToiMCI7cz' . - 'oyNzoicHJvZHVjdHNfZGlzY291bnRfdHlwZV9mcm9tIjtzOjE6IjAiO2k6MzthOjU6e3M6Mj' . - 'E6InByb2R1Y3RzX29wdGlvbnNfbmFtZSI7czo1OiJNb2RlbCI7czoxNzoib3B0aW9uc192YW' . - 'x1ZXNfaWQiO3M6MToiOSI7czoyODoicHJvZHVjdHNfb3B0aW9uc192YWx1ZXNfbmFtZSI7cz' . - 'ozOiJVU0IiO3M6MjA6Im9wdGlvbnNfdmFsdWVzX3ByaWNlIjtzOjY6IjYuMDAwMCI7czoxMj' . - 'oicHJpY2VfcHJlZml4IjtzOjE6IisiO319";}s:16:"merchant-item-id";a:1:{s:5:"V' . - 'ALUE";s:35:"26:4614766d78b26fb71bfd21d09f9eb98c";}s:18:"tax-table-select' . - 'or";a:1:{s:5:"VALUE";s:13:"Taxable Goods";}}}s:21:"merchant-private-data' . - '";a:2:{s:12:"session-data";a:1:{s:5:"VALUE";s:38:"f2f7a0b668ff17095fb996' . - '420b8f428c;zenid";}s:10:"ip-address";a:1:{s:5:"VALUE";s:15:"192.168.128.' . - '150";}}}s:21:"checkout-flow-support";a:1:{s:30:"merchant-checkout-flow-s' . - 'upport";a:7:{s:13:"edit-cart-url";a:1:{s:5:"VALUE";s:77:"http://200.69.2' . - '05.154/~brovagnati/zen_demo2/index.php?main_page=shopping_cart";}s:21:"c' . - 'ontinue-shopping-url";a:1:{s:5:"VALUE";s:77:"http://200.69.205.154/~brov' . - 'agnati/zen_demo2/index.php?main_page=shopping_cart";}s:16:"shipping-meth' . - 'ods";a:1:{s:28:"merchant-calculated-shipping";a:4:{i:0;a:4:{s:4:"name";s' . - ':42:"Per Item International: Item International";s:5:"price";a:2:{s:8:"c' . - 'urrency";s:3:"USD";s:5:"VALUE";s:2:"10";}s:21:"shipping-restrictions";a:' . - '3:{s:15:"allow-us-po-box";a:1:{s:5:"VALUE";s:4:"true";}s:13:"allowed-are' . - 'as";a:1:{s:10:"world-area";a:1:{s:5:"VALUE";s:0:"";}}s:14:"excluded-area' . - 's";a:1:{s:11:"postal-area";a:1:{s:12:"country-code";a:1:{s:5:"VALUE";s:2' . - ':"US";}}}}s:15:"address-filters";a:3:{s:15:"allow-us-po-box";a:1:{s:5:"V' . - 'ALUE";s:4:"true";}s:13:"allowed-areas";a:1:{s:10:"world-area";a:1:{s:5:"' . - 'VALUE";s:0:"";}}s:14:"excluded-areas";a:1:{s:11:"postal-area";a:1:{s:12:' . - '"country-code";a:1:{s:5:"VALUE";s:2:"US";}}}}}i:1;a:4:{s:4:"name";s:32:"' . - 'Per Item National: Item National";s:5:"price";a:2:{s:8:"currency";s:3:"U' . - 'SD";s:5:"VALUE";s:1:"5";}s:21:"shipping-restrictions";a:2:{s:15:"allow-u' . - 's-po-box";a:1:{s:5:"VALUE";s:4:"true";}s:13:"allowed-areas";a:1:{s:15:"u' . - 's-country-area";a:2:{s:12:"country-area";s:3:"ALL";s:5:"VALUE";s:0:"";}}' . - '}s:15:"address-filters";a:2:{s:15:"allow-us-po-box";a:1:{s:5:"VALUE";s:4' . - ':"true";}s:13:"allowed-areas";a:1:{s:15:"us-country-area";a:2:{s:12:"cou' . - 'ntry-area";s:3:"ALL";s:5:"VALUE";s:0:"";}}}}i:2;a:4:{s:4:"name";s:18:"Zo' . - 'nes: Zones Rates";s:5:"price";a:2:{s:8:"currency";s:3:"USD";s:5:"VALUE";' . - 's:1:"1";}s:21:"shipping-restrictions";a:2:{s:15:"allow-us-po-box";a:1:{s' . - ':5:"VALUE";s:4:"true";}s:13:"allowed-areas";a:1:{s:15:"us-country-area";' . - 'a:2:{s:12:"country-area";s:3:"ALL";s:5:"VALUE";s:0:"";}}}s:15:"address-f' . - 'ilters";a:2:{s:15:"allow-us-po-box";a:1:{s:5:"VALUE";s:4:"true";}s:13:"a' . - 'llowed-areas";a:1:{s:15:"us-country-area";a:2:{s:12:"country-area";s:3:"' . - 'ALL";s:5:"VALUE";s:0:"";}}}}i:3;a:4:{s:4:"name";s:23:"Zones: Zones Rates' . - ' intl";s:5:"price";a:2:{s:8:"currency";s:3:"USD";s:5:"VALUE";s:1:"2";}s:' . - '21:"shipping-restrictions";a:3:{s:15:"allow-us-po-box";a:1:{s:5:"VALUE";' . - 's:4:"true";}s:13:"allowed-areas";a:1:{s:10:"world-area";a:1:{s:5:"VALUE"' . - ';s:0:"";}}s:14:"excluded-areas";a:1:{s:11:"postal-area";a:1:{s:12:"count' . - 'ry-code";a:1:{s:5:"VALUE";s:2:"US";}}}}s:15:"address-filters";a:3:{s:15:' . - '"allow-us-po-box";a:1:{s:5:"VALUE";s:4:"true";}s:13:"allowed-areas";a:1:' . - '{s:10:"world-area";a:1:{s:5:"VALUE";s:0:"";}}s:14:"excluded-areas";a:1:' . - '{s:11:"postal-area";a:1:{s:12:"country-code";a:1:{s:5:"VALUE";s:2:"US";}' . - '}}}}}}s:26:"request-buyer-phone-number";a:1:{s:5:"VALUE";s:4:"true";}s:2' . - '1:"merchant-calculations";a:3:{s:25:"merchant-calculations-url";a:1:{s:5' . - ':"VALUE";s:78:"http://200.69.205.154/~brovagnati/zen_demo2/googlecheckou' . - 't/responsehandler.php";}s:23:"accept-merchant-coupons";a:1:{s:5:"VALUE";' . - 's:4:"true";}s:24:"accept-gift-certificates";a:1:{s:5:"VALUE";s:5:"false"' . - ';}}s:10:"tax-tables";a:2:{s:19:"merchant-calculated";s:5:"false";s:20:"a' . - 'lternate-tax-tables";a:1:{s:19:"alternate-tax-table";a:3:{s:10:"standalo' . - 'ne";s:5:"false";s:4:"name";s:13:"Taxable Goods";s:19:"alternate-tax-rule' . - 's";a:1:{s:18:"alternate-tax-rule";a:2:{s:4:"rate";a:1:{s:5:"VALUE";s:4:"' . - '0.07";}s:8:"tax-area";a:1:{s:15:"us-country-area";a:2:{s:12:"country-are' . - 'a";s:3:"ALL";s:5:"VALUE";s:0:"";}}}}}}}s:15:"rounding-policy";a:2:{s:4:"' . - 'mode";a:1:{s:5:"VALUE";s:9:"HALF_EVEN";}s:4:"rule";a:1:{s:5:"VALUE";s:8:' . - '"PER_LINE";}}}}}}'); - } - - function testGoogleXMLParserGetRootXMLNotFolding(){ - $xml = ' - - data 1 - - - data 2 - - '; - - $xml_parsed = new xmlParser($xml, array()); - - $this->assertEquals($xml_parsed->getRoot(), 'ADDRESSES', - 'Should be root in UpperCase'); - } -} - -if(!isset($suite)) { - $suite = new TestSuite(); -} - -$suite->addTest(new testGoogleXMLParser("testGoogleXMLParserGetRoot")); -$suite->addTest(new testGoogleXMLParser("testGoogleXMLParserGetDataSimpleXML")); -$suite->addTest(new testGoogleXMLParser("testGoogleXMLParserGetDataMediumXML")); -$suite->addTest(new testGoogleXMLParser("testGoogleXMLParserGetDataComplexXML")); -$suite->addTest(new testGoogleXMLParser("testGoogleXMLParserGetRootXMLNotFolding")); - - -?> \ No newline at end of file