Browse Source

gui, lib: Add missing licenses (fixes #3100)

GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3108
aviau 9 years ago
parent
commit
6e07742fe9

+ 19 - 0
gui/default/vendor/angular/angular-dirPagination.js

@@ -12,6 +12,25 @@
  * https://github.com/angular-ui/bootstrap/blob/master/src/pagination/pagination.js
  * https://github.com/angular-ui/bootstrap/blob/master/src/pagination/pagination.js
  *
  *
  * Copyright 2014 Michael Bromley <[email protected]>
  * Copyright 2014 Michael Bromley <[email protected]>
+ *
+ * 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.
+ *
  */
  */
 
 
 (function() {
 (function() {

+ 19 - 0
gui/default/vendor/angular/angular-translate-loader-static-files.js

@@ -2,6 +2,25 @@
  * angular-translate - v2.11.0 - 2016-03-20
  * angular-translate - v2.11.0 - 2016-03-20
  *
  *
  * Copyright (c) 2016 The angular-translate team, Pascal Precht; Licensed MIT
  * Copyright (c) 2016 The angular-translate team, Pascal Precht; Licensed MIT
+ *
+ * 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.
+ *
  */
  */
 (function (root, factory) {
 (function (root, factory) {
   if (typeof define === 'function' && define.amd) {
   if (typeof define === 'function' && define.amd) {

+ 19 - 0
gui/default/vendor/angular/angular-translate.js

@@ -2,6 +2,25 @@
  * angular-translate - v2.9.0 - 2016-01-24
  * angular-translate - v2.9.0 - 2016-01-24
  *
  *
  * Copyright (c) 2016 The angular-translate team, Pascal Precht; Licensed MIT
  * Copyright (c) 2016 The angular-translate team, Pascal Precht; Licensed MIT
+ *
+ * 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.
+ *
  */
  */
 (function (root, factory) {
 (function (root, factory) {
   if (typeof define === 'function' && define.amd) {
   if (typeof define === 'function' && define.amd) {

+ 67 - 48
gui/default/vendor/angular/angular.js

@@ -2,6 +2,25 @@
  * @license AngularJS v1.2.9
  * @license AngularJS v1.2.9
  * (c) 2010-2014 Google, Inc. http://angularjs.org
  * (c) 2010-2014 Google, Inc. http://angularjs.org
  * License: MIT
  * License: MIT
+ *
+ * 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.
+ *
  */
  */
 (function(window, document, undefined) {'use strict';
 (function(window, document, undefined) {'use strict';
 
 
@@ -1747,10 +1766,10 @@ function setupModuleLoader(window) {
 /* global
 /* global
     angularModule: true,
     angularModule: true,
     version: true,
     version: true,
-    
+
     $LocaleProvider,
     $LocaleProvider,
     $CompileProvider,
     $CompileProvider,
-    
+
     htmlAnchorDirective,
     htmlAnchorDirective,
     inputDirective,
     inputDirective,
     inputDirective,
     inputDirective,
@@ -3414,11 +3433,11 @@ function annotate(fn) {
  *     var Ping = function() {
  *     var Ping = function() {
  *       this.$http = $http;
  *       this.$http = $http;
  *     };
  *     };
- *   
+ *
  *     Ping.prototype.send = function() {
  *     Ping.prototype.send = function() {
  *       return this.$http.get('/ping');
  *       return this.$http.get('/ping');
- *     }; 
- *   
+ *     };
+ *
  *     return Ping;
  *     return Ping;
  *   }]);
  *   }]);
  * </pre>
  * </pre>
@@ -3749,7 +3768,7 @@ function createInjector(modulesToLoad) {
  *
  *
  * It also watches the `$location.hash()` and scrolls whenever it changes to match any anchor.
  * It also watches the `$location.hash()` and scrolls whenever it changes to match any anchor.
  * This can be disabled by calling `$anchorScrollProvider.disableAutoScrolling()`.
  * This can be disabled by calling `$anchorScrollProvider.disableAutoScrolling()`.
- * 
+ *
  * @example
  * @example
    <example>
    <example>
      <file name="index.html">
      <file name="index.html">
@@ -3764,7 +3783,7 @@ function createInjector(modulesToLoad) {
            // set the location.hash to the id of
            // set the location.hash to the id of
            // the element you wish to scroll to.
            // the element you wish to scroll to.
            $location.hash('bottom');
            $location.hash('bottom');
-           
+
            // call $anchorScroll()
            // call $anchorScroll()
            $anchorScroll();
            $anchorScroll();
          }
          }
@@ -3852,7 +3871,7 @@ var $animateMinErr = minErr('$animate');
  */
  */
 var $AnimateProvider = ['$provide', function($provide) {
 var $AnimateProvider = ['$provide', function($provide) {
 
 
-  
+
   this.$$selectors = {};
   this.$$selectors = {};
 
 
 
 
@@ -3993,7 +4012,7 @@ var $AnimateProvider = ['$provide', function($provide) {
        * @description Moves the position of the provided element within the DOM to be placed
        * @description Moves the position of the provided element within the DOM to be placed
        * either after the `after` element or inside of the `parent` element. Once complete, the
        * either after the `after` element or inside of the `parent` element. Once complete, the
        * done() callback will be fired (if provided).
        * done() callback will be fired (if provided).
-       * 
+       *
        * @param {jQuery/jqLite element} element the element which will be moved around within the
        * @param {jQuery/jqLite element} element the element which will be moved around within the
        *   DOM
        *   DOM
        * @param {jQuery/jqLite element} parent the parent element where the element will be
        * @param {jQuery/jqLite element} parent the parent element where the element will be
@@ -4458,9 +4477,9 @@ function $BrowserProvider(){
  *
  *
  * @description
  * @description
  * Factory that constructs cache objects and gives access to them.
  * Factory that constructs cache objects and gives access to them.
- * 
+ *
  * <pre>
  * <pre>
- * 
+ *
  *  var cache = $cacheFactory('cacheId');
  *  var cache = $cacheFactory('cacheId');
  *  expect($cacheFactory.get('cacheId')).toBe(cache);
  *  expect($cacheFactory.get('cacheId')).toBe(cache);
  *  expect($cacheFactory.get('noSuchCacheId')).not.toBeDefined();
  *  expect($cacheFactory.get('noSuchCacheId')).not.toBeDefined();
@@ -4469,8 +4488,8 @@ function $BrowserProvider(){
  *  cache.put("another key", "another value");
  *  cache.put("another key", "another value");
  *
  *
  *  // We've specified no options on creation
  *  // We've specified no options on creation
- *  expect(cache.info()).toEqual({id: 'cacheId', size: 2}); 
- * 
+ *  expect(cache.info()).toEqual({id: 'cacheId', size: 2});
+ *
  * </pre>
  * </pre>
  *
  *
  *
  *
@@ -4653,7 +4672,7 @@ function $CacheFactoryProvider() {
  * The first time a template is used, it is loaded in the template cache for quick retrieval. You
  * The first time a template is used, it is loaded in the template cache for quick retrieval. You
  * can load templates directly into the cache in a `script` tag, or by consuming the
  * can load templates directly into the cache in a `script` tag, or by consuming the
  * `$templateCache` service directly.
  * `$templateCache` service directly.
- * 
+ *
  * Adding via the `script` tag:
  * Adding via the `script` tag:
  * <pre>
  * <pre>
  * <html ng-app>
  * <html ng-app>
@@ -4665,29 +4684,29 @@ function $CacheFactoryProvider() {
  *   ...
  *   ...
  * </html>
  * </html>
  * </pre>
  * </pre>
- * 
+ *
  * **Note:** the `script` tag containing the template does not need to be included in the `head` of
  * **Note:** the `script` tag containing the template does not need to be included in the `head` of
  * the document, but it must be below the `ng-app` definition.
  * the document, but it must be below the `ng-app` definition.
- * 
+ *
  * Adding via the $templateCache service:
  * Adding via the $templateCache service:
- * 
+ *
  * <pre>
  * <pre>
  * var myApp = angular.module('myApp', []);
  * var myApp = angular.module('myApp', []);
  * myApp.run(function($templateCache) {
  * myApp.run(function($templateCache) {
  *   $templateCache.put('templateId.html', 'This is the content of the template');
  *   $templateCache.put('templateId.html', 'This is the content of the template');
  * });
  * });
  * </pre>
  * </pre>
- * 
+ *
  * To retrieve the template later, simply use it in your HTML:
  * To retrieve the template later, simply use it in your HTML:
  * <pre>
  * <pre>
  * <div ng-include=" 'templateId.html' "></div>
  * <div ng-include=" 'templateId.html' "></div>
  * </pre>
  * </pre>
- * 
+ *
  * or get it via Javascript:
  * or get it via Javascript:
  * <pre>
  * <pre>
  * $templateCache.get('templateId.html')
  * $templateCache.get('templateId.html')
  * </pre>
  * </pre>
- * 
+ *
  * See {@link ng.$cacheFactory $cacheFactory}.
  * See {@link ng.$cacheFactory $cacheFactory}.
  *
  *
  */
  */
@@ -6809,12 +6828,12 @@ function $DocumentProvider(){
  * Any uncaught exception in angular expressions is delegated to this service.
  * Any uncaught exception in angular expressions is delegated to this service.
  * The default implementation simply delegates to `$log.error` which logs it into
  * The default implementation simply delegates to `$log.error` which logs it into
  * the browser console.
  * the browser console.
- * 
+ *
  * In unit tests, if `angular-mocks.js` is loaded, this service is overridden by
  * In unit tests, if `angular-mocks.js` is loaded, this service is overridden by
  * {@link ngMock.$exceptionHandler mock $exceptionHandler} which aids in testing.
  * {@link ngMock.$exceptionHandler mock $exceptionHandler} which aids in testing.
  *
  *
  * ## Example:
  * ## Example:
- * 
+ *
  * <pre>
  * <pre>
  *   angular.module('exceptionOverride', []).factory('$exceptionHandler', function () {
  *   angular.module('exceptionOverride', []).factory('$exceptionHandler', function () {
  *     return function (exception, cause) {
  *     return function (exception, cause) {
@@ -6823,7 +6842,7 @@ function $DocumentProvider(){
  *     };
  *     };
  *   });
  *   });
  * </pre>
  * </pre>
- * 
+ *
  * This example will override the normal action of `$exceptionHandler`, to make angular
  * This example will override the normal action of `$exceptionHandler`, to make angular
  * exceptions fail hard when they happen, instead of just logging to the console.
  * exceptions fail hard when they happen, instead of just logging to the console.
  *
  *
@@ -8322,7 +8341,7 @@ function $IntervalProvider() {
       * In tests you can use {@link ngMock.$interval#methods_flush `$interval.flush(millis)`} to
       * In tests you can use {@link ngMock.$interval#methods_flush `$interval.flush(millis)`} to
       * move forward by `millis` milliseconds and trigger any functions scheduled to run in that
       * move forward by `millis` milliseconds and trigger any functions scheduled to run in that
       * time.
       * time.
-      * 
+      *
       * <div class="alert alert-warning">
       * <div class="alert alert-warning">
       * **Note**: Intervals created by this service must be explicitly destroyed when you are finished
       * **Note**: Intervals created by this service must be explicitly destroyed when you are finished
       * with them.  In particular they are not automatically destroyed when a controller's scope or a
       * with them.  In particular they are not automatically destroyed when a controller's scope or a
@@ -8435,7 +8454,7 @@ function $IntervalProvider() {
           promise = deferred.promise,
           promise = deferred.promise,
           iteration = 0,
           iteration = 0,
           skipApply = (isDefined(invokeApply) && !invokeApply);
           skipApply = (isDefined(invokeApply) && !invokeApply);
-      
+
       count = isDefined(count) ? count : 0,
       count = isDefined(count) ? count : 0,
 
 
       promise.then(null, null, fn);
       promise.then(null, null, fn);
@@ -9270,7 +9289,7 @@ function $LocationProvider(){
  * @description
  * @description
  * Simple service for logging. Default implementation safely writes the message
  * Simple service for logging. Default implementation safely writes the message
  * into the browser's console (if present).
  * into the browser's console (if present).
- * 
+ *
  * The main purpose of this service is to simplify debugging and troubleshooting.
  * The main purpose of this service is to simplify debugging and troubleshooting.
  *
  *
  * The default is to log `debug` messages. You can use
  * The default is to log `debug` messages. You can use
@@ -9307,7 +9326,7 @@ function $LocationProvider(){
 function $LogProvider(){
 function $LogProvider(){
   var debug = true,
   var debug = true,
       self = this;
       self = this;
-  
+
   /**
   /**
    * @ngdoc property
    * @ngdoc property
    * @name ng.$logProvider#debugEnabled
    * @name ng.$logProvider#debugEnabled
@@ -9324,7 +9343,7 @@ function $LogProvider(){
       return debug;
       return debug;
     }
     }
   };
   };
-  
+
   this.$get = ['$window', function($window){
   this.$get = ['$window', function($window){
     return {
     return {
       /**
       /**
@@ -9366,12 +9385,12 @@ function $LogProvider(){
        * Write an error message
        * Write an error message
        */
        */
       error: consoleLog('error'),
       error: consoleLog('error'),
-      
+
       /**
       /**
        * @ngdoc method
        * @ngdoc method
        * @name ng.$log#debug
        * @name ng.$log#debug
        * @methodOf ng.$log
        * @methodOf ng.$log
-       * 
+       *
        * @description
        * @description
        * Write a debug message
        * Write a debug message
        */
        */
@@ -12823,7 +12842,7 @@ function $SceDelegateProvider() {
  * allowing only the files in a specific directory to do this.  Ensuring that the internal API
  * allowing only the files in a specific directory to do this.  Ensuring that the internal API
  * exposed by that code doesn't markup arbitrary values as safe then becomes a more manageable task.
  * exposed by that code doesn't markup arbitrary values as safe then becomes a more manageable task.
  *
  *
- * In the case of AngularJS' SCE service, one uses {@link ng.$sce#methods_trustAs $sce.trustAs} 
+ * In the case of AngularJS' SCE service, one uses {@link ng.$sce#methods_trustAs $sce.trustAs}
  * (and shorthand methods such as {@link ng.$sce#methods_trustAsHtml $sce.trustAsHtml}, etc.) to
  * (and shorthand methods such as {@link ng.$sce#methods_trustAsHtml $sce.trustAsHtml}, etc.) to
  * obtain values that will be accepted by SCE / privileged contexts.
  * obtain values that will be accepted by SCE / privileged contexts.
  *
  *
@@ -13572,7 +13591,7 @@ function $TimeoutProvider() {
       *   will invoke `fn` within the {@link ng.$rootScope.Scope#methods_$apply $apply} block.
       *   will invoke `fn` within the {@link ng.$rootScope.Scope#methods_$apply $apply} block.
       * @returns {Promise} Promise that will be resolved when the timeout is reached. The value this
       * @returns {Promise} Promise that will be resolved when the timeout is reached. The value this
       *   promise will be resolved with is the return value of the `fn` function.
       *   promise will be resolved with is the return value of the `fn` function.
-      * 
+      *
       */
       */
     function timeout(fn, delay, invokeApply) {
     function timeout(fn, delay, invokeApply) {
       var deferred = $q.defer(),
       var deferred = $q.defer(),
@@ -13806,7 +13825,7 @@ function $WindowProvider(){
  *
  *
  * The filter function is registered with the `$injector` under the filter name suffix with
  * The filter function is registered with the `$injector` under the filter name suffix with
  * `Filter`.
  * `Filter`.
- * 
+ *
  * <pre>
  * <pre>
  *   it('should be the same instance', inject(
  *   it('should be the same instance', inject(
  *     function($filterProvider) {
  *     function($filterProvider) {
@@ -13882,7 +13901,7 @@ function $FilterProvider($provide) {
   }];
   }];
 
 
   ////////////////////////////////////////
   ////////////////////////////////////////
-  
+
   /* global
   /* global
     currencyFilter: false,
     currencyFilter: false,
     dateFilter: false,
     dateFilter: false,
@@ -14590,9 +14609,9 @@ var uppercaseFilter = valueFn(uppercase);
  * the value and sign (positive or negative) of `limit`.
  * the value and sign (positive or negative) of `limit`.
  *
  *
  * @param {Array|string} input Source array or string to be limited.
  * @param {Array|string} input Source array or string to be limited.
- * @param {string|number} limit The length of the returned array or string. If the `limit` number 
+ * @param {string|number} limit The length of the returned array or string. If the `limit` number
  *     is positive, `limit` number of items from the beginning of the source array/string are copied.
  *     is positive, `limit` number of items from the beginning of the source array/string are copied.
- *     If the number is negative, `limit` number  of items from the end of the source array/string 
+ *     If the number is negative, `limit` number  of items from the end of the source array/string
  *     are copied. The `limit` will be trimmed if it exceeds `array.length`
  *     are copied. The `limit` will be trimmed if it exceeds `array.length`
  * @returns {Array|string} A new sub-array or substring of length `limit` or less if input array
  * @returns {Array|string} A new sub-array or substring of length `limit` or less if input array
  *     had less than `limit` elements.
  *     had less than `limit` elements.
@@ -14642,7 +14661,7 @@ var uppercaseFilter = valueFn(uppercase);
 function limitToFilter(){
 function limitToFilter(){
   return function(input, limit) {
   return function(input, limit) {
     if (!isArray(input) && !isString(input)) return input;
     if (!isArray(input) && !isString(input)) return input;
-    
+
     limit = int(limit);
     limit = int(limit);
 
 
     if (isString(input)) {
     if (isString(input)) {
@@ -15044,7 +15063,7 @@ var htmlAnchorDirective = valueFn({
     </doc:example>
     </doc:example>
  *
  *
  * @element INPUT
  * @element INPUT
- * @param {expression} ngDisabled If the {@link guide/expression expression} is truthy, 
+ * @param {expression} ngDisabled If the {@link guide/expression expression} is truthy,
  *     then special attribute "disabled" will be set on the element
  *     then special attribute "disabled" will be set on the element
  */
  */
 
 
@@ -15079,7 +15098,7 @@ var htmlAnchorDirective = valueFn({
     </doc:example>
     </doc:example>
  *
  *
  * @element INPUT
  * @element INPUT
- * @param {expression} ngChecked If the {@link guide/expression expression} is truthy, 
+ * @param {expression} ngChecked If the {@link guide/expression expression} is truthy,
  *     then special attribute "checked" will be set on the element
  *     then special attribute "checked" will be set on the element
  */
  */
 
 
@@ -15114,7 +15133,7 @@ var htmlAnchorDirective = valueFn({
     </doc:example>
     </doc:example>
  *
  *
  * @element INPUT
  * @element INPUT
- * @param {expression} ngReadonly If the {@link guide/expression expression} is truthy, 
+ * @param {expression} ngReadonly If the {@link guide/expression expression} is truthy,
  *     then special attribute "readonly" will be set on the element
  *     then special attribute "readonly" will be set on the element
  */
  */
 
 
@@ -15133,7 +15152,7 @@ var htmlAnchorDirective = valueFn({
  * The `ngSelected` directive solves this problem for the `selected` atttribute.
  * The `ngSelected` directive solves this problem for the `selected` atttribute.
  * This complementary directive is not removed by the browser and so provides
  * This complementary directive is not removed by the browser and so provides
  * a permanent reliable place to store the binding information.
  * a permanent reliable place to store the binding information.
- * 
+ *
  * @example
  * @example
     <doc:example>
     <doc:example>
       <doc:source>
       <doc:source>
@@ -15153,7 +15172,7 @@ var htmlAnchorDirective = valueFn({
     </doc:example>
     </doc:example>
  *
  *
  * @element OPTION
  * @element OPTION
- * @param {expression} ngSelected If the {@link guide/expression expression} is truthy, 
+ * @param {expression} ngSelected If the {@link guide/expression expression} is truthy,
  *     then special attribute "selected" will be set on the element
  *     then special attribute "selected" will be set on the element
  */
  */
 
 
@@ -15189,7 +15208,7 @@ var htmlAnchorDirective = valueFn({
      </doc:example>
      </doc:example>
  *
  *
  * @element DETAILS
  * @element DETAILS
- * @param {expression} ngOpen If the {@link guide/expression expression} is truthy, 
+ * @param {expression} ngOpen If the {@link guide/expression expression} is truthy,
  *     then special attribute "open" will be set on the element
  *     then special attribute "open" will be set on the element
  */
  */
 
 
@@ -15275,7 +15294,7 @@ var nullFormCtrl = {
  *  - `pattern`
  *  - `pattern`
  *  - `required`
  *  - `required`
  *  - `url`
  *  - `url`
- * 
+ *
  * @description
  * @description
  * `FormController` keeps track of all its controls and nested forms as well as state of them,
  * `FormController` keeps track of all its controls and nested forms as well as state of them,
  * such as being valid/invalid or dirty/pristine.
  * such as being valid/invalid or dirty/pristine.
@@ -17184,14 +17203,14 @@ var ngBindTemplateDirective = ['$interpolate', function($interpolate) {
  *
  *
  * @example
  * @example
    Try it here: enter text in text box and watch the greeting change.
    Try it here: enter text in text box and watch the greeting change.
- 
+
    <example module="ngBindHtmlExample" deps="angular-sanitize.js">
    <example module="ngBindHtmlExample" deps="angular-sanitize.js">
      <file name="index.html">
      <file name="index.html">
        <div ng-controller="ngBindHtmlCtrl">
        <div ng-controller="ngBindHtmlCtrl">
         <p ng-bind-html="myHTML"></p>
         <p ng-bind-html="myHTML"></p>
        </div>
        </div>
      </file>
      </file>
-     
+
      <file name="script.js">
      <file name="script.js">
        angular.module('ngBindHtmlExample', ['ngSanitize'])
        angular.module('ngBindHtmlExample', ['ngSanitize'])
 
 
@@ -20349,7 +20368,7 @@ var selectDirective = ['$compile', '$parse', function($compile,   $parse) {
 
 
           // We now build up the list of options we need (we merge later)
           // We now build up the list of options we need (we merge later)
           for (index = 0; length = keys.length, index < length; index++) {
           for (index = 0; length = keys.length, index < length; index++) {
-            
+
             key = index;
             key = index;
             if (keyName) {
             if (keyName) {
               key = keys[index];
               key = keys[index];
@@ -20557,4 +20576,4 @@ var styleDirective = valueFn({
 
 
 })(window, document);
 })(window, document);
 
 
-!angular.$$csp() && angular.element(document).find('head').prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}</style>');
+!angular.$$csp() && angular.element(document).find('head').prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}</style>');

+ 18 - 0
gui/default/vendor/jquery/jquery-2.2.2.js

@@ -9,6 +9,24 @@
  * Released under the MIT license
  * Released under the MIT license
  * http://jquery.org/license
  * http://jquery.org/license
  *
  *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
  * Date: 2016-03-17T17:51Z
  * Date: 2016-03-17T17:51Z
  */
  */
 
 

+ 27 - 3
lib/osutil/mkdirall_windows.go

@@ -1,7 +1,31 @@
 // Copyright 2009 The Go Authors. All rights reserved.
 // Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
+//
+// 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.
+//   * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// 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 THE COPYRIGHT
+// OWNER 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.
+//
 // Modified by Zillode to fix https://github.com/syncthing/syncthing/issues/1822
 // Modified by Zillode to fix https://github.com/syncthing/syncthing/issues/1822
 // Sync with https://github.com/golang/go/blob/master/src/os/path.go
 // Sync with https://github.com/golang/go/blob/master/src/os/path.go
 // See https://github.com/golang/go/issues/10900
 // See https://github.com/golang/go/issues/10900

+ 27 - 4
lib/upnp/igd.go

@@ -1,11 +1,34 @@
 // Copyright (C) 2016 The Syncthing Authors.
 // Copyright (C) 2016 The Syncthing Authors.
 //
 //
-// This Source Code Form is subject to the terms of the Mozilla Public
-// License, v. 2.0. If a copy of the MPL was not distributed with this file,
-// You can obtain one at http://mozilla.org/MPL/2.0/.
-
 // Adapted from https://github.com/jackpal/Taipei-Torrent/blob/dd88a8bfac6431c01d959ce3c745e74b8a911793/IGD.go
 // Adapted from https://github.com/jackpal/Taipei-Torrent/blob/dd88a8bfac6431c01d959ce3c745e74b8a911793/IGD.go
 // Copyright (c) 2010 Jack Palevich (https://github.com/jackpal/Taipei-Torrent/blob/dd88a8bfac6431c01d959ce3c745e74b8a911793/LICENSE)
 // Copyright (c) 2010 Jack Palevich (https://github.com/jackpal/Taipei-Torrent/blob/dd88a8bfac6431c01d959ce3c745e74b8a911793/LICENSE)
+//
+// 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.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// 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 THE COPYRIGHT
+// OWNER 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.
+//
 
 
 package upnp
 package upnp
 
 

+ 27 - 4
lib/upnp/igd_service.go

@@ -1,11 +1,34 @@
 // Copyright (C) 2016 The Syncthing Authors.
 // Copyright (C) 2016 The Syncthing Authors.
 //
 //
-// This Source Code Form is subject to the terms of the Mozilla Public
-// License, v. 2.0. If a copy of the MPL was not distributed with this file,
-// You can obtain one at http://mozilla.org/MPL/2.0/.
-
 // Adapted from https://github.com/jackpal/Taipei-Torrent/blob/dd88a8bfac6431c01d959ce3c745e74b8a911793/IGD.go
 // Adapted from https://github.com/jackpal/Taipei-Torrent/blob/dd88a8bfac6431c01d959ce3c745e74b8a911793/IGD.go
 // Copyright (c) 2010 Jack Palevich (https://github.com/jackpal/Taipei-Torrent/blob/dd88a8bfac6431c01d959ce3c745e74b8a911793/LICENSE)
 // Copyright (c) 2010 Jack Palevich (https://github.com/jackpal/Taipei-Torrent/blob/dd88a8bfac6431c01d959ce3c745e74b8a911793/LICENSE)
+//
+// 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.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// 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 THE COPYRIGHT
+// OWNER 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.
+//
 
 
 package upnp
 package upnp
 
 

+ 26 - 4
lib/upnp/upnp.go

@@ -1,11 +1,33 @@
 // Copyright (C) 2014 The Syncthing Authors.
 // Copyright (C) 2014 The Syncthing Authors.
 //
 //
-// This Source Code Form is subject to the terms of the Mozilla Public
-// License, v. 2.0. If a copy of the MPL was not distributed with this file,
-// You can obtain one at http://mozilla.org/MPL/2.0/.
-
 // Adapted from https://github.com/jackpal/Taipei-Torrent/blob/dd88a8bfac6431c01d959ce3c745e74b8a911793/IGD.go
 // Adapted from https://github.com/jackpal/Taipei-Torrent/blob/dd88a8bfac6431c01d959ce3c745e74b8a911793/IGD.go
 // Copyright (c) 2010 Jack Palevich (https://github.com/jackpal/Taipei-Torrent/blob/dd88a8bfac6431c01d959ce3c745e74b8a911793/LICENSE)
 // Copyright (c) 2010 Jack Palevich (https://github.com/jackpal/Taipei-Torrent/blob/dd88a8bfac6431c01d959ce3c745e74b8a911793/LICENSE)
+//
+// 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.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// 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 THE COPYRIGHT
+// OWNER 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.
 
 
 // Package upnp implements UPnP InternetGatewayDevice discovery, querying, and port mapping.
 // Package upnp implements UPnP InternetGatewayDevice discovery, querying, and port mapping.
 package upnp
 package upnp