===========================================================
                                      .___ __  __   
          _________________  __ __  __| _/|__|/  |_ 
         / ___\_` __ \__  \ |  |  \/ __ | | \\_  __\
        / /_/  >  | \// __ \|  |  / /_/ | |  ||  |  
        \___  /|__|  (____  /____/\____ | |__||__|  
       /_____/            \/           \/           
              grep rough audit - static analysis tool
                  v2.8 written by @Wireghoul
=================================[justanotherhacker.com]===
libjs-angular-schema-form-0.8.13/CHANGELOG-25- * New global option `pristine`.  Sets if errors and success states
libjs-angular-schema-form-0.8.13/CHANGELOG:26:   should be visible when form field are `$pristine`. Default is `{errors: true, success: true}`
libjs-angular-schema-form-0.8.13/CHANGELOG-27-
##############################################
libjs-angular-schema-form-0.8.13/dist/bootstrap-decorator.min.js:1:!function(e,t){"function"==typeof define&&define.amd?define(["schemaForm"],t):"object"==typeof exports?module.exports=t(require("schemaForm")):e.bootstrapDecorator=t(e.schemaForm)}(this,function(e){return angular.module("schemaForm").run(["$templateCache",function(e){e.put("directives/decorators/bootstrap/actions-trcl.html",'<div class="btn-group schema-form-actions {{form.htmlClass}}" ng-transclude=""></div>'),e.put("directives/decorators/bootstrap/actions.html",'<div class="btn-group schema-form-actions {{form.htmlClass}}"><input ng-repeat-start="item in form.items" type="submit" class="btn {{ item.style || \'btn-default\' }} {{form.fieldHtmlClass}}" value="{{item.title}}" ng-if="item.type === \'submit\'"> <button ng-repeat-end="" class="btn {{ item.style || \'btn-default\' }} {{form.fieldHtmlClass}}" type="button" ng-disabled="form.readonly" ng-if="item.type !== \'submit\'" ng-click="buttonClick($event,item)"><span ng-if="item.icon" class="{{item.icon}}"></span>{{item.title}}</button></div>'),e.put("directives/decorators/bootstrap/array.html",'<div sf-array="form" class="schema-form-array {{form.htmlClass}}" ng-model="$$value$$" ng-model-options="form.ngModelOptions"><label class="control-label" ng-show="showTitle()">{{ form.title }}</label><ol class="list-group" ng-model="modelArray" ui-sortable=""><li class="list-group-item {{form.fieldHtmlClass}}" ng-repeat="item in modelArray track by $index"><button ng-hide="form.readonly || form.remove === null" ng-click="deleteFromArray($index)" style="position: relative; z-index: 20;" type="button" class="close pull-right"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button><sf-decorator ng-init="arrayIndex = $index" form="copyWithIndex($index)"></sf-decorator></li></ol><div class="clearfix" style="padding: 15px;"><button ng-hide="form.readonly || form.add === null" ng-click="appendToArray()" type="button" class="btn {{ form.style.add || \'btn-default\' }} pull-right"><i class="glyphicon glyphicon-plus"></i> {{ form.add || \'Add\'}}</button></div><div class="help-block" ng-show="(hasError() && errorMessage(schemaError())) || form.description" ng-bind-html="(hasError() && errorMessage(schemaError())) || form.description"></div></div>'),e.put("directives/decorators/bootstrap/checkbox.html",'<div class="checkbox schema-form-checkbox {{form.htmlClass}}" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess()}"><label class="{{form.labelHtmlClass}}"><input type="checkbox" sf-changed="form" ng-disabled="form.readonly" ng-model="$$value$$" ng-model-options="form.ngModelOptions" schema-validate="form" class="{{form.fieldHtmlClass}}" name="{{form.key.slice(-1)[0]}}"> <span ng-bind-html="form.title"></span></label><div class="help-block" sf-message="form.description"></div></div>'),e.put("directives/decorators/bootstrap/checkboxes.html",'<div sf-array="form" ng-model="$$value$$" class="form-group schema-form-checkboxes {{form.htmlClass}}" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess()}"><label class="control-label {{form.labelHtmlClass}}" ng-show="showTitle()">{{form.title}}</label><div class="checkbox" ng-repeat="val in titleMapValues track by $index"><label><input type="checkbox" ng-disabled="form.readonly" sf-changed="form" class="{{form.fieldHtmlClass}}" ng-model="titleMapValues[$index]" name="{{form.key.slice(-1)[0]}}"> <span ng-bind-html="form.titleMap[$index].name"></span></label></div><div class="help-block" sf-message="form.description"></div></div>'),e.put("directives/decorators/bootstrap/default.html",'<div class="form-group schema-form-{{form.type}} {{form.htmlClass}}" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess(), \'has-feedback\': form.feedback !== false }"><label class="control-label {{form.labelHtmlClass}}" ng-class="{\'sr-only\': !showTitle()}" for="{{form.key.slice(-1)[0]}}">{{form.title}}</label> <input ng-if="!form.fieldAddonLeft && !form.fieldAddonRight" ng-show="form.key" type="{{form.type}}" step="any" sf-changed="form" placeholder="{{form.placeholder}}" class="form-control {{form.fieldHtmlClass}}" id="{{form.key.slice(-1)[0]}}" ng-model-options="form.ngModelOptions" ng-model="$$value$$" ng-disabled="form.readonly" schema-validate="form" name="{{form.key.slice(-1)[0]}}" aria-describedby="{{form.key.slice(-1)[0] + \'Status\'}}"><div ng-if="form.fieldAddonLeft || form.fieldAddonRight" ng-class="{\'input-group\': (form.fieldAddonLeft || form.fieldAddonRight)}"><span ng-if="form.fieldAddonLeft" class="input-group-addon" ng-bind-html="form.fieldAddonLeft"></span> <input ng-show="form.key" type="{{form.type}}" step="any" sf-changed="form" placeholder="{{form.placeholder}}" class="form-control {{form.fieldHtmlClass}}" id="{{form.key.slice(-1)[0]}}" ng-model-options="form.ngModelOptions" ng-model="$$value$$" ng-disabled="form.readonly" schema-validate="form" name="{{form.key.slice(-1)[0]}}" aria-describedby="{{form.key.slice(-1)[0] + \'Status\'}}"> <span ng-if="form.fieldAddonRight" class="input-group-addon" ng-bind-html="form.fieldAddonRight"></span></div><span ng-if="form.feedback !== false" class="form-control-feedback" ng-class="evalInScope(form.feedback) || {\'glyphicon\': true, \'glyphicon-ok\': hasSuccess(), \'glyphicon-remove\': hasError() }" aria-hidden="true"></span> <span ng-if="hasError() || hasSuccess()" id="{{form.key.slice(-1)[0] + \'Status\'}}" class="sr-only">{{ hasSuccess() ? \'(success)\' : \'(error)\' }}</span><div class="help-block" sf-message="form.description"></div></div>'),e.put("directives/decorators/bootstrap/fieldset-trcl.html",'<fieldset ng-disabled="form.readonly" class="schema-form-fieldset {{form.htmlClass}}"><legend ng-class="{\'sr-only\': !showTitle() }">{{ form.title }}</legend><div class="help-block" ng-show="form.description" ng-bind-html="form.description"></div><div ng-transclude=""></div></fieldset>'),e.put("directives/decorators/bootstrap/fieldset.html",'<fieldset ng-disabled="form.readonly" class="schema-form-fieldset {{form.htmlClass}}"><legend ng-class="{\'sr-only\': !showTitle() }">{{ form.title }}</legend><div class="help-block" ng-show="form.description" ng-bind-html="form.description"></div><sf-decorator ng-repeat="item in form.items" form="item"></sf-decorator></fieldset>'),e.put("directives/decorators/bootstrap/help.html",'<div class="helpvalue schema-form-helpvalue {{form.htmlClass}}" ng-bind-html="form.helpvalue"></div>'),e.put("directives/decorators/bootstrap/radio-buttons.html",'<div class="form-group schema-form-radiobuttons {{form.htmlClass}}" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess()}"><div><label class="control-label {{form.labelHtmlClass}}" ng-show="showTitle()">{{form.title}}</label></div><div class="btn-group"><label class="btn {{ (item.value === $$value$$) ? form.style.selected || \'btn-default\' : form.style.unselected || \'btn-default\'; }}" ng-class="{ active: item.value === $$value$$ }" ng-repeat="item in form.titleMap"><input type="radio" class="{{form.fieldHtmlClass}}" sf-changed="form" style="display: none;" ng-disabled="form.readonly" ng-model="$$value$$" ng-model-options="form.ngModelOptions" schema-validate="form" ng-value="item.value" name="{{form.key.join(\'.\')}}"> <span ng-bind-html="item.name"></span></label></div><div class="help-block" sf-message="form.description"></div></div>'),e.put("directives/decorators/bootstrap/radios-inline.html",'<div class="form-group schema-form-radios-inline {{form.htmlClass}}" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess()}"><label ng-model="$$value$$" ng-model-options="form.ngModelOptions" schema-validate="form" class="control-label {{form.labelHtmlClass}}" ng-show="showTitle()">{{form.title}}</label><div><label class="radio-inline" ng-repeat="item in form.titleMap"><input type="radio" class="{{form.fieldHtmlClass}}" sf-changed="form" ng-disabled="form.readonly" ng-model="$$value$$" ng-value="item.value" name="{{form.key.join(\'.\')}}"> <span ng-bind-html="item.name"></span></label></div><div class="help-block" sf-message="form.description"></div></div>'),e.put("directives/decorators/bootstrap/radios.html",'<div class="form-group schema-form-radios {{form.htmlClass}}" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess()}"><label ng-model="$$value$$" ng-model-options="form.ngModelOptions" schema-validate="form" class="control-label {{form.labelHtmlClass}}" ng-show="showTitle()">{{form.title}}</label><div class="radio" ng-repeat="item in form.titleMap"><label><input type="radio" class="{{form.fieldHtmlClass}}" sf-changed="form" ng-disabled="form.readonly" ng-model="$$value$$" ng-value="item.value" name="{{form.key.join(\'.\')}}"> <span ng-bind-html="item.name"></span></label></div><div class="help-block" sf-message="form.description"></div></div>'),e.put("directives/decorators/bootstrap/section.html",'<div class="schema-form-section {{form.htmlClass}}"><sf-decorator ng-repeat="item in form.items" form="item"></sf-decorator></div>'),e.put("directives/decorators/bootstrap/select.html",'<div class="form-group {{form.htmlClass}} schema-form-select" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess(), \'has-feedback\': form.feedback !== false}"><label class="control-label {{form.labelHtmlClass}}" ng-show="showTitle()">{{form.title}}</label><select ng-model="$$value$$" ng-model-options="form.ngModelOptions" ng-disabled="form.readonly" sf-changed="form" class="form-control {{form.fieldHtmlClass}}" schema-validate="form" ng-options="item.value as item.name group by item.group for item in form.titleMap" name="{{form.key.slice(-1)[0]}}"></select><div class="help-block" sf-message="form.description"></div></div>'),e.put("directives/decorators/bootstrap/submit.html",'<div class="form-group schema-form-submit {{form.htmlClass}}"><input type="submit" class="btn {{ form.style || \'btn-primary\' }} {{form.fieldHtmlClass}}" value="{{form.title}}" ng-disabled="form.readonly" ng-if="form.type === \'submit\'"> <button class="btn {{ form.style || \'btn-default\' }}" type="button" ng-click="buttonClick($event,form)" ng-disabled="form.readonly" ng-if="form.type !== \'submit\'"><span ng-if="form.icon" class="{{form.icon}}"></span> {{form.title}}</button></div>'),e.put("directives/decorators/bootstrap/tabarray.html",'<div sf-array="form" ng-init="selected = { tab: 0 }" class="clearfix schema-form-tabarray schema-form-tabarray-{{form.tabType || \'left\'}} {{form.htmlClass}}"><div ng-if="!form.tabType || form.tabType !== \'right\'" ng-class="{\'col-xs-3\': !form.tabType || form.tabType === \'left\'}"><ul class="nav nav-tabs" ng-class="{ \'tabs-left\': !form.tabType || form.tabType === \'left\'}"><li ng-repeat="item in modelArray track by $index" ng-click="$event.preventDefault() || (selected.tab = $index)" ng-class="{active: selected.tab === $index}"><a href="#">{{interp(form.title,{\'$index\':$index, value: item}) || $index}}</a></li><li ng-hide="form.readonly" ng-click="$event.preventDefault() || (selected.tab = appendToArray().length - 1)"><a href="#"><i class="glyphicon glyphicon-plus"></i> {{ form.add || \'Add\'}}</a></li></ul></div><div ng-class="{\'col-xs-9\': !form.tabType || form.tabType === \'left\' || form.tabType === \'right\'}"><div class="tab-content {{form.fieldHtmlClass}}"><div class="tab-pane clearfix" ng-repeat="item in modelArray track by $index" ng-show="selected.tab === $index" ng-class="{active: selected.tab === $index}"><sf-decorator ng-init="arrayIndex = $index" form="copyWithIndex($index)"></sf-decorator><button ng-hide="form.readonly" ng-click="selected.tab = deleteFromArray($index).length - 1" type="button" class="btn {{ form.style.remove || \'btn-default\' }} pull-right"><i class="glyphicon glyphicon-trash"></i> {{ form.remove || \'Remove\'}}</button></div></div></div><div ng-if="form.tabType === \'right\'" class="col-xs-3"><ul class="nav nav-tabs tabs-right"><li ng-repeat="item in modelArray track by $index" ng-click="$event.preventDefault() || (selected.tab = $index)" ng-class="{active: selected.tab === $index}"><a href="#">{{interp(form.title,{\'$index\':$index, value: item}) || $index}}</a></li><li ng-hide="form.readonly" ng-click="$event.preventDefault() || appendToArray()"><a href="#"><i class="glyphicon glyphicon-plus"></i> {{ form.add || \'Add\'}}</a></li></ul></div></div>'),e.put("directives/decorators/bootstrap/tabs.html",'<div ng-init="selected = { tab: 0 }" class="schema-form-tabs {{form.htmlClass}}"><ul class="nav nav-tabs"><li ng-repeat="tab in form.tabs" ng-disabled="form.readonly" ng-click="$event.preventDefault() || (selected.tab = $index)" ng-class="{active: selected.tab === $index}"><a href="#">{{ tab.title }}</a></li></ul><div class="tab-content {{form.fieldHtmlClass}}"><div class="tab-pane" ng-disabled="form.readonly" ng-repeat="tab in form.tabs" ng-show="selected.tab === $index" ng-class="{active: selected.tab === $index}"><bootstrap-decorator ng-repeat="item in tab.items" form="item"></bootstrap-decorator></div></div></div>'),e.put("directives/decorators/bootstrap/textarea.html",'<div class="form-group has-feedback {{form.htmlClass}} schema-form-textarea" ng-class="{\'has-error\': form.disableErrorState !== true && hasError(), \'has-success\': form.disableSuccessState !== true && hasSuccess()}"><label class="{{form.labelHtmlClass}}" ng-class="{\'sr-only\': !showTitle()}" for="{{form.key.slice(-1)[0]}}">{{form.title}}</label> <textarea ng-if="!form.fieldAddonLeft && !form.fieldAddonRight" class="form-control {{form.fieldHtmlClass}}" id="{{form.key.slice(-1)[0]}}" sf-changed="form" placeholder="{{form.placeholder}}" ng-disabled="form.readonly" ng-model="$$value$$" ng-model-options="form.ngModelOptions" schema-validate="form" name="{{form.key.slice(-1)[0]}}"></textarea><div ng-if="form.fieldAddonLeft || form.fieldAddonRight" ng-class="{\'input-group\': (form.fieldAddonLeft || form.fieldAddonRight)}"><span ng-if="form.fieldAddonLeft" class="input-group-addon" ng-bind-html="form.fieldAddonLeft"></span> <textarea class="form-control {{form.fieldHtmlClass}}" id="{{form.key.slice(-1)[0]}}" sf-changed="form" placeholder="{{form.placeholder}}" ng-disabled="form.readonly" ng-model="$$value$$" ng-model-options="form.ngModelOptions" schema-validate="form" name="{{form.key.slice(-1)[0]}}"></textarea> <span ng-if="form.fieldAddonRight" class="input-group-addon" ng-bind-html="form.fieldAddonRight"></span></div><span class="help-block" sf-message="form.description"></span></div>')}]),angular.module("schemaForm").config(["schemaFormDecoratorsProvider",function(e){var t="directives/decorators/bootstrap/";e.defineDecorator("bootstrapDecorator",{textarea:{template:t+"textarea.html",replace:!1},fieldset:{template:t+"fieldset.html",replace:!1},array:{template:t+"array.html",replace:!1},tabarray:{template:t+"tabarray.html",replace:!1},tabs:{template:t+"tabs.html",replace:!1},section:{template:t+"section.html",replace:!1},conditional:{template:t+"section.html",replace:!1},actions:{template:t+"actions.html",replace:!1},select:{template:t+"select.html",replace:!1},checkbox:{template:t+"checkbox.html",replace:!1},checkboxes:{template:t+"checkboxes.html",replace:!1},number:{template:t+"default.html",replace:!1},password:{template:t+"default.html",replace:!1},submit:{template:t+"submit.html",replace:!1},button:{template:t+"submit.html",replace:!1},radios:{template:t+"radios.html",replace:!1},"radios-inline":{template:t+"radios-inline.html",replace:!1},radiobuttons:{template:t+"radio-buttons.html",replace:!1},help:{template:t+"help.html",replace:!1},"default":{template:t+"default.html",replace:!1}},[]),e.createDirectives({textarea:t+"textarea.html",select:t+"select.html",checkbox:t+"checkbox.html",checkboxes:t+"checkboxes.html",number:t+"default.html",submit:t+"submit.html",button:t+"submit.html",text:t+"default.html",date:t+"default.html",password:t+"default.html",datepicker:t+"datepicker.html",input:t+"default.html",radios:t+"radios.html","radios-inline":t+"radios-inline.html",radiobuttons:t+"radio-buttons.html"})}]).directive("sfFieldset",function(){return{transclude:!0,scope:!0,templateUrl:"directives/decorators/bootstrap/fieldset-trcl.html",link:function(e,t,s){e.title=e.$eval(s.title)}}}),e});
##############################################
libjs-angular-schema-form-0.8.13/dist/schema-form.js-434-                } else {
libjs-angular-schema-form-0.8.13/dist/schema-form.js:435:                  scope.$eval(form.onClick, {'$event': $event, form: form});
libjs-angular-schema-form-0.8.13/dist/schema-form.js-436-                }
##############################################
libjs-angular-schema-form-0.8.13/dist/schema-form.js-760-                     `template` should be the key of the template to load and it should be pre-loaded
libjs-angular-schema-form-0.8.13/dist/schema-form.js:761:                     in `$templateCache`.
libjs-angular-schema-form-0.8.13/dist/schema-form.js-762-
##############################################
libjs-angular-schema-form-0.8.13/dist/schema-form.js-1981-                } else {
libjs-angular-schema-form-0.8.13/dist/schema-form.js:1982:                  scope.$eval(form.onClick, {'$event': $event, form: form});
libjs-angular-schema-form-0.8.13/dist/schema-form.js-1983-                }
##############################################
libjs-angular-schema-form-0.8.13/dist/schema-form.min.js:1:!function(e,t){"function"==typeof define&&define.amd?define(["angular","objectpath","tv4"],t):"object"==typeof exports?module.exports=t(require("angular"),require("objectpath"),require("tv4")):e.schemaForm=t(e.angular,e.objectpath,e.tv4)}(this,function(e,t,r){var n=[];try{e.module("ngSanitize"),n.push("ngSanitize")}catch(i){}try{e.module("ui.sortable"),n.push("ui.sortable")}catch(i){}try{e.module("angularSpectrumColorpicker"),n.push("angularSpectrumColorpicker")}catch(i){}var o=e.module("schemaForm",n);return e.module("schemaForm").provider("sfPath",[function(){var r=window.ObjectPath||t,n={parse:r.parse};1===e.version.major&&e.version.minor<3?n.stringify=function(e){return Array.isArray(e)?e.join("."):e.toString()}:n.stringify=r.stringify,n.normalize=function(e,t){return n.stringify(Array.isArray(e)?e:n.parse(e),t)},this.parse=n.parse,this.stringify=n.stringify,this.normalize=n.normalize,this.$get=function(){return n}}]),e.module("schemaForm").provider("sfBuilder",["sfPathProvider",function(t){var r=/[A-Z]/g,n=function(e,t){return t=t||"_",e.replace(r,function(e,r){return(r?t:"")+e.toLowerCase()})},i=0,o={sfField:function(e){e.fieldFrag.firstChild.setAttribute("sf-field",i),e.lookup["f"+i]=e.form,i++},ngModel:function(e){if(e.form.key){var r=e.form.key;e.state.keyRedaction&&(r=r.slice(e.state.keyRedaction));var n;if(e.state.modelValue)n=e.state.modelValue;else{var i=t.stringify(r).replace(/"/g,"&quot;");n=e.state.modelName||"model",i&&(n+=("["!==i[0]?".":"")+i)}for(var o=e.fieldFrag.querySelectorAll("[sf-field-model]"),a=0;a<o.length;a++){var l=o[a],s=l.getAttribute("sf-field-model");if(s&&""!==s)if("replaceAll"===s)for(var u=l.attributes,c=0;c<u.length;c++)u[c].value&&-1!==u[c].value.indexOf("$$value")&&(u[c].value=u[c].value.replace(/\$\$value\$\$/g,n));else{var f=l.getAttribute(s);f&&f.indexOf("$$value$$")?l.setAttribute(s,f.replace(/\$\$value\$\$/g,n)):l.setAttribute(s,n)}else l.setAttribute("ng-model",n)}}},simpleTransclusion:function(e){var t=e.build(e.form.items,e.path+".items",e.state);e.fieldFrag.firstChild.appendChild(t)},ngModelOptions:function(e){e.form.ngModelOptions&&Object.keys(e.form.ngModelOptions).length>0&&e.fieldFrag.firstChild.setAttribute("ng-model-options",JSON.stringify(e.form.ngModelOptions))},transclusion:function(e){var t=e.fieldFrag.querySelectorAll("[sf-field-transclude]");if(t.length)for(var r=0;r<t.length;r++){var n=t[r],i=n.getAttribute("sf-field-transclude")||"items",o=e.form[i];if(o){var a=e.build(o,e.path+"."+i,e.state);n.appendChild(a)}}},condition:function(e){if(e.form.condition){var r="evalExpr("+e.path+'.condition, { model: model, "arrayIndex": $index})';if(e.form.key){var n=t.stringify(e.form.key);r="evalExpr("+e.path+'.condition,{ model: model, "arrayIndex": $index, "modelValue": model'+("["===n[0]?"":".")+n+"})"}for(var i=e.fieldFrag.children||e.fieldFrag.childNodes,o=0;o<i.length;o++){var a=i[o],l=a.getAttribute("ng-if");a.setAttribute("ng-if",l?"("+l+") || ("+r+")":r)}}},array:function(r){var n=r.fieldFrag.querySelector("[schema-form-array-items]");if(n){if(state=e.copy(r.state),state.keyRedaction=state.keyRedaction||0,state.keyRedaction+=r.form.key.length+1,r.form.schema&&r.form.schema.items&&r.form.schema.items.type&&-1===r.form.schema.items.type.indexOf("object")&&-1===r.form.schema.items.type.indexOf("array")){t.stringify(r.form.key).replace(/"/g,"&quot;")+"[$index]";state.modelValue="modelArray[$index]"}else state.modelName="item";state.arrayCompatFlag=!0;var i=r.build(r.form.items,r.path+".items",state);n.appendChild(i)}}};this.builders=o;var a=[o.sfField,o.ngModel,o.ngModelOptions,o.condition];this.stdBuilders=a,this.$get=["$templateCache","schemaFormDecorators","sfPath",function(e,t,r){var i=function(e,t){if(e.key){var n=t[r.stringify(e.key)];if(n){for(;n.firstChild;)n.removeChild(n.firstChild);return n}}},l=function(e,t,r,o,a,s,u){s=s||{},u=u||Object.create(null),a=a||"schemaForm.form";var c=document.createDocumentFragment();return e.reduce(function(e,c,f){if(!c.type)return e;var d=t[c.type]||t["default"];if(d.replace){var m;s.arrayCompatFlag=!1;var p=document.createElement("div"),h=r(c,d)||r(c,t["default"]);for(p.innerHTML=h,m=document.createDocumentFragment();p.childNodes.length>0;)m.appendChild(p.childNodes[0]);var v={fieldFrag:m,form:c,lookup:u,state:s,path:a+"["+f+"]",build:function(e,n,i){return l(e,t,r,o,n,i,u)}},y=c.builder||d.builder;"function"==typeof y?y(v):y.forEach(function(e){e(v)}),(i(c,o)||e).appendChild(m)}else{var g=document.createElement(n(t.__name,"-"));s.arrayCompatFlag?g.setAttribute("form","copyWithIndex($index)"):g.setAttribute("form",a+"["+f+"]"),(i(c,o)||e).appendChild(g)}return e},c),c};return{build:function(t,r,n,i){return l(t,r,function(t,r){return"template"===t.type?t.template:e.get(r.template)},n,void 0,void 0,i)},builder:o,stdBuilders:a,internalBuild:l}}]}]),e.module("schemaForm").provider("schemaFormDecorators",["$compileProvider","sfPathProvider",function(t,r){var n="",i={},o=function(e,t){"sfDecorator"===e&&(e=n);var r=i[e];return r[t.type]?r[t.type].template:r["default"].template},a=function(n){t.directive(n,["$parse","$compile","$http","$templateCache","$interpolate","$q","sfErrorMessage","sfPath","sfSelect",function(t,i,a,l,s,u,c,f,d){return{restrict:"AE",replace:!1,transclude:!1,scope:!0,require:"?^sfSchema",link:function(t,m,p,h){t.$on("schemaFormPropagateNgModelController",function(e,r){e.stopPropagation(),e.preventDefault(),t.ngModel=r}),t.showTitle=function(){return t.form&&t.form.notitle!==!0&&t.form.title},t.listToCheckboxValues=function(t){var r={};return e.forEach(t,function(e){r[e]=!0}),r},t.checkboxValuesToList=function(t){var r=[];return e.forEach(t,function(e,t){e&&r.push(t)}),r},t.buttonClick=function(r,n){e.isFunction(n.onClick)?n.onClick(r,n):e.isString(n.onClick)&&(h?h.evalInParentScope(n.onClick,{$event:r,form:n}):t.$eval(n.onClick,{$event:r,form:n}))},t.evalExpr=function(e,r){return h?h.evalInParentScope(e,r):t.$eval(e,r)},t.evalInScope=function(e,r){return e?t.$eval(e,r):void 0},t.interp=function(e,t){return e&&s(e)(t)},t.hasSuccess=function(){return t.ngModel?t.ngModel.$valid&&(!t.ngModel.$pristine||!t.ngModel.$isEmpty(t.ngModel.$modelValue)):!1},t.hasError=function(){return t.ngModel?t.ngModel.$invalid&&!t.ngModel.$pristine:!1},t.errorMessage=function(e){return c.interpolate(e&&e.code+""||"default",t.ngModel&&t.ngModel.$modelValue||"",t.ngModel&&t.ngModel.$viewValue||"",t.form,t.options&&t.options.validationMessage)};var v=t.$watch(p.form,function(s){if(s){s.ngModelOptions=s.ngModelOptions||{},t.form=s;var c;if("template"===s.type&&s.template)c=u.when(s.template);else{var p="template"===s.type?s.templateUrl:o(n,s);c=a.get(p,{cache:l}).then(function(e){return e.data})}c.then(function(n){if(s.key){var o=s.key?r.stringify(s.key).replace(/"/g,"&quot;"):"";n=n.replace(/\$\$value\$\$/g,"model"+("["!==o[0]?".":"")+o)}if(m.html(n),s.condition){var a='evalExpr(form.condition,{ model: model, "arrayIndex": arrayIndex})';s.key&&(a='evalExpr(form.condition,{ model: model, "arrayIndex": arrayIndex, "modelValue": model'+f.stringify(s.key)+"})"),e.forEach(m.children(),function(e){var t=e.getAttribute("ng-if");e.setAttribute("ng-if",t?"("+t+") || ("+a+")":a)})}i(m.contents())(t)}),s.key&&(t.$on("schemaForm.error."+s.key.join("."),function(e,r,n,i){(n===!0||n===!1)&&(i=n,n=void 0),t.ngModel&&r&&(t.ngModel.$setDirty?t.ngModel.$setDirty():(t.ngModel.$dirty=!0,t.ngModel.$pristine=!1),n&&(s.validationMessage||(s.validationMessage={}),s.validationMessage[r]=n),t.ngModel.$setValidity(r,i===!0),i===!0&&(t.ngModel.$validate(),t.$broadcast("schemaFormValidate")))}),t.$on("$destroy",function(){if(!t.externalDestructionInProgress){var e=s.destroyStrategy||t.options&&t.options.destroyStrategy||"remove";if(s.key&&"retain"!==e){var r=t.model;if(s.key.length>1&&(r=d(s.key.slice(0,s.key.length-1),r)),void 0===r)return;var n=s.schema&&s.schema.type||"";"empty"===e&&-1!==n.indexOf("string")?r[s.key.slice(-1)]="":"empty"===e&&-1!==n.indexOf("object")?r[s.key.slice(-1)]={}:"empty"===e&&-1!==n.indexOf("array")?r[s.key.slice(-1)]=[]:"null"===e?r[s.key.slice(-1)]=null:delete r[s.key.slice(-1)]}}})),v()}})}}}])},l=function(r,n,i){i=e.isDefined(i)?i:!1,t.directive("sf"+e.uppercase(r[0])+r.substr(1),function(){return{restrict:"EAC",scope:!0,replace:!0,transclude:i,template:'<sf-decorator form="form"></sf-decorator>',link:function(t,n,i){var o={items:"c",titleMap:"c",schema:"c"},a={type:r},l=!0;e.forEach(i,function(r,n){if("$"!==n[0]&&0!==n.indexOf("ng")&&"sfField"!==n){var s=function(r){e.isDefined(r)&&r!==a[n]&&(a[n]=r,l&&a.type&&(a.key||e.isUndefined(i.key))&&(t.form=a,l=!1))};"model"===n?t.$watch(r,function(e){e&&t.model!==e&&(t.model=e)}):"c"===o[n]?t.$watchCollection(r,s):i.$observe(n,s)}})}}})};this.createDecorator=function(t,r){i[t]={__name:t},e.forEach(r,function(e,r){i[t][r]={template:e,replace:!1,builder:[]}}),i[n]||(n=t),a(t)},this.defineDecorator=function(t,r){i[t]={__name:t},e.forEach(r,function(r,n){r.builder=r.builder||[],r.replace=e.isDefined(r.replace)?r.replace:!0,i[t][n]=r}),i[n]||(n=t),a(t)},this.createDirective=l,this.createDirectives=function(t){e.forEach(t,function(e,t){l(t,e)})},this.decorator=function(e){return e=e||n,i[e]},this.addMapping=function(e,t,r,n,o){i[e]&&(i[e][t]={template:r,builder:n,replace:!!o})},this.defineAddOn=function(e,t,r,n){i[e]&&(i[e][t]={template:r,builder:n,replace:!0})},this.$get=function(){return{decorator:function(e){return i[e]||i[n]},defaultDecorator:n}},a("sfDecorator")}]),e.module("schemaForm").provider("sfErrorMessage",function(){var t={"default":"Field does not validate",0:"Invalid type, expected {{schema.type}}",1:"No enum match for: {{viewValue}}",10:'Data does not match any schemas from "anyOf"',11:'Data does not match any schemas from "oneOf"',12:'Data is valid against more than one schema from "oneOf"',13:'Data matches schema from "not"',100:"Value is not a multiple of {{schema.multipleOf}}",101:"{{viewValue}} is less than the allowed minimum of {{schema.minimum}}",102:"{{viewValue}} is equal to the exclusive minimum {{schema.minimum}}",103:"{{viewValue}} is greater than the allowed maximum of {{schema.maximum}}",104:"{{viewValue}} is equal to the exclusive maximum {{schema.maximum}}",105:"Value is not a valid number",200:"String is too short ({{viewValue.length}} chars), minimum {{schema.minLength}}",201:"String is too long ({{viewValue.length}} chars), maximum {{schema.maxLength}}",202:"String does not match pattern: {{schema.pattern}}",300:"Too few properties defined, minimum {{schema.minProperties}}",301:"Too many properties defined, maximum {{schema.maxProperties}}",302:"Required",303:"Additional properties not allowed",304:"Dependency failed - key must exist",400:"Array is too short ({{value.length}}), minimum {{schema.minItems}}",401:"Array is too long ({{value.length}}), maximum {{schema.maxItems}}",402:"Array items are not unique",403:"Additional items not allowed",500:"Format validation failed",501:'Keyword failed: "{{title}}"',600:"Circular $refs",1e3:"Unknown property (not in schema)"};t.number=t[105],t.required=t[302],t.min=t[101],t.max=t[103],t.maxlength=t[201],t.minlength=t[200],t.pattern=t[202],this.setDefaultMessages=function(e){t=e},this.getDefaultMessages=function(){return t},this.setDefaultMessage=function(e,r){t[e]=r},this.$get=["$interpolate",function(r){var n={};return n.defaultMessages=t,n.interpolate=function(n,i,o,a,l){l=l||{};var s=a.validationMessage||{};0===n.indexOf("tv4-")&&(n=n.substring(4));var u=s["default"]||l["default"]||"";[s,l,t].some(function(t){return e.isString(t)||e.isFunction(t)?(u=t,!0):t&&t[n]?(u=t[n],!0):void 0});var c={error:n,value:i,viewValue:o,form:a,schema:a.schema,title:a.title||a.schema&&a.schema.title};return e.isFunction(u)?u(c):r(u)(c)},n}]}),e.module("schemaForm").provider("schemaForm",["sfPathProvider",function(t){var r=function(e){if(Array.isArray(e)&&2==e.length){if("null"===e[0])return e[1];if("null"===e[1])return e[0]}return e},n=function(e){var t=[];return e.forEach(function(e){t.push({name:e,value:e})}),t},i=function(t,r){if(!e.isArray(t)){var n=[];return r?e.forEach(r,function(e,r){n.push({name:t[e],value:e})}):e.forEach(t,function(e,t){n.push({name:e,value:t})}),n}return t},o=function(t,n,i){var o=h[r(n.type)];if(o)for(var a,l=0;l<o.length;l++)if(a=o[l](t,n,i))return a.schema["x-schema-form"]&&e.isObject(a.schema["x-schema-form"])&&(a=e.extend(a,a.schema["x-schema-form"])),a},a=function(t,r,n){n=n||{};var o=n.global&&n.global.formDefaults?e.copy(n.global.formDefaults):{};return n.global&&n.global.supressPropertyTitles===!0?o.title=r.title:o.title=r.title||t,r.description&&(o.description=r.description),(n.required===!0||r.required===!0)&&(o.required=!0),r.maxLength&&(o.maxlength=r.maxLength),r.minLength&&(o.minlength=r.minLength),(r.readOnly||r.readonly)&&(o.readonly=!0),r.minimum&&(o.minimum=r.minimum+(r.exclusiveMinimum?1:0)),r.maximum&&(o.maximum=r.maximum-(r.exclusiveMaximum?1:0)),r.validationMessage&&(o.validationMessage=r.validationMessage),r.enumNames&&(o.titleMap=i(r.enumNames,r["enum"])),o.schema=r,o.ngModelOptions=o.ngModelOptions||{},o},l=function(e,n,i){if("string"===r(n.type)&&!n["enum"]){var o=a(e,n,i);return o.key=i.path,o.type="text",i.lookup[t.stringify(i.path)]=o,o}},s=function(e,n,i){if("number"===r(n.type)){var o=a(e,n,i);return o.key=i.path,o.type="number",i.lookup[t.stringify(i.path)]=o,o}},u=function(e,n,i){if("integer"===r(n.type)){var o=a(e,n,i);return o.key=i.path,o.type="number",i.lookup[t.stringify(i.path)]=o,o}},c=function(e,n,i){if("boolean"===r(n.type)){var o=a(e,n,i);return o.key=i.path,o.type="checkbox",i.lookup[t.stringify(i.path)]=o,o}},f=function(e,i,o){if("string"===r(i.type)&&i["enum"]){var l=a(e,i,o);return l.key=o.path,l.type="select",l.titleMap||(l.titleMap=n(i["enum"])),o.lookup[t.stringify(o.path)]=l,l}},d=function(e,i,o){if("array"===r(i.type)&&i.items&&i.items["enum"]){var l=a(e,i,o);return l.key=o.path,l.type="checkboxes",l.titleMap||(l.titleMap=n(i.items["enum"])),o.lookup[t.stringify(o.path)]=l,l}},m=function(n,i,l){if("object"===r(i.type)){var s=a(n,i,l);return s.type="fieldset",s.items=[],l.lookup[t.stringify(l.path)]=s,e.forEach(i.properties,function(e,r){var n=l.path.slice();if(n.push(r),l.ignore[t.stringify(n)]!==!0){var a=i.required&&-1!==i.required.indexOf(r),u=o(r,e,{path:n,required:a||!1,lookup:l.lookup,ignore:l.ignore,global:l.global});u&&s.items.push(u)}}),s}},p=function(e,n,i){if("array"===r(n.type)){var l=a(e,n,i);l.type="array",l.key=i.path,i.lookup[t.stringify(i.path)]=l;var s=n.required&&-1!==n.required.indexOf(i.path[i.path.length-1]),u=i.path.slice();return u.push(""),l.items=[o(e,n.items,{path:u,required:s||!1,lookup:i.lookup,ignore:i.ignore,global:i.global})],l}},h={string:[f,l],object:[m],number:[s],integer:[u],"boolean":[c],array:[d,p]},v=function(e){return e};this.defaults=h,this.stdFormObj=a,this.defaultFormDefinition=o,this.postProcess=function(e){v=e},this.appendRule=function(e,t){h[e]||(h[e]=[]),h[e].push(t)},this.prependRule=function(e,t){h[e]||(h[e]=[]),h[e].unshift(t)},this.createStandardForm=a,this.$get=function(){var n={};return n.merge=function(r,o,a,l,s,u){o=o||["*"],l=l||{},s=s||r.readonly||r.readOnly;var c=n.defaults(r,a,l),f=o.indexOf("*");-1!==f&&(o=o.slice(0,f).concat(c.form).concat(o.slice(f+1)));var d=c.lookup;return v(o.map(function(o){if("string"==typeof o&&(o={key:o}),o.key&&"string"==typeof o.key&&(o.key=t.parse(o.key)),o.titleMap&&(o.titleMap=i(o.titleMap)),o.itemForm){o.items=[];var c=t.stringify(o.key),f=d[c];e.forEach(f.items,function(t){var r=e.copy(o.itemForm);r.key=t.key,o.items.push(r)})}if(o.key){var m=t.stringify(o.key);if(d[m]){var p=d[m];e.forEach(p,function(e,t){void 0===o[t]&&(o[t]=p[t])})}}return s===!0&&(o.readonly=!0),o.items&&(o.items=n.merge(r,o.items,a,l,o.readonly,u)),o.tabs&&e.forEach(o.tabs,function(e){e.items=n.merge(r,e.items,a,l,o.readonly,u)}),"checkbox"===o.type&&e.isUndefined(o.schema["default"])&&(o.schema["default"]=!1),u&&"template"===o.type&&!o.template&&o.templateUrl&&u.push(o),o}))},n.defaults=function(t,n,i){var a=[],l={};if(n=n||{},i=i||{},"object"!==r(t.type))throw new Error('Not implemented. Only type "object" allowed at root level of schema.');return e.forEach(t.properties,function(e,r){if(n[r]!==!0){var s=t.required&&-1!==t.required.indexOf(r),u=o(r,e,{path:[r],lookup:l,ignore:n,required:s,global:i});u&&a.push(u)}}),{form:a,lookup:l}},n.traverseSchema=function(t,r,n,i){i=e.isDefined(i)?i:!0,n=n||[];var o=function(t,r,n){if(r(t,n),e.forEach(t.properties,function(e,t){var i=n.slice();i.push(t),o(e,r,i)}),!i&&t.items){var a=n.slice();a.push(""),o(t.items,r,a)}};o(t,r,n||[])},n.traverseForm=function(t,r){r(t),e.forEach(t.items,function(e){n.traverseForm(e,r)}),t.tabs&&e.forEach(t.tabs,function(t){e.forEach(t.items,function(e){n.traverseForm(e,r)})})},n}}]),e.module("schemaForm").factory("sfSelect",["sfPath",function(e){var t=/^\d+$/;return function(r,n,i){n||(n=this);var o="string"==typeof r?e.parse(r):r;if("undefined"!=typeof i&&1===o.length)return n[o[0]]=i,n;"undefined"!=typeof i&&"undefined"==typeof n[o[0]]&&(n[o[0]]=o.length>2&&t.test(o[1])?[]:{});for(var a=n[o[0]],l=1;l<o.length;l++){if(""===o[l])return void 0;if("undefined"!=typeof i){if(l===o.length-1)return a[o[l]]=i,i;var s=a[o[l]];("undefined"==typeof s||null===s)&&(s=t.test(o[l+1])?[]:{},a[o[l]]=s),a=s}else a&&(a=a[o[l]])}return a}}]),e.module("schemaForm").factory("sfValidator",[function(){var t={};return t.validate=function(t,n){if(!t)return{valid:!0};var i=t.schema;if(!i)return{valid:!0};""===n&&(n=void 0),"number"===t.type&&null===n&&(n=void 0);var o={type:"object",properties:{}},a=t.key[t.key.length-1];o.properties[a]=i,t.required&&(o.required=[a]);var l={};return e.isDefined(n)&&(l[a]=n),r.validateResult(l,o)},t}]),e.module("schemaForm").directive("sfArray",["sfSelect","schemaForm","sfValidator","sfPath",function(t,r,n,i){var o=function(e){return function(t){t.key&&(t.key[t.key.indexOf("")]=e)}};return{restrict:"A",scope:!0,require:"?ngModel",link:function(a,l,s,u){var c={};a.validateArray=e.noop,u&&a.$emit("schemaFormPropagateNgModelController",u);var f=a.$watch(s.sfArray,function(l){if(l){var s=t(l.key,a.model),d=i.normalize(l.key);if(a.$watch("model"+("["!==d[0]?".":"")+d,function(e){s=a.modelArray=e}),e.isUndefined(s)&&(s=[],t(l.key,a.model,s)),a.modelArray=s,l.items){var m=l.items[0];l.items.length>1&&(m={type:"section",items:l.items.map(function(t){return t.ngModelOptions=l.ngModelOptions,e.isUndefined(t.readonly)&&(t.readonly=l.readonly),t})})}if(a.copyWithIndex=function(t){if(!c[t]&&m){var n=e.copy(m);n.arrayIndex=t,r.traverseForm(n,o(t)),c[t]=n}return c[t]},a.appendToArray=function(){var n=s.length,i=a.copyWithIndex(n);if(r.traverseForm(i,function(r){if(r.key){var n;e.isDefined(r["default"])&&(n=r["default"]),e.isDefined(r.schema)&&e.isDefined(r.schema["default"])&&(n=r.schema["default"]),e.isDefined(n)&&t(r.key,a.model,n)}}),n===s.length){var o,u=t("schema.items.type",l);"object"===u?o={}:"array"===u&&(o=[]),s.push(o)}return a.validateArray(),s},a.deleteFromArray=function(e){return s.splice(e,1),a.validateArray(),u&&u.$setDirty&&u.$setDirty(),s},l.titleMap||l.startEmpty===!0||0!==s.length||a.appendToArray(),l.titleMap&&l.titleMap.length>0){a.titleMapValues=[];var p=function(e){a.titleMapValues=[],e=e||[],l.titleMap.forEach(function(t){a.titleMapValues.push(-1!==e.indexOf(t.value))})};p(a.modelArray),a.$watchCollection("modelArray",p),a.$watchCollection("titleMapValues",function(e,t){if(e&&e!==t){for(var r=a.modelArray;r.length>0;)r.pop();l.titleMap.forEach(function(t,n){e[n]&&r.push(t.value)}),a.validateArray()}})}if(u){var h;a.validateArray=function(){var e=n.validate(l,a.modelArray.length>0?a.modelArray:void 0);Object.keys(u.$error).filter(function(e){return 0===e.indexOf("tv4-")}).forEach(function(e){u.$setValidity(e,!0)}),e.valid!==!1||!e.error||""!==e.error.dataPath&&e.error.dataPath!=="/"+l.key[l.key.length-1]||(u.$setViewValue(a.modelArray),h=e.error,u.$setValidity("tv4-"+e.error.code,!1))},a.$on("schemaFormValidate",a.validateArray),a.hasSuccess=function(){return a.options&&a.options.pristine&&a.options.pristine.success===!1?u.$valid&&!u.$pristine&&!u.$isEmpty(u.$modelValue):u.$valid&&(!u.$pristine||!u.$isEmpty(u.$modelValue))},a.hasError=function(){return a.options&&a.options.pristine&&a.options.pristine.errors===!1?u.$invalid&&!u.$pristine:u.$invalid},a.schemaError=function(){return h}}f()}})}}}]),e.module("schemaForm").directive("sfChanged",function(){return{require:"ngModel",restrict:"AC",scope:!1,link:function(t,r,n,i){var o=t.$eval(n.sfChanged);o&&o.onChange&&i.$viewChangeListeners.push(function(){e.isFunction(o.onChange)?o.onChange(i.$modelValue,o):t.evalExpr(o.onChange,{modelValue:i.$modelValue,form:o})})}}}),e.module("schemaForm").directive("sfField",["$parse","$compile","$http","$templateCache","$interpolate","$q","sfErrorMessage","sfPath","sfSelect",function(t,r,n,i,o,a,l,s,u){return{restrict:"AE",replace:!1,transclude:!1,scope:!0,require:"^sfSchema",link:{pre:function(e,t,r,n){e.$on("schemaFormPropagateNgModelController",function(t,r){t.stopPropagation(),t.preventDefault(),e.ngModel=r}),e.form=n.lookup["f"+r.sfField]},post:function(t,r,n,i){t.showTitle=function(){return t.form&&t.form.notitle!==!0&&t.form.title},t.listToCheckboxValues=function(t){var r={};return e.forEach(t,function(e){r[e]=!0}),r},t.checkboxValuesToList=function(t){var r=[];return e.forEach(t,function(e,t){e&&r.push(t)}),r},t.buttonClick=function(r,n){e.isFunction(n.onClick)?n.onClick(r,n):e.isString(n.onClick)&&(i?i.evalInParentScope(n.onClick,{$event:r,form:n}):t.$eval(n.onClick,{$event:r,form:n}))},t.evalExpr=function(e,r){return i?i.evalInParentScope(e,r):t.$eval(e,r)},t.evalInScope=function(e,r){return e?t.$eval(e,r):void 0},t.interp=function(e,t){return e&&o(e)(t)},t.hasSuccess=function(){return t.ngModel?t.options&&t.options.pristine&&t.options.pristine.success===!1?t.ngModel.$valid&&!t.ngModel.$pristine&&!t.ngModel.$isEmpty(t.ngModel.$modelValue):t.ngModel.$valid&&(!t.ngModel.$pristine||!t.ngModel.$isEmpty(t.ngModel.$modelValue)):!1},t.hasError=function(){return t.ngModel?t.options&&t.options.pristine&&t.options.pristine.errors===!1?t.ngModel.$invalid&&!t.ngModel.$pristine:t.ngModel.$invalid:!1},t.errorMessage=function(e){return l.interpolate(e&&e.code+""||"default",t.ngModel&&t.ngModel.$modelValue||"",t.ngModel&&t.ngModel.$viewValue||"",t.form,t.options&&t.options.validationMessage)};var a=t.form;a.key&&(t.$on("schemaForm.error."+a.key.join("."),function(e,r,n,i){(n===!0||n===!1)&&(i=n,n=void 0),t.ngModel&&r&&(t.ngModel.$setDirty?t.ngModel.$setDirty():(t.ngModel.$dirty=!0,t.ngModel.$pristine=!1),n&&(a.validationMessage||(a.validationMessage={}),a.validationMessage[r]=n),t.ngModel.$setValidity(r,i===!0),i===!0&&(t.ngModel.$validate(),t.$broadcast("schemaFormValidate")))}),t.$on("$destroy",function(){if(!t.externalDestructionInProgress){var e=a.destroyStrategy||t.options&&t.options.destroyStrategy||"remove";if(a.key&&"retain"!==e){var r=t.model;if(a.key.length>1&&(r=u(a.key.slice(0,a.key.length-1),r)),void 0===r)return;var n=a.schema&&a.schema.type||"";"empty"===e&&-1!==n.indexOf("string")?r[a.key.slice(-1)]="":"empty"===e&&-1!==n.indexOf("object")?r[a.key.slice(-1)]={}:"empty"===e&&-1!==n.indexOf("array")?r[a.key.slice(-1)]=[]:"null"===e?r[a.key.slice(-1)]=null:delete r[a.key.slice(-1)]}}}))}}}}]),e.module("schemaForm").directive("sfMessage",["$injector","sfErrorMessage",function(t,r){var n=t.has("$sanitize")?t.get("$sanitize"):function(e){return e};return{scope:!1,restrict:"EA",link:function(t,i,o){var a="";o.sfMessage&&t.$watch(o.sfMessage,function(e){e&&(a=n(e),u(!!t.ngModel))});var l,s=function(e){e!==l&&(i.html(e),l=e)},u=function(n){if(n)if(t.hasError()){var i=[];e.forEach(t.ngModel&&t.ngModel.$error,function(e,t){e&&i.push(t)}),i=i.filter(function(e){return"schemaForm"!==e});var o=i[0];s(o?r.interpolate(o,t.ngModel.$modelValue,t.ngModel.$viewValue,t.form,t.options&&t.options.validationMessage):a)}else s(a);else s(a)};u();var c=t.$watch("ngModel",function(e){e&&(e.$parsers.push(function(e){return u(!0),e}),e.$formatters.push(function(e){return u(!0),e}),c())});t.$watchCollection("ngModel.$error",function(){u(!!t.ngModel)})}}}]),e.module("schemaForm").directive("sfNewArray",["sfSelect","sfPath","schemaForm",function(t,r,n){return{scope:!1,link:function(i,o,a){i.min=0,i.modelArray=i.$eval(a.sfNewArray);var l=function(){i.modelArray=i.$eval(a.sfNewArray),(!(i.ngModel&&i.ngModel.$pristine&&i.firstDigest)||i.options&&i.options.validateOnRender===!0)&&i.validateField&&i.validateField()},s=function(){i.form&&i.form.onChange&&(e.isFunction(i.form.onChange)?i.form.onChange(i.modelArray,i.form):i.evalExpr(i.form.onChange,{modelValue:i.modelArray,form:i.form}))},u=function(){var e=i.modelArray;if(!e){var n=r.parse(a.sfNewArray);e=[],t(n,i,e),i.modelArray=e}return e},c=i.$watch("form",function(e){if(e){if(e.titleMap||e.startEmpty===!0||i.modelArray&&0!==i.modelArray.length||i.appendToArray(),i.form&&i.form.schema&&i.form.schema.uniqueItems===!0?(i.$watch(a.sfNewArray,l,!0),i.$watch([a.sfNewArray,a.sfNewArray+".length"],s)):i.$watchGroup?i.$watchGroup([a.sfNewArray,a.sfNewArray+".length"],function(){l(),s()}):(i.$watch(a.sfNewArray,function(){l(),s()}),i.$watch(a.sfNewArray+".length",function(){l(),s()})),e.titleMap&&e.titleMap.length>0){i.titleMapValues=[];var t=function(t){i.titleMapValues=[],t=t||[],e.titleMap.forEach(function(e){i.titleMapValues.push(-1!==t.indexOf(e.value))})};t(i.modelArray),i.$watchCollection("modelArray",t),i.$watchCollection("titleMapValues",function(t,r){if(t&&t!==r){for(var n=u();n.length>0;)n.pop();e.titleMap.forEach(function(e,r){t[r]&&n.push(e.value)}),i.validateField&&i.validateField()}})}c()}});i.appendToArray=function(){var r,o=u();if(i.form&&i.form.schema&&i.form.schema.items){var a=i.form.schema.items;a.type&&-1!==a.type.indexOf("object")?(r={},i.options&&i.options.setSchemaDefaults===!1||(r=e.isDefined(a["default"])?a["default"]:r,r&&n.traverseSchema(a,function(n,i){e.isDefined(n["default"])&&t(i,r,n["default"])}))):a.type&&-1!==a.type.indexOf("array")?(r=[],i.options&&i.options.setSchemaDefaults===!1||(r=a["default"]||r)):i.options&&i.options.setSchemaDefaults===!1||(r=a["default"]||r)}return o.push(r),o},i.deleteFromArray=function(e){var t=i.modelArray;return t&&t.splice(e,1),t};var f=function(e){return function(t){t.key&&(t.key[t.key.indexOf("")]=e)}},d={};i.copyWithIndex=function(t){var r=i.form;if(!d[t]){var o=r.items[0];if(r.items.length>1&&(o={type:"section",items:r.items.map(function(t){return t.ngModelOptions=r.ngModelOptions,e.isUndefined(t.readonly)&&(t.readonly=r.readonly),t})}),o){var a=e.copy(o);a.arrayIndex=t,n.traverseForm(a,f(t)),d[t]=a}}return d[t]}}}}]),e.module("schemaForm").directive("sfSchema",["$compile","$http","$templateCache","$q","schemaForm","schemaFormDecorators","sfSelect","sfPath","sfBuilder",function(t,r,n,i,o,a,l,s,u){return{scope:{schema:"=sfSchema",initialForm:"=sfForm",model:"=sfModel",options:"=sfOptions"},controller:["$scope",function(e){this.evalInParentScope=function(t,r){return e.$parent.$eval(t,r)};var t=this;e.lookup=function(e){return e&&(t.lookup=e),t.lookup}}],replace:!1,restrict:"A",transclude:!0,require:"?form",link:function(s,c,f,d,m){s.formCtrl=d;var p={};m(s,function(e){if(e.addClass("schema-form-ignore"),c.prepend(e),c[0].querySelectorAll){var t=c[0].querySelectorAll("[ng-model]");if(t)for(var r=0;r<t.length;r++){var n=t[r].getAttribute("ng-model");p[n.substring(n.indexOf(".")+1)]=!0}}});var h,v={},y=function(e,t){var a=[],l=o.merge(e,t,p,s.options,void 0,a);a.length>0?i.all(a.map(function(e){return r.get(e.templateUrl,{cache:n}).then(function(t){e.template=t.data})})).then(function(){g(e,t,l)}):g(e,t,l)},g=function(r,n,i){h&&(s.externalDestructionInProgress=!0,h.$destroy(),s.externalDestructionInProgress=!1),h=s.$new(),h.schemaForm={form:i,schema:r},c.children(":not(.schema-form-ignore)").remove();for(var d={},m=c[0].querySelectorAll("*[sf-insert-field]"),p=0;p<m.length;p++)d[m[p].getAttribute("sf-insert-field")]=m[p];var v=a.decorator(f.sfUseDecorator),y=Object.create(null);s.lookup(y),c[0].appendChild(u.build(i,v,d,y)),h.firstDigest=!0,setTimeout(function(){h.firstDigest=!1},0),t(c.children())(h),s.options&&s.options.setSchemaDefaults===!1||o.traverseSchema(r,function(t,r){if(e.isDefined(t["default"])){var n=l(r,s.model);e.isUndefined(n)&&l(r,s.model,t["default"])}}),s.$emit("sf-render-finished",c)},$=["*"];s.$watch(function(){var e=s.schema,t=s.initialForm||$;t&&e&&e.type&&(v.form!==t||v.schema!==e)&&Object.keys(e.properties).length>0&&(v.schema=e,v.form=t,y(e,t))}),s.$on("schemaFormRedraw",function(){var t=s.schema,r=s.initialForm?e.copy(s.initialForm):["*"];t&&y(t,r)}),s.$on("$destroy",function(){s.externalDestructionInProgress=!0}),s.evalExpr=function(e,t){return s.$parent.$eval(e,t)}}}}]),e.module("schemaForm").directive("schemaValidate",["sfValidator","$parse","sfSelect",function(t,r,n){return{restrict:"A",scope:!1,priority:500,require:"ngModel",link:function(r,i,o,a){r.$emit("schemaFormPropagateNgModelController",a);var l=null,s=r.$eval(o.schemaValidate);s.copyValueTo&&a.$viewChangeListeners.push(function(){var t=s.copyValueTo;e.forEach(t,function(e){n(e,r.model,a.$modelValue)})});var u=function(e){if(!s)return e;if(r.options&&r.options.tv4Validation===!1)return e;var n=t.validate(s,e);return Object.keys(a.$error).filter(function(e){return 0===e.indexOf("tv4-")}).forEach(function(e){a.$setValidity(e,!0)}),n.valid?e:(a.$setValidity("tv4-"+n.error.code,!1),l=n.error,a.$validators?e:void 0)};"function"==typeof s.ngModel&&s.ngModel(a),["$parsers","$viewChangeListeners","$formatters"].forEach(function(e){s[e]&&a[e]&&s[e].forEach(function(t){a[e].push(t)})}),["$validators","$asyncValidators"].forEach(function(t){s[t]&&a[t]&&e.forEach(s[t],function(e,r){a[t][r]=e})}),a.$parsers.push(u),a.$validators&&(a.$validators.schemaForm=function(){return!Object.keys(a.$error).some(function(e){return"schemaForm"!==e})});var c=s.schema;r.validateField=function(e){(void 0==e||a.$$parentForm.$name===e)&&(c&&-1!==c.type.indexOf("array")&&u(a.$modelValue),a.$setDirty?(a.$setDirty(),a.$setViewValue(a.$viewValue),a.$commitViewValue(),s.required&&a.$isEmpty(a.$modelValue)&&a.$setValidity("tv4-302",!1)):a.$setViewValue(a.$viewValue))},a.$formatters.push(function(e){return!a.$pristine||!r.firstDigest||r.options&&r.options.validateOnRender===!0?(u(a.$modelValue),e):e}),r.$on("schemaFormValidate",function(e,t){r.validateField(t)}),r.schemaError=function(){return l}}}}]),o});
##############################################
libjs-angular-schema-form-0.8.13/docs/extending.md-56-This all happens in one large swoop and the finished document fragment is popped inside the form
libjs-angular-schema-form-0.8.13/docs/extending.md:57:and then `$compile` is used to kick start it's directives.
libjs-angular-schema-form-0.8.13/docs/extending.md-58-
##############################################
libjs-angular-schema-form-0.8.13/docs/extending.md-107-a build step (gulp-angular-templatecache) to "compile" the template into a javascript file that
libjs-angular-schema-form-0.8.13/docs/extending.md:108:basically chucks the template into `$templateCache`. Currently schema form does *not* support
libjs-angular-schema-form-0.8.13/docs/extending.md:109:loading the templates any other way. They need to be in `$templateCache` when rendering.
libjs-angular-schema-form-0.8.13/docs/extending.md-110-
##############################################
libjs-angular-schema-form-0.8.13/docs/extending.md-285-With the special value *replaceAll* the `ngModel` builder will instead loop over every attribute on the
libjs-angular-schema-form-0.8.13/docs/extending.md:286:element and do a string replacement of `"$$value$$"` with the proper model value. 
libjs-angular-schema-form-0.8.13/docs/extending.md-287-
##############################################
libjs-angular-schema-form-0.8.13/docs/index.md-124-You can force a validation by broadcasting the event `schemaFormValidate`, ex
libjs-angular-schema-form-0.8.13/docs/index.md:125:`$scope.$broadcast('schemaFormValidate')`, this will immediately validate the
libjs-angular-schema-form-0.8.13/docs/index.md-126-entire form and show any errors.
##############################################
libjs-angular-schema-form-0.8.13/docs/index.md-213-| destroyStrategy | string | the default strategy to use for cleaning the model when a form element is removed. see [destroyStrategy](#destroyStrategy) below |
libjs-angular-schema-form-0.8.13/docs/index.md:214:| pristine  | Object `{errors ,success}` | Sets if errors and success states should be visible when form field are `$pristine`. Default is `{errors: true, success: true}` |
libjs-angular-schema-form-0.8.13/docs/index.md-215-| validateOnRender | boolean | Should form be validated on initial render? Default `false` |
##############################################
libjs-angular-schema-form-0.8.13/docs/index.md-421-Schema Form can expose the `ngModelController` on a field for a function supplied with the form
libjs-angular-schema-form-0.8.13/docs/index.md:422:definition. Or you can use a shorthand by adding `$validators` and `$asyncValidators` objects as
libjs-angular-schema-form-0.8.13/docs/index.md:423:well as `$viewChangeListener`, `$parsers` and `$formatters` arrays to your form object and they
libjs-angular-schema-form-0.8.13/docs/index.md-424-will be picked up.
libjs-angular-schema-form-0.8.13/docs/index.md-425-
libjs-angular-schema-form-0.8.13/docs/index.md:426:Note that `$validators` and `$asyncValidators` are Angular 1.3+ only.
libjs-angular-schema-form-0.8.13/docs/index.md-427-
##############################################
libjs-angular-schema-form-0.8.13/docs/index.md-431-#### $validators
libjs-angular-schema-form-0.8.13/docs/index.md:432:Custom validator functions are added to the `$validators` object and their attribute name is the
libjs-angular-schema-form-0.8.13/docs/index.md-433-error code, so to specify a error message you also need to use.
##############################################
libjs-angular-schema-form-0.8.13/docs/index.md-848-### destroyStrategy
libjs-angular-schema-form-0.8.13/docs/index.md:849:By default, when a field is removed from the DOM and the `$destroy` event is broadcast, this happens
libjs-angular-schema-form-0.8.13/docs/index.md-850-if you use the `condition` option, the schema-validate directive will update the model to set the
##############################################
libjs-angular-schema-form-0.8.13/docs/index.md-1144-see the docs on [Extending Schema Form](extending.md) for details on what is on scope and what's up
libjs-angular-schema-form-0.8.13/docs/index.md:1145:with `$$value$$`
libjs-angular-schema-form-0.8.13/docs/index.md-1146-
##############################################
libjs-angular-schema-form-0.8.13/src/directives/field.js-57-                } else {
libjs-angular-schema-form-0.8.13/src/directives/field.js:58:                  scope.$eval(form.onClick, {'$event': $event, form: form});
libjs-angular-schema-form-0.8.13/src/directives/field.js-59-                }
##############################################
libjs-angular-schema-form-0.8.13/src/services/decorators.js-83-                } else {
libjs-angular-schema-form-0.8.13/src/services/decorators.js:84:                  scope.$eval(form.onClick, {'$event': $event, form: form});
libjs-angular-schema-form-0.8.13/src/services/decorators.js-85-                }
##############################################
libjs-angular-schema-form-0.8.13/src/services/decorators.js-409-                     `template` should be the key of the template to load and it should be pre-loaded
libjs-angular-schema-form-0.8.13/src/services/decorators.js:410:                     in `$templateCache`.
libjs-angular-schema-form-0.8.13/src/services/decorators.js-411-
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-191- * Configures the mock implementation of {@link ng.$exceptionHandler} to rethrow or to log errors
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:192: * passed into the `$exceptionHandler`.
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-193- */
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-244-   *   - `log`: Sometimes it is desirable to test that an error is thrown, for this case the `log`
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:245:   *            mode stores an array of errors in `$exceptionHandler.errors`, to allow later
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-246-   *            assertion of them. See {@link ngMock.$log#assertEmpty assertEmpty()} and
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-288- * (one array per logging level). These arrays are exposed as `logs` property of each of the
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:289: * level-specific log function, e.g. for level `error` the array is exposed as `$log.error.logs`.
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-290- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-439- *
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:440: * Use {@link ngMock.$interval#flush `$interval.flush(millis)`} to
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-441- * move forward by `millis` milliseconds and trigger any functions scheduled to run in that
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-507-     *
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:508:     * @param {promise} promise A promise from calling the `$interval` function.
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-509-     * @returns {boolean} Returns `true` if the task was successfully cancelled.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-908- *
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:909: * - `$httpBackend.expect` - specifies a request expectation
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:910: * - `$httpBackend.when` - specifies a backend definition
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-911- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-1085- *
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js:1086: * Returns instance for e2e testing (when `$delegate` and `$browser` specified):
libjs-angular-schema-form-0.8.13/test/lib/angular-mocks.js-1087- *   - passing through (delegating request to real backend) is enabled
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-1673-
libjs-angular-schema-form-0.8.13/test/lib/angular.js:1674:  // We need to expose `angular.$$minErr` to modules such as `ngResource` that reference it during bootstrap
libjs-angular-schema-form-0.8.13/test/lib/angular.js-1675-  angular.$$minErr = angular.$$minErr || minErr;
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-2280- * ### Events
libjs-angular-schema-form-0.8.13/test/lib/angular.js:2281: * - `$destroy` - AngularJS intercepts all jqLite/jQuery's DOM destruction apis and fires this event
libjs-angular-schema-form-0.8.13/test/lib/angular.js-2282- *    on all DOM nodes being removed.  This can be used to clean up any 3rd party bindings to the DOM
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3393- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3394: * `$injector` is used to retrieve object instances as defined by
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3395- * {@link auto.$provide provider}, instantiate types, invoke methods,
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3431- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3432: * ## `$inject` Annotation
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3433: * By adding an `$inject` property onto a function the injection parameters can be specified.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3434- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3454- * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3455: * Invoke the method and supply the method arguments from the `$injector`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3456- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3460- * @param {Object=} locals Optional object. If preset then any argument names are read from this
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3461: *                         object first, before the `$injector` is consulted.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3462- * @returns {*} the value returned by the invoked `fn` function.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3485- * @param {Object=} locals Optional object. If preset then any argument names are read from this
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3486: * object first, before the `$injector` is consulted.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3487- * @returns {Object} new instance of `Type`.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3517- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3518: * # The `$inject` property
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3519- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3520: * If a function has an `$inject` property and its value is an array of strings, then the strings
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3521- * represent names of services to be injected into the function.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3535- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3536: * It is often desirable to inline Injected functions and that's when setting the `$inject` property
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3537- * is very inconvenient. In these situations using the array notation to specify the dependencies in
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3585- * The **service providers** are constructor functions. When instantiated they must contain a
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3586: * property called `$get`, which holds the **service factory** function.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3587- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3588- * When you request a service, the {@link auto.$injector $injector} is responsible for finding the
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3589: * correct **service provider**, instantiating it and then calling its `$get` **service factory**
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3590- * function to get the instance of the **service**.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3592- * Often services have no configuration options and there is no need to add methods to the service
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3593: * provider.  The provider will be no more than a constructor function with a `$get` property. For
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3594- * these cases the {@link auto.$provide $provide} service has additional helper methods to register
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3603- * * {@link auto.$provide#factory factory(fn)} - registers a service **factory function**, `fn`,
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3604: *     that will be wrapped in a **service provider** object, whose `$get` property will contain the
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3605- *     given factory function.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3606- * * {@link auto.$provide#service service(class)} - registers a **constructor function**, `class`
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3607: *     that will be wrapped in a **service provider** object, whose `$get` property will instantiate
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3608- *      a new object using the given constructor function.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3626- * Service provider objects can have additional methods which allow configuration of the provider
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3627: * and its service. Importantly, you can configure what kind of service is created by the `$get`
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3628- * method, or how that service will act. For example, the {@link ng.$logProvider $logProvider} has a
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3636- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3637: *   - `Object`: then it should have a `$get` method. The `$get` method will be invoked using
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3638- *     {@link auto.$injector#invoke $injector.invoke()} when an instance needs to be created.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3714- * Register a **service factory**, which will be called to return the service instance.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3715: * This is short for registering a service where its provider consists of only a `$get` property,
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3716- * which is the given service factory function.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3721- * @param {function()} $getFn The $getFn for the instance creation. Internally this is a short hand
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3722: *                            for `$provide.provider(name, {$get: $getFn})`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3723- * @returns {Object} registered provider instance
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3749- * instance.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3750: * This is short for registering a service where its provider's `$get` property is the service
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3751- * constructor function that will be used to instantiate the service instance.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3790- * number, an array, an object or a function.  This is short for registering a service where its
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3791: * provider's `$get` property is a factory function that takes no arguments and returns the **value
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3792- * service**.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3860- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:3861: *    * `$delegate` - The original service instance, which can be monkey patched, configured,
libjs-angular-schema-form-0.8.13/test/lib/angular.js-3862- *      decorated or delegated to.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-4106- * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:4107: * When called, it checks current value of `$location.hash()` and scrolls to the related element,
libjs-angular-schema-form-0.8.13/test/lib/angular.js-4108- * according to rules specified in
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-4110- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:4111: * It also watches the `$location.hash()` and scrolls whenever it changes to match any anchor.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:4112: * This can be disabled by calling `$anchorScrollProvider.disableAutoScrolling()`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-4113- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-4468- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:4469: * For tests we provide {@link ngMock.$browser mock implementation} of the `$browser`
libjs-angular-schema-form-0.8.13/test/lib/angular.js-4470- * service, which can be used for convenient testing of the application without the interaction with
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-4788-   * @param {number=} [delay=0] of milliseconds to defer the function execution.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:4789:   * @returns {*} DeferId that can be used to cancel the task via `$browser.defer.cancel()`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-4790-   *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-4795-   * `setTimeout` in tests, the fns are queued in an array, which can be programmatically flushed
libjs-angular-schema-form-0.8.13/test/lib/angular.js:4796:   * via `$browser.defer.flush()`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-4797-   *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-4816-   *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:4817:   * @param {*} deferId Token returned by the `$browser.defer` function.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-4818-   * @returns {boolean} Returns `true` if the task hasn't executed yet and was successfully
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-5195- * can load templates directly into the cache in a `script` tag, or by consuming the
libjs-angular-schema-form-0.8.13/test/lib/angular.js:5196: * `$templateCache` service directly.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-5197- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-5418- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:5419: * * `$scope` - Current scope associated with the element
libjs-angular-schema-form-0.8.13/test/lib/angular.js:5420: * * `$element` - Current element
libjs-angular-schema-form-0.8.13/test/lib/angular.js:5421: * * `$attrs` - Current attributes object for the element
libjs-angular-schema-form-0.8.13/test/lib/angular.js:5422: * * `$transclude` - A transclude linking function pre-bound to the correct transclusion scope.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-5423- *    The scope can be overridden by an optional first argument.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-5596- *   * `transcludeFn` - A transclude linking function pre-bound to the correct transclusion scope.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:5597: *     The scope can be overridden by an optional first argument. This is the same as the `$transclude`
libjs-angular-schema-form-0.8.13/test/lib/angular.js-5598- *     parameter of directive controllers.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-5628- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:5629: * * *Observing interpolated attributes:* Use `$observe` to observe the value changes of attributes
libjs-angular-schema-form-0.8.13/test/lib/angular.js-5630- *   that contain interpolation (e.g. `src="{{bar}}"`). Not only is this very efficient but it's also
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-5648- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:5649: * Below is an example using `$compileProvider`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-5650- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-5652- * **Note**: Typically directives are registered with `module.directive`. The example below is
libjs-angular-schema-form-0.8.13/test/lib/angular.js:5653: * to illustrate how `$compile` works.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-5654- * </div>
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-6044-       *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:6045:       * The observer function will be invoked once during the next `$digest` following
libjs-angular-schema-form-0.8.13/test/lib/angular.js-6046-       * compilation. The observer is then invoked whenever the interpolated value
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-6847-
libjs-angular-schema-form-0.8.13/test/lib/angular.js:6848:        // This is the function that is injected as `$transclude`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-6849-        function controllersBoundTransclude(scope, cloneAttachFn) {
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7412-   * @name $controllerProvider#allowGlobals
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7413:   * @description If called, allows `$controller` to find controller constructors on `window`
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7414-   */
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7430-     *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7431:     *    * check if a controller with given name is registered via `$controllerProvider`
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7432-     *    * check if evaluating the string on the current scope returns a constructor
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7439-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7440:     * `$controller` service is responsible for instantiating controllers.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7441-     *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7514- * Any uncaught exception in angular expressions is delegated to this service.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7515: * The default implementation simply delegates to `$log.error` which logs it into
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7516- * the browser console.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7531- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7532: * This example will override the normal action of `$exceptionHandler`, to make angular
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7533- * exceptions fail hard when they happen, instead of just logging to the console.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7630- * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7631: * Use `$httpProvider` to change the default behavior of the {@link ng.$http $http} service.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7632- * */
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7724-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7725:     * The `$http` service is a core Angular service that facilitates communication with the remote
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7726-     * HTTP servers via the browser's [XMLHttpRequest](https://developer.mozilla.org/en/xmlhttprequest)
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7728-     *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7729:     * For unit testing applications that use `$http` service, see
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7730-     * {@link ngMock.$httpBackend $httpBackend mock}.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7740-     * # General usage
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7741:     * The `$http` service is a function which takes a single argument — a configuration object —
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7742-     * that is used to generate an HTTP request and returns  a {@link ng.$q promise}
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7800-     * The $http service will automatically add certain HTTP headers to all requests. These defaults
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7801:     * can be fully configured by accessing the `$httpProvider.defaults.headers` configuration
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7802-     * object, which currently contains this default configuration:
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7803-     *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7804:     * - `$httpProvider.defaults.headers.common` (headers that are common for all requests):
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7805-     *   - `Accept: application/json, text/plain, * / *`
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7806:     * - `$httpProvider.defaults.headers.post`: (header defaults for POST requests)
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7807-     *   - `Content-Type: application/json`
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7808:     * - `$httpProvider.defaults.headers.put` (header defaults for PUT requests)
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7809-     *   - `Content-Type: application/json`
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7815-     *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7816:     * The defaults can also be set at runtime via the `$http.defaults` object in the same
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7817-     * fashion. For example:
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7825-     * In addition, you can supply a `headers` property in the config object passed when
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7826:     * calling `$http(config)`, which overrides the defaults without changing them globally.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7827-     *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7844-     * To globally augment or override the default transforms, modify the
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7845:     * `$httpProvider.defaults.transformRequest` and `$httpProvider.defaults.transformResponse`
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7846-     * properties. These properties are by default an array of transform functions, which allows you
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7854-     * `transformRequest` and/or `transformResponse` properties of the configuration object passed
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7855:     * into `$http`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7856-     *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7860-     * To enable caching, set the request configuration `cache` property to `true` (to use default
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7861:     * cache) or to a custom cache object (built with {@link ng.$cacheFactory `$cacheFactory`}).
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7862:     * When the cache is enabled, `$http` stores the response from the server in the specified
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7863-     * cache. The next time the same request is made, the response is served from the cache without
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7873-     * You can change the default cache to a new object (built with
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7874:     * {@link ng.$cacheFactory `$cacheFactory`}) by updating the
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7875:     * {@link ng.$http#properties_defaults `$http.defaults.cache`} property. All requests who set
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7876-     * their `cache` property to `true` will now use this cache object.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7892-     *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7893:     * The interceptors are service factories that are registered with the `$httpProvider` by
libjs-angular-schema-form-0.8.13/test/lib/angular.js:7894:     * adding them to the `$httpProvider.interceptors` array. The factory is called and
libjs-angular-schema-form-0.8.13/test/lib/angular.js-7895-     * injected with dependencies (if specified) and returns the interceptor.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-8380-         * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:8381:         * Runtime equivalent of the `$httpProvider.defaults` property. Allows configuration of
libjs-angular-schema-form-0.8.13/test/lib/angular.js-8382-         * default headers, withCredentials as well as request and response transformations.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-8862-     *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:8863:     * `$interpolate` takes an optional fourth argument, `allOrNothing`. If `allOrNothing` is
libjs-angular-schema-form-0.8.13/test/lib/angular.js-8864-     * `true`, the interpolation function will return `undefined` unless all embedded expressions
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9130-      * number of iterations that have run.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:9131:      * To cancel an interval, call `$interval.cancel(promise)`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9132-      *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:9133:      * In tests you can use {@link ngMock.$interval#flush `$interval.flush(millis)`} to
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9134-      * move forward by `millis` milliseconds and trigger any functions scheduled to run in that
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9280-      *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:9281:      * @param {promise} promise returned by the `$interval` function.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9282-      * @returns {boolean} Returns `true` if the task was successfully canceled.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9686-   *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:9687:   * Change path, search and hash, when called with parameter and return `$location`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9688-   *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9752-   *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:9753:   * Change path when called with parameter and return `$location`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9754-   *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9773-   *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:9774:   * Change search part when called with parameter and return `$location`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9775-   *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9791-   * When called with a single argument the method acts as a setter, setting the `search` component
libjs-angular-schema-form-0.8.13/test/lib/angular.js:9792:   * of `$location` to the specified value.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9793-   *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9800-   * If `paramValue` is an array, it will override the property of the `search` component of
libjs-angular-schema-form-0.8.13/test/lib/angular.js:9801:   * `$location` specified via the first argument.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9802-   *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9808-   * @return {Object} If called with no arguments returns the parsed `search` object. If called with
libjs-angular-schema-form-0.8.13/test/lib/angular.js:9809:   * one or more arguments returns `$location` object itself.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9810-   */
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9826-          throw $locationMinErr('isrcharg',
libjs-angular-schema-form-0.8.13/test/lib/angular.js:9827:              'The first argument of the `$location#search()` call must be a string or an object.');
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9828-        }
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9850-   *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:9851:   * Change hash fragment when called with parameter and return `$location`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9852-   *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9862-   * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:9863:   * If called, all changes to $location during current `$digest` will be replacing current history
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9864-   * record, instead of adding new one.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9921- * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:9922: * Use the `$locationProvider` to configure how the application deep linking paths are stored.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-9923- */
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-10170- * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:10171: * Use the `$logProvider` to configure how the application logs messages
libjs-angular-schema-form-0.8.13/test/lib/angular.js-10172- */
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-11271- * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:11272: * `$parseProvider` can be used for configuring the default behavior of the {@link ng.$parse $parse}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-11273- *  service.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-11427- * ```js
libjs-angular-schema-form-0.8.13/test/lib/angular.js:11428: *   // for the purpose of this example let's assume that variables `$q`, `scope` and `okToGreet`
libjs-angular-schema-form-0.8.13/test/lib/angular.js-11429- *   // are available in the current lexical scope (they could have been injected or passed in).
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-11467- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:11468: * A new instance of deferred is constructed by calling `$q.defer()`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-11469- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-11476- * - `resolve(value)` – resolves the derived promise with the `value`. If the value is a rejection
libjs-angular-schema-form-0.8.13/test/lib/angular.js:11477: *   constructed via `$q.reject`, the promise will be rejected instead.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-11478- * - `reject(reason)` – rejects the derived promise with the `reason`. This is equivalent to
libjs-angular-schema-form-0.8.13/test/lib/angular.js:11479: *   resolving it with a rejection constructed via `$q.reject`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-11480- * - `notify(value)` - provides updates on the status of the promise's execution. This may be called
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12040- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12041: * Sets the number of `$digest` iterations the scope should attempt to execute before giving up and
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12042- * assuming that the model is unstable.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12045- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12046: * In complex applications it's possible that the dependencies between `$watch`s will result in
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12047- * several digest iterations. However if an application needs more than the default 10 digest
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12622-       * its children. Because a {@link ng.$rootScope.Scope#$watch watcher}'s listener can change
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12623:       * the model, the `$digest()` keeps calling the {@link ng.$rootScope.Scope#$watch watchers}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12624-       * until no more listeners are firing. This means that it is possible to get into an infinite
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12627-       *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12628:       * Usually, you don't call `$digest()` directly in
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12629-       * {@link ng.directive:ngController controllers} or in
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12631-       * Instead, you should call {@link ng.$rootScope.Scope#$apply $apply()} (typically from within
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12632:       * a {@link ng.$compileProvider#directive directive}), which will force a `$digest()`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12633-       *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12634:       * If you want to be notified whenever `$digest()` is called,
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12635-       * you can register a `watchExpression` function with
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12637-       *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12638:       * In unit tests, you may need to call `$digest()` to simulate the scope life cycle.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12639-       *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12781-       *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12782:       * Note that, in AngularJS, there is also a `$destroy` jQuery event, which can be used to
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12783-       * clean up DOM bindings before an element is removed from the DOM.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12796-       *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12797:       * The `$destroy()` is usually used by directives such as
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12798-       * {@link ng.directive:ngRepeat ngRepeat} for managing the
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12800-       *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12801:       * Just before a scope is destroyed, a `$destroy` event is broadcasted on this scope.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12802:       * Application code can register a `$destroy` event handler that will give it a chance to
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12803-       * perform any necessary cleanup.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12804-       *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12805:       * Note that, in AngularJS, there is also a `$destroy` jQuery event, which can be used to
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12806-       * clean up DOM bindings before an element is removed from the DOM.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12886-       *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12887:       * The `$evalAsync` makes no guarantees as to when the `expression` will be executed, only
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12888-       * that:
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12897-       *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12898:       * __Note:__ if this function is called outside of a `$digest` cycle, a new `$digest` cycle
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12899-       * will be scheduled. However, it is encouraged to always call code that changes the model
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12900:       * from within an `$apply` call. That includes code evaluated via `$evalAsync`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12901-       *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12931-       * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12932:       * `$apply()` is used to execute an expression in angular from outside of the angular
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12933-       * framework. (For example from browser DOM events, setTimeout, XHR or third party libraries).
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12939-       *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12940:       * # Pseudo-Code of `$apply()`
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12941-       * ```js
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12953-       *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:12954:       * Scope's `$apply()` method transitions through the following stages:
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12955-       *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-12999-       *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13000:       *   - `targetScope` - `{Scope}`: the scope on which the event was `$emit`-ed or
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13001:       *     `$broadcast`-ed.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13002-       *   - `currentScope` - `{Scope}`: the scope that is currently handling the event. Once the
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13005-       *   - `stopPropagation` - `{function=}`: calling `stopPropagation` function will cancel
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13006:       *     further event propagation (available only for events that were `$emit`-ed).
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13007-       *   - `preventDefault` - `{function}`: calling `preventDefault` sets `defaultPrevented` flag
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13046-       *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13047:       * The event life cycle starts at the scope on which `$emit` was called. All
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13048-       * {@link ng.$rootScope.Scope#$on listeners} listening for `name` event on this scope get
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13119-       *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13120:       * The event life cycle starts at the scope on which `$broadcast` was called. All
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13121-       * {@link ng.$rootScope.Scope#$on listeners} listening for `name` event on this scope get
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13366- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13367: * `$sceDelegate` is a service that is used by the `$sce` service to provide {@link ng.$sce Strict
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13368- * Contextual Escaping (SCE)} services to AngularJS.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13370- * Typically, you would configure or override the {@link ng.$sceDelegate $sceDelegate} instead of
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13371: * the `$sce` service to customize the way Strict Contextual Escaping works in AngularJS.  This is
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13372: * because, while the `$sce` provides numerous shorthand methods, etc., you really only need to
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13373- * override 3 core functions (`trustAs`, `getTrusted` and `valueOf`) to replace the way things
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13374: * work because `$sce` delegates to `$sceDelegate` for these operations.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13375- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13377- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13378: * The default instance of `$sceDelegate` should work out of the box with little pain.  While you
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13379: * can override it completely to change the behavior of `$sce`, the common case would
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13380- * involve configuring the {@link ng.$sceDelegateProvider $sceDelegateProvider} instead by setting
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13391- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13392: * The `$sceDelegateProvider` provider allows developers to configure the {@link ng.$sceDelegate
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13393- * $sceDelegate} service.  This allows one to get/set the whitelists and blacklists used to ensure
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13608-     * If the passed parameter had been returned by a prior call to {@link ng.$sceDelegate#trustAs
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13609:     * `$sceDelegate.trustAs`}, returns the value that had been passed to {@link
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13610:     * ng.$sceDelegate#trustAs `$sceDelegate.trustAs`}.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13611-     *
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13612-     * If the passed parameter is not a value that had been returned by {@link
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13613:     * ng.$sceDelegate#trustAs `$sceDelegate.trustAs`}, returns it as-is.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13614-     *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13615:     * @param {*} value The result of a prior {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13616-     *      call or anything else.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13617-     * @returns {*} The `value` that was originally provided to {@link ng.$sceDelegate#trustAs
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13618:     *     `$sceDelegate.trustAs`} if `value` is the result of such a call.  Otherwise, returns
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13619-     *     `value` unchanged.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13633-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13634:     * Takes the result of a {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs`} call and
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13635-     * returns the originally supplied value if the queried context type is a supertype of the
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13639-     * @param {*} maybeTrusted The result of a prior {@link ng.$sceDelegate#trustAs
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13640:     *     `$sceDelegate.trustAs`} call.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13641-     * @returns {*} The value the was originally provided to {@link ng.$sceDelegate#trustAs
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13642:     *     `$sceDelegate.trustAs`} if valid in this context.  Otherwise, throws an exception.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13643-     */
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13696- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13697: * `$sce` is a service that provides Strict Contextual Escaping services to AngularJS.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13698- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13754- * $sce.getTrusted(context, value)} rather than to the value directly.  Directives use {@link
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13755: * ng.$sce#parse $sce.parseAs} rather than `$parse` to watch attribute bindings, which performs the
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13756- * {@link ng.$sce#getTrusted $sce.getTrusted} behind the scenes on non-constant literals.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13796- * If your expressions are constant literals, they're automatically trusted and you don't need to
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13797: * call `$sce.trustAs` on them (remember to include the `ngSanitize` module) (e.g.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13798- * `<div ng-bind-html="'<b>implicitly trusted</b>'"></div>`) just works.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13818- * |---------------------|----------------|
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13819: * | `$sce.HTML`         | For HTML that's safe to source into the application.  The {@link ng.directive:ngBindHtml ngBindHtml} directive uses this context for bindings. If an unsafe value is encountered and the {@link ngSanitize $sanitize} module is present this will sanitize the value instead of throwing an error. |
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13820: * | `$sce.CSS`          | For CSS that's safe to source into the application.  Currently unused.  Feel free to use it in your own directives. |
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13821: * | `$sce.URL`          | For URLs that are safe to follow as links.  Currently unused (`<a href=` and `<img src=` sanitize their urls and don't constitute an SCE context. |
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13822: * | `$sce.RESOURCE_URL` | For URLs that are not only safe to follow as links, but whose contents are also safe to include in your application.  Examples include `ng-include`, `src` / `ngSrc` bindings for tags other than `IMG` (e.g. `IFRAME`, `OBJECT`, etc.)  <br><br>Note that `$sce.RESOURCE_URL` makes a stronger statement about the URL than `$sce.URL` does and therefore contexts requiring values trusted for `$sce.RESOURCE_URL` can be used anywhere that values trusted for `$sce.URL` are required. |
libjs-angular-schema-form-0.8.13/test/lib/angular.js:13823: * | `$sce.JS`           | For JavaScript that is safe to execute in your application's context.  Currently unused.  Feel free to use it in your own directives. |
libjs-angular-schema-form-0.8.13/test/lib/angular.js-13824- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14095-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14096:     * Delegates to {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs`}.  As such,
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14097-     * returns an object that is trusted by angular for use in specified strict contextual
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14114-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14115:     * Shorthand method.  `$sce.trustAsHtml(value)`libjs-angular-schema-form-0.8.13/test/lib/angular.js:14116:     *     {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs($sce.HTML, value)`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14117-     *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14129-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14130:     * Shorthand method.  `$sce.trustAsUrl(value)`libjs-angular-schema-form-0.8.13/test/lib/angular.js:14131:     *     {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs($sce.URL, value)`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14132-     *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14144-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14145:     * Shorthand method.  `$sce.trustAsResourceUrl(value)`libjs-angular-schema-form-0.8.13/test/lib/angular.js:14146:     *     {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs($sce.RESOURCE_URL, value)`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14147-     *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14159-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14160:     * Shorthand method.  `$sce.trustAsJs(value)`libjs-angular-schema-form-0.8.13/test/lib/angular.js:14161:     *     {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs($sce.JS, value)`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14162-     *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14174-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14175:     * Delegates to {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted`}.  As such,
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14176:     * takes the result of a {@link ng.$sce#trustAs `$sce.trustAs`}() call and returns the
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14177-     * originally supplied value if the queried context type is a supertype of the created type.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14180-     * @param {string} type The kind of context in which this value is to be used.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14181:     * @param {*} maybeTrusted The result of a prior {@link ng.$sce#trustAs `$sce.trustAs`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14182-     *                         call.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14183-     * @returns {*} The value the was originally provided to
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14184:     *              {@link ng.$sce#trustAs `$sce.trustAs`} if valid in this context.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14185-     *              Otherwise, throws an exception.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14192-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14193:     * Shorthand method.  `$sce.getTrustedHtml(value)`libjs-angular-schema-form-0.8.13/test/lib/angular.js:14194:     *     {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted($sce.HTML, value)`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14195-     *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14196:     * @param {*} value The value to pass to `$sce.getTrusted`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14197:     * @returns {*} The return value of `$sce.getTrusted($sce.HTML, value)`
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14198-     */
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14204-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14205:     * Shorthand method.  `$sce.getTrustedCss(value)`libjs-angular-schema-form-0.8.13/test/lib/angular.js:14206:     *     {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted($sce.CSS, value)`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14207-     *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14208:     * @param {*} value The value to pass to `$sce.getTrusted`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14209:     * @returns {*} The return value of `$sce.getTrusted($sce.CSS, value)`
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14210-     */
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14216-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14217:     * Shorthand method.  `$sce.getTrustedUrl(value)`libjs-angular-schema-form-0.8.13/test/lib/angular.js:14218:     *     {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted($sce.URL, value)`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14219-     *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14220:     * @param {*} value The value to pass to `$sce.getTrusted`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14221:     * @returns {*} The return value of `$sce.getTrusted($sce.URL, value)`
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14222-     */
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14228-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14229:     * Shorthand method.  `$sce.getTrustedResourceUrl(value)`libjs-angular-schema-form-0.8.13/test/lib/angular.js:14230:     *     {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted($sce.RESOURCE_URL, value)`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14231-     *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14232:     * @param {*} value The value to pass to `$sceDelegate.getTrusted`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14233:     * @returns {*} The return value of `$sce.getTrusted($sce.RESOURCE_URL, value)`
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14234-     */
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14240-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14241:     * Shorthand method.  `$sce.getTrustedJs(value)`libjs-angular-schema-form-0.8.13/test/lib/angular.js:14242:     *     {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted($sce.JS, value)`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14243-     *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14244:     * @param {*} value The value to pass to `$sce.getTrusted`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14245:     * @returns {*} The return value of `$sce.getTrusted($sce.JS, value)`
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14246-     */
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14252-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14253:     * Shorthand method.  `$sce.parseAsHtml(expression string)`libjs-angular-schema-form-0.8.13/test/lib/angular.js:14254:     *     {@link ng.$sce#parse `$sce.parseAs($sce.HTML, value)`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14255-     *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14269-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14270:     * Shorthand method.  `$sce.parseAsCss(value)`libjs-angular-schema-form-0.8.13/test/lib/angular.js:14271:     *     {@link ng.$sce#parse `$sce.parseAs($sce.CSS, value)`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14272-     *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14286-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14287:     * Shorthand method.  `$sce.parseAsUrl(value)`libjs-angular-schema-form-0.8.13/test/lib/angular.js:14288:     *     {@link ng.$sce#parse `$sce.parseAs($sce.URL, value)`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14289-     *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14303-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14304:     * Shorthand method.  `$sce.parseAsResourceUrl(value)`libjs-angular-schema-form-0.8.13/test/lib/angular.js:14305:     *     {@link ng.$sce#parse `$sce.parseAs($sce.RESOURCE_URL, value)`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14306-     *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14320-     * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14321:     * Shorthand method.  `$sce.parseAsJs(value)`libjs-angular-schema-form-0.8.13/test/lib/angular.js:14322:     *     {@link ng.$sce#parse `$sce.parseAs($sce.JS, value)`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14323-     *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14373-        android =
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14374:          int((/android (\d+)/.exec(lowercase(($window.navigator || {}).userAgent)) || [])[1]),
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14375-        boxee = /Boxee/i.test(($window.navigator || {}).userAgent),
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14464-      *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14465:      * To cancel a timeout request, call `$timeout.cancel(promise)`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14466-      *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14467:      * In tests you can use {@link ngMock.$timeout `$timeout.flush()`} to
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14468-      * synchronously flush the queue of deferred functions.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14512-      *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14513:      * @param {Promise=} promise Promise returned by the `$timeout` function.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14514-      * @returns {boolean} Returns `true` if the task hasn't executed yet and was successfully
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14640- * it is a global variable. In angular we always refer to it through the
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14641: * `$window` service, so it may be overridden, removed or mocked for testing.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14642- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14718- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14719: * The filter function is registered with the `$injector` under the filter name suffix with
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14720- * `Filter`.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14856- *     which have property `name` containing "M" and property `phone` containing "1". A special
libjs-angular-schema-form-0.8.13/test/lib/angular.js:14857: *     property name `$` can be used (as in `{$:"text"}`) to accept a match against any
libjs-angular-schema-form-0.8.13/test/lib/angular.js-14858- *     property of the object. That's equivalent to the simple substring match with a `string`
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-15745- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:15746: * It's also possible to call the orderBy filter manually, by injecting `$filter`, retrieving the
libjs-angular-schema-form-0.8.13/test/lib/angular.js:15747: * filter routine with `$filter('orderBy')`, and calling the returned filter routine with the
libjs-angular-schema-form-0.8.13/test/lib/angular.js-15748- * desired parameters.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-16413-   * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:16414:   * Rollback all form controls pending updates to the `$modelValue`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-16415-   *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-16430-   * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:16431:   * Commit all form controls pending updates to the `$modelValue`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-16432-   *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-17592-          </form>
libjs-angular-schema-form-0.8.13/test/lib/angular.js:17593:          Note that `ng-value="specialValue"` sets radio item's value to be the value of `$scope.specialValue`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-17594-        </file>
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18025-
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18026:  // Override the standard `$isEmpty` because a value of `false` means empty in a checkbox.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18027-  ctrl.$isEmpty = function(value) {
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18265- * module to automatically remove "bad" content like inline event listener (e.g. `<span onclick="...">`).
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18266: * However, as we are using `$sce` the model can still decide to to provide unsafe content if it marks
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18267: * that content using the `$sce` service.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18268- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18383-   *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18384:   * The `$render()` method is invoked in the following situations:
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18385-   *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18386:   * * `$rollbackViewValue()` is called.  If we are rolling back the view value to the last
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18387:   *   committed value then `$render()` is called to update the input control.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18388:   * * The value referenced by `ng-model` is changed programmatically and both the `$modelValue` and
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18389:   *   the `$viewValue` are different to last time.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18390-   *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18391:   * Since `ng-model` does not do a deep watch, `$render()` is only invoked if the values of
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18392:   * `$modelValue` and `$viewValue` are actually different to their previous value. If `$modelValue`
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18393:   * or `$viewValue` are objects (rather than a string or number) then `$render()` will not be
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18394-   * invoked if you only change a property on the objects.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18405-   * For instance, the required directive does this to work out if the input has data or not.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18406:   * The default `$isEmpty` function checks whether the value is `undefined`, `''`, `null` or `NaN`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18407-   *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18445-   * This method can be called within $parsers/$formatters. However, if possible, please use the
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18446:   *        `ngModel.$validators` pipeline which is designed to handle validations with true/false values.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18447-   *
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18448-   * @param {string} validationErrorKey Name of the validator. the `validationErrorKey` will assign
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18449:   *        to `$error[validationErrorKey]=!isValid` so that it is available for data-binding.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18450-   *        The `validationErrorKey` should be in camelCase and will get converted into dash-case
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18451-   *        for class name. Example: `myError` will result in `ng-valid-my-error` and `ng-invalid-my-error`
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18452:   *        class and can be bound to as  `{{someForm.someControl.$error.myError}}` .
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18453-   * @param {boolean} isValid Whether the current state is valid (true) or invalid (false).
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18539-   * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18540:   * Cancel an update and reset the input element's value to prevent an update to the `$modelValue`,
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18541-   * which may be caused by a pending debounced event or because the input is waiting for a some
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18544-   * If you have an input that uses `ng-model-options` to set up debounced events or events such
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18545:   * as blur you can have a situation where there is a period when the `$viewValue`
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18546:   * is out of synch with the ngModel's `$modelValue`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18547-   *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18548:   * In this case, you can run into difficulties if you try to update the ngModel's `$modelValue`
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18549-   * programmatically before these debounced/future events have resolved/occurred, because Angular's
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18551-   *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18552:   * The `$rollbackViewValue()` method should be called before programmatically changing the model of an
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18553-   * input which may have such events pending. This is important in order to make sure that the
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18632-   * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18633:   * Commit a pending update to the `$modelValue`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18634-   *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18701-   * If the new `value` is an object (rather than a string or a number), we should make a copy of the
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18702:   * object before passing it to `$setViewValue`.  This is because `ngModel` does not perform a deep
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18703-   * watch of objects, it only looks for a change of identity. If you only change the property of
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18704-   * the object then ngModel will not realise that the object has changed and will not invoke the
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18705:   * `$parsers` and `$validators` pipelines.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18706-   *
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18707-   * For this reason, you should not change properties of the copy once it has been passed to
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18708:   * `$setViewValue`. Otherwise you may cause the model value on the scope to change incorrectly.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18709-   *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18710:   * When this method is called, the new `value` will be staged for committing through the `$parsers`
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18711:   * and `$validators` pipelines. If there are no special {@link ngModelOptions} specified then the staged
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18712:   * value sent directly for processing, finally to be applied to `$modelValue` and then the
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18713-   * **expression** specified in the `ng-model` attribute.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18714-   *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18715:   * Lastly, all the registered change listeners, in the `$viewChangeListeners` list, are called.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18716-   *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18722-   *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:18723:   * Note that calling this function does not trigger a `$digest`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-18724-   *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-19008- * It will not be evaluated:
libjs-angular-schema-form-0.8.13/test/lib/angular.js:19009: * * if the value returned from the `$parsers` transformation pipeline has not changed
libjs-angular-schema-form-0.8.13/test/lib/angular.js-19010- * * if the input has continued to be invalid since the model will stay `null`
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-19372- * be different than the value in the actual model. This means that if you update the model you
libjs-angular-schema-form-0.8.13/test/lib/angular.js:19373: * should also invoke {@link ngModel.NgModelController `$rollbackViewValue`} on the relevant input field in
libjs-angular-schema-form-0.8.13/test/lib/angular.js-19374- * order to make sure it is synchronized with the model and that any debounced action is canceled.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-19375- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:19376: * The easiest way to reference the control's {@link ngModel.NgModelController `$rollbackViewValue`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-19377- * method is by making sure the input is placed inside a form that has a `name` attribute. This is
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-19509-      var that = this;
libjs-angular-schema-form-0.8.13/test/lib/angular.js:19510:      this.$options = $scope.$eval($attrs.ngModelOptions);
libjs-angular-schema-form-0.8.13/test/lib/angular.js-19511-      // Allow adding/overriding bound events
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-19662- * element in a secure way.  By default, the innerHTML-ed content will be sanitized using the {@link
libjs-angular-schema-form-0.8.13/test/lib/angular.js:19663: * ngSanitize.$sanitize $sanitize} service.  To utilize this functionality, ensure that `$sanitize`
libjs-angular-schema-form-0.8.13/test/lib/angular.js-19664- * is available, for example, by including {@link ngSanitize} in your module's dependencies (not in
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-19668- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:19669: * Note: If a `$sanitize` service is unavailable and the bound value isn't explicitly trusted, you
libjs-angular-schema-form-0.8.13/test/lib/angular.js-19670- * will have an exception (instead of an exploit.)
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20183- * `ng-controller="SettingsController1 as settings"`
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20184: * * one injects `$scope` into the controller:
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20185- * `ng-controller="SettingsController2"`
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20280- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20281: * This example demonstrates the "attach to `$scope`" style of controller.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20282- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20425-// ngCsp is not implemented as a proper directive any more, because we need it be processed while we
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20426:// bootstrap the system (before $parse is instantiated), for this reason we just have
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20427-// the csp.isActive() fn that looks for ng-csp attribute anywhere in the current doc
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20439- * @param {expression} ngClick {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20440: * click. ({@link guide/expression#-event- Event object is available as `$event`})
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20441- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20497- * @param {expression} ngDblclick {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20498: * a dblclick. (The Event object is available as `$event`)
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20499- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20521- * @param {expression} ngMousedown {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20522: * mousedown. ({@link guide/expression#-event- Event object is available as `$event`})
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20523- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20545- * @param {expression} ngMouseup {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20546: * mouseup. ({@link guide/expression#-event- Event object is available as `$event`})
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20547- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20568- * @param {expression} ngMouseover {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20569: * mouseover. ({@link guide/expression#-event- Event object is available as `$event`})
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20570- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20592- * @param {expression} ngMouseenter {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20593: * mouseenter. ({@link guide/expression#-event- Event object is available as `$event`})
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20594- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20616- * @param {expression} ngMouseleave {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20617: * mouseleave. ({@link guide/expression#-event- Event object is available as `$event`})
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20618- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20640- * @param {expression} ngMousemove {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20641: * mousemove. ({@link guide/expression#-event- Event object is available as `$event`})
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20642- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20664- * @param {expression} ngKeydown {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20665: * keydown. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.)
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20666- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20686- * @param {expression} ngKeyup {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20687: * keyup. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.)
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20688- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20712- * @param {expression} ngKeypress {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20713: * keypress. ({@link guide/expression#-event- Event object is available as `$event`}
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20714- * and can be interrogated for keyCode, altKey, etc.)
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20739- * @param {expression} ngSubmit {@link guide/expression Expression} to eval.
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20740: * ({@link guide/expression#-event- Event object is available as `$event`})
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20741- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20791- * @param {expression} ngFocus {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20792: * focus. ({@link guide/expression#-event- Event object is available as `$event`})
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20793- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20807- * @param {expression} ngBlur {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20808: * blur. ({@link guide/expression#-event- Event object is available as `$event`})
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20809- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20823- * @param {expression} ngCopy {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20824: * copy. ({@link guide/expression#-event- Event object is available as `$event`})
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20825- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20844- * @param {expression} ngCut {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20845: * cut. ({@link guide/expression#-event- Event object is available as `$event`})
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20846- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20865- * @param {expression} ngPaste {@link guide/expression Expression} to evaluate upon
libjs-angular-schema-form-0.8.13/test/lib/angular.js:20866: * paste. ({@link guide/expression#-event- Event object is available as `$event`})
libjs-angular-schema-form-0.8.13/test/lib/angular.js-20867- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-21287- * <div class="alert alert-warning">
libjs-angular-schema-form-0.8.13/test/lib/angular.js:21288: * **Note**: If you have assignment in `ngInit` along with {@link ng.$filter `$filter`}, make
libjs-angular-schema-form-0.8.13/test/lib/angular.js-21289- * sure you have parenthesis for correct precedence:
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-21595- * instance gets its own scope, where the given loop variable is set to the current collection item,
libjs-angular-schema-form-0.8.13/test/lib/angular.js:21596: * and `$index` is set to the item index or key.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-21597- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-21601- * |-----------|-----------------|-----------------------------------------------------------------------------|
libjs-angular-schema-form-0.8.13/test/lib/angular.js:21602: * | `$index`  | {@type number}  | iterator offset of the repeated element (0..length-1)                       |
libjs-angular-schema-form-0.8.13/test/lib/angular.js:21603: * | `$first`  | {@type boolean} | true if the repeated element is first in the iterator.                      |
libjs-angular-schema-form-0.8.13/test/lib/angular.js:21604: * | `$middle` | {@type boolean} | true if the repeated element is between the first and last in the iterator. |
libjs-angular-schema-form-0.8.13/test/lib/angular.js:21605: * | `$last`   | {@type boolean} | true if the repeated element is last in the iterator.                       |
libjs-angular-schema-form-0.8.13/test/lib/angular.js:21606: * | `$even`   | {@type boolean} | true if the iterator position `$index` is even (otherwise false).           |
libjs-angular-schema-form-0.8.13/test/lib/angular.js:21607: * | `$odd`    | {@type boolean} | true if the iterator position `$index` is odd (otherwise false).            |
libjs-angular-schema-form-0.8.13/test/lib/angular.js-21608- *
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-21685- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:21686: *     For example: `item in items` is equivalent to `item in items track by $id(item)`. This implies that the DOM elements
libjs-angular-schema-form-0.8.13/test/lib/angular.js-21687- *     will be associated by item identity in the array.
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-21695- *
libjs-angular-schema-form-0.8.13/test/lib/angular.js:21696: *     For example: `item in items track by $id(item)`. A built in `$id()` function can be used to assign a unique
libjs-angular-schema-form-0.8.13/test/lib/angular.js:21697: *     `$$hashKey` property to each item in the array. This property is then used as a key to associated DOM elements
libjs-angular-schema-form-0.8.13/test/lib/angular.js-21698- *     with the corresponding item in the array by identity. Moving the same object in array would move the DOM
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-22396- * For example, **`ng-switch-when="someVal"`** will match against the string `"someVal"` not against the
libjs-angular-schema-form-0.8.13/test/lib/angular.js:22397: * value of the expression `$scope.someVal`.
libjs-angular-schema-form-0.8.13/test/lib/angular.js-22398- * </div>
##############################################
libjs-angular-schema-form-0.8.13/test/lib/angular.js-22655- * @description
libjs-angular-schema-form-0.8.13/test/lib/angular.js:22656: * Load the content of a `<script>` element into {@link ng.$templateCache `$templateCache`}, so that the
libjs-angular-schema-form-0.8.13/test/lib/angular.js-22657- * template can be used by {@link ng.directive:ngInclude `ngInclude`},