From 28c57d7511634ded15863acf310c31b7f2fe1f2d Mon Sep 17 00:00:00 2001 From: Cory Forsyth Date: Mon, 2 Nov 2015 14:49:07 -0500 Subject: [PATCH] built website from e0b7e0e0bf8326a7e56d8a2eed7052bc64e525cd --- .../content-kit-demo-a1a3c7253b32a7183c2e5dd2f8d33825.js | 1 + website/index.html | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 website/assets/content-kit-demo-a1a3c7253b32a7183c2e5dd2f8d33825.js diff --git a/website/assets/content-kit-demo-a1a3c7253b32a7183c2e5dd2f8d33825.js b/website/assets/content-kit-demo-a1a3c7253b32a7183c2e5dd2f8d33825.js new file mode 100644 index 000000000..590068cf4 --- /dev/null +++ b/website/assets/content-kit-demo-a1a3c7253b32a7183c2e5dd2f8d33825.js @@ -0,0 +1 @@ +"use strict";define("content-kit-demo/app",["exports","ember","ember/resolver","ember/load-initializers","content-kit-demo/config/environment"],function(e,t,n,o,i){var d;t["default"].MODEL_FACTORY_INJECTIONS=!0,d=t["default"].Application.extend({modulePrefix:i["default"].modulePrefix,podModulePrefix:i["default"].podModulePrefix,Resolver:n["default"]}),o["default"](d,i["default"].modulePrefix),e["default"]=d}),define("content-kit-demo/components/app-version",["exports","ember-cli-app-version/components/app-version","content-kit-demo/config/environment"],function(e,t,n){var o=n["default"].APP,i=o.name,d=o.version;e["default"]=t["default"].extend({version:d,name:i})}),define("content-kit-demo/components/content-kit-component-card",["exports","ember-content-kit/components/content-kit-component-card/component"],function(e,t){e["default"]=t["default"]}),define("content-kit-demo/components/content-kit-editor",["exports","ember-content-kit/components/content-kit-editor/component"],function(e,t){e["default"]=t["default"]}),define("content-kit-demo/components/content-kit-link-button",["exports","ember-content-kit/components/content-kit-link-button/component"],function(e,t){e["default"]=t["default"]}),define("content-kit-demo/components/content-kit-link-prompt",["exports","ember-content-kit/components/content-kit-link-prompt/component"],function(e,t){e["default"]=t["default"]}),define("content-kit-demo/components/content-kit-markup-button",["exports","ember-content-kit/components/content-kit-markup-button/component"],function(e,t){e["default"]=t["default"]}),define("content-kit-demo/components/content-kit-section-button",["exports","ember-content-kit/components/content-kit-section-button/component"],function(e,t){e["default"]=t["default"]}),define("content-kit-demo/components/content-kit-toolbar",["exports","ember-content-kit/components/content-kit-toolbar/component"],function(e,t){e["default"]=t["default"]}),define("content-kit-demo/components/ember-wormhole",["exports","ember-wormhole/components/ember-wormhole"],function(e,t){e["default"]=t["default"]}),define("content-kit-demo/components/mobiledoc-dom-renderer",["exports","ember","content-kit-demo/mobiledoc-cards/index"],function(e,t,n){var o=t["default"].computed,i=t["default"].run;e["default"]=t["default"].Component.extend({domRenderer:o(function(){return new window.MobiledocDOMRenderer}),didRender:function(){var e=this,t=this.get("domRenderer"),o=this.get("mobiledoc");i(function(){var i=e.$(".rendered-mobiledoc");i.empty(),o&&t.render(o,i[0],n.cardsHash)})}})}),define("content-kit-demo/components/tether-to-selection",["exports","ember-content-kit/components/tether-to-selection/component"],function(e,t){e["default"]=t["default"]}),define("content-kit-demo/content-kit-titleize/helper",["exports","ember-content-kit/helpers/content-kit-titleize"],function(e,t){e["default"]=t["default"],e.contentKitTitleize=t.contentKitTitleize}),define("content-kit-demo/controllers/array",["exports","ember"],function(e,t){e["default"]=t["default"].Controller}),define("content-kit-demo/controllers/index",["exports","ember","content-kit-demo/mobiledocs/index"],function(e,t,n){var o=t["default"].$;e["default"]=t["default"].Controller.extend({init:function(){this._super.apply(this,arguments);var e=n.simple;this.set("mobiledoc",e),this.set("editedMobiledoc",e)},actions:{changeMobiledoc:function(){var e=o("#select-mobiledoc"),t=e.val(),i=n[t];this.set("mobiledoc",i),this.set("editedMobiledoc",i)},didEdit:function(e){this.set("editedMobiledoc",e)}}})}),define("content-kit-demo/controllers/object",["exports","ember"],function(e,t){e["default"]=t["default"].Controller}),define("content-kit-demo/helpers/content-kit-cards-list",["exports","ember","content-kit-demo/mobiledoc-cards/index"],function(e,t,n){function o(){return n.cardsList}e.contentKitCardsList=o,e["default"]=t["default"].Helper.helper(o)}),define("content-kit-demo/helpers/format-object",["exports","ember"],function(e,t){function n(e){var t=o(e,1),n=t[0];return JSON.stringify(n,null," ")}e.formatObject=n;var o=function(){function e(e,t){var n=[],o=!0,i=!1,d=void 0;try{for(var a,r=e[Symbol.iterator]();!(o=(a=r.next()).done)&&(n.push(a.value),!t||n.length!==t);o=!0);}catch(l){i=!0,d=l}finally{try{!o&&r["return"]&&r["return"]()}finally{if(i)throw d}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();e["default"]=t["default"].Helper.helper(n)}),define("content-kit-demo/helpers/hash",["exports","ember-content-kit/helpers/hash"],function(e,t){e["default"]=t["default"],e.hash=t.hash}),define("content-kit-demo/helpers/in-array",["exports","ember-content-kit/helpers/in-array"],function(e,t){e["default"]=t["default"],e.inArray=t.inArray}),define("content-kit-demo/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","content-kit-demo/config/environment"],function(e,t,n){var o=n["default"].APP,i=o.name,d=o.version;e["default"]={name:"App Version",initialize:t["default"](i,d)}}),define("content-kit-demo/initializers/export-application-global",["exports","ember","content-kit-demo/config/environment"],function(e,t,n){function o(){var e=arguments[1]||arguments[0];if(n["default"].exportApplicationGlobal!==!1){var o,i=n["default"].exportApplicationGlobal;o="string"==typeof i?i:t["default"].String.classify(n["default"].modulePrefix),window[o]||(window[o]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete window[o]}}))}}e.initialize=o,e["default"]={name:"export-application-global",initialize:o}}),define("content-kit-demo/mobiledoc-cards/index",["exports","content-kit-demo/mobiledoc-cards/input","content-kit-demo/mobiledoc-cards/simple","content-kit-demo/mobiledoc-cards/selfie"],function(e,t,n,o){function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var d,a=[t.inputCard,n.simpleCard,o.selfieCard],r=(d={},i(d,"input-card",t.inputCard),i(d,"simple-card",n.simpleCard),i(d,"selfie-card",o.selfieCard),d);e.cardsList=a,e.cardsHash=r}),define("content-kit-demo/mobiledoc-cards/input",["exports","ember"],function(e,t){var n=t["default"].$,o={name:"input-card",display:{setup:function(e,t,o,i){n(e).empty();var d="I am in display mode";i.name&&(d="Hello, "+i.name+"!");var a=document.createElement("div");a.innerText=d;var r=document.createElement("button");r.innerText="Edit",r.onclick=o.edit,o.edit&&a.appendChild(r),e.appendChild(a)}},edit:{setup:function(e,t,o){n(e).empty();var i=document.createElement("div");i.innerHTML="What is your name?";var d=document.createElement("input");d.placeholder="Enter your name...";var a=document.createElement("button");a.innerText="Save",a.onclick=function(){var e=d.value;o.save({name:e})},i.appendChild(d),i.appendChild(a),e.appendChild(i)}}};e.inputCard=o}),define("content-kit-demo/mobiledoc-cards/selfie",["exports","ember"],function(e,t){var n=t["default"].$,o={name:"selfie-card",display:{setup:function(e,t,o,i){n(e).empty(),i.src?e.appendChild(n('

You look nice today.
'+(o.edit?"
":"")+"
")[0]):e.appendChild(n("
Hello there!"+(o.edit?"":"")+"
")[0]),n("#go-edit").click(function(){o.edit()})}},edit:{setup:function(e,t,o){n(e).empty();var i=n('
');e.appendChild(i[0]);var d=document.getElementById("canvas"),a=d.getContext("2d"),r=document.getElementById("video"),l={video:!0},c=function(){alert("error getting video feed")};navigator.getMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia,navigator.getMedia(l,function(e){var t;navigator.mozGetUserMedia?r.mozSrcObject=e:(t=window.URL||window.webkitURL,r.src=t.createObjectURL(e),r.play()),n("#snap").click(function(){a.drawImage(r,0,0,160,120);var e=d.toDataURL("image/png");o.save({src:e})})},c)}}};e.selfieCard=o}),define("content-kit-demo/mobiledoc-cards/simple",["exports","ember"],function(e,t){var n=t["default"].$,o={name:"simple-card",display:{setup:function(e,t,o){var i=document.createElement("span");i.innerHTML="Hello, world",e.appendChild(i);var d=n("");d.on("click",o.remove),n(e).append(d)}}};e.simpleCard=o}),define("content-kit-demo/mobiledocs/empty",["exports"],function(e){var t={version:"0.2.0",sections:[[],[]]};e.empty=t}),define("content-kit-demo/mobiledocs/index",["exports","content-kit-demo/mobiledocs/simple","content-kit-demo/mobiledocs/empty","content-kit-demo/mobiledocs/simple-list","content-kit-demo/mobiledocs/simple-card","content-kit-demo/mobiledocs/input-card","content-kit-demo/mobiledocs/selfie-card"],function(e,t,n,o,i,d,a){e.simple=t.simple,e.empty=n.empty,e.simpleList=o.simpleList,e.simpleCard=i.simpleCard,e.inputCard=d.inputCard,e.selfieCard=a.selfieCard}),define("content-kit-demo/mobiledocs/input-card",["exports"],function(e){var t={version:"0.2.0",sections:[[],[[1,"H2",[[[],0,"Input Card"]]],[10,"input-card"],[1,"P",[[[],0,"Text after the card."]]]]]};e.inputCard=t}),define("content-kit-demo/mobiledocs/selfie-card",["exports"],function(e){var t={version:"0.2.0",sections:[[],[[1,"H2",[[[],0,"Selfie Card"]]],[10,"selfie-card"]]]};e.selfieCard=t}),define("content-kit-demo/mobiledocs/simple-card",["exports"],function(e){var t={version:"0.2.0",sections:[[],[[10,"simple-card"]]]};e.simpleCard=t}),define("content-kit-demo/mobiledocs/simple-list",["exports"],function(e){var t={version:"0.2.0",sections:[[],[[1,"H2",[[[],0,"To do today:"]]],[3,"ul",[[[[],0,"buy milk"]],[[[],0,"water plants"]],[[[],0,"world domination"]]]]]]};e.simpleList=t}),define("content-kit-demo/mobiledocs/simple",["exports"],function(e){var t={version:"0.2.0",sections:[[],[[1,"H2",[[[],0,"headline h2"]]],[1,"P",[[[],0,"hello world"]]]]]};e.simple=t}),define("content-kit-demo/router",["exports","ember","content-kit-demo/config/environment"],function(e,t,n){var o=t["default"].Router.extend({location:n["default"].locationType});o.map(function(){}),e["default"]=o}),define("content-kit-demo/templates/application",["exports"],function(e){e["default"]=Ember.HTMLBars.template(function(){return{meta:{revision:"Ember@1.13.7",loc:{source:null,start:{line:1,column:0},end:{line:8,column:0}},moduleName:"content-kit-demo/templates/application.hbs"},arity:0,cachedFragment:null,hasRendered:!1,buildFragment:function(e){var t=e.createDocumentFragment(),n=e.createElement("div");e.setAttribute(n,"class","section");var o=e.createTextNode("\n ");e.appendChild(n,o);var o=e.createElement("h1"),i=e.createTextNode("Content-Kit");e.appendChild(o,i);var i=e.createElement("span");e.setAttribute(i,"class","headline-note");var d=e.createTextNode("alpha!");e.appendChild(i,d),e.appendChild(o,i),e.appendChild(n,o);var o=e.createTextNode("\n ");e.appendChild(n,o);var o=e.createElement("p");e.setAttribute(o,"class","subheadline");var i=e.createTextNode("A WYSIWYG editor for rich content");e.appendChild(o,i),e.appendChild(n,o);var o=e.createTextNode("\n");e.appendChild(n,o),e.appendChild(t,n);var n=e.createTextNode("\n");e.appendChild(t,n);var n=e.createElement("hr");e.appendChild(t,n);var n=e.createTextNode("\n\n");e.appendChild(t,n);var n=e.createComment("");e.appendChild(t,n);var n=e.createTextNode("\n");return e.appendChild(t,n),t},buildRenderNodes:function(e,t,n){var o=new Array(1);return o[0]=e.createMorphAt(t,4,4,n),o},statements:[["content","outlet",["loc",[null,[7,0],[7,10]]]]],locals:[],templates:[]}}())}),define("content-kit-demo/templates/components/mobiledoc-dom-renderer",["exports"],function(e){e["default"]=Ember.HTMLBars.template(function(){return{meta:{revision:"Ember@1.13.7",loc:{source:null,start:{line:1,column:0},end:{line:3,column:0}},moduleName:"content-kit-demo/templates/components/mobiledoc-dom-renderer.hbs"},arity:0,cachedFragment:null,hasRendered:!1,buildFragment:function(e){var t=e.createDocumentFragment(),n=e.createElement("div");e.setAttribute(n,"class","rendered-mobiledoc");var o=e.createTextNode("\n");e.appendChild(n,o),e.appendChild(t,n);var n=e.createTextNode("\n");return e.appendChild(t,n),t},buildRenderNodes:function(){return[]},statements:[],locals:[],templates:[]}}())}),define("content-kit-demo/templates/index",["exports"],function(e){e["default"]=Ember.HTMLBars.template(function(){var e=function(){return{meta:{revision:"Ember@1.13.7",loc:{source:null,start:{line:28,column:6},end:{line:35,column:6}},moduleName:"content-kit-demo/templates/index.hbs"},arity:1,cachedFragment:null,hasRendered:!1,buildFragment:function(e){var t=e.createDocumentFragment(),n=e.createTextNode(" ");e.appendChild(t,n);var n=e.createComment("");e.appendChild(t,n);var n=e.createTextNode("\n");return e.appendChild(t,n),t},buildRenderNodes:function(e,t,n){var o=new Array(1);return o[0]=e.createMorphAt(t,1,1,n),o},statements:[["inline","content-kit-toolbar",[],["contentKit",["subexpr","@mut",[["get","contentKit",["loc",[null,[34,41],[34,51]]]]],[],[]]],["loc",[null,[34,8],[34,53]]]]],locals:["contentKit"],templates:[]}}();return{meta:{revision:"Ember@1.13.7",loc:{source:null,start:{line:1,column:0},end:{line:55,column:0}},moduleName:"content-kit-demo/templates/index.hbs"},arity:0,cachedFragment:null,hasRendered:!1,buildFragment:function(e){var t=e.createDocumentFragment(),n=e.createElement("div");e.setAttribute(n,"class","section");var o=e.createTextNode("\n ");e.appendChild(n,o);var o=e.createElement("p"),i=e.createTextNode("\n Content-Kit is a publishing solution designed for both text and\n dynamically rendered cards. Posts are serialized into ");e.appendChild(o,i);var i=e.createElement("a");e.setAttribute(i,"href","https://github.com/bustlelabs/content-kit-editor/blob/master/MOBILEDOC.md");var d=e.createTextNode("Mobiledoc");e.appendChild(i,d),e.appendChild(o,i);var i=e.createTextNode(", and\n rendered to DOM in a reader's browser.\n ");e.appendChild(o,i),e.appendChild(n,o);var o=e.createTextNode("\n ");e.appendChild(n,o);var o=e.createElement("p"),i=e.createTextNode("\n Read more on the ");e.appendChild(o,i);var i=e.createElement("a");e.setAttribute(i,"href","https://github.com/bustlelabs/content-kit-editor");var d=e.createTextNode("content-kit-editor");e.appendChild(i,d),e.appendChild(o,i);var i=e.createTextNode("\n GitHub repo, or on the ");e.appendChild(o,i);var i=e.createElement("a");e.setAttribute(i,"href","http://madhatted.com/2015/7/31/announcing-content-kit-and-mobiledoc");var d=e.createTextNode("announcement blog post");e.appendChild(i,d),e.appendChild(o,i);var i=e.createTextNode(".\n ");e.appendChild(o,i),e.appendChild(n,o);var o=e.createTextNode("\n");e.appendChild(n,o),e.appendChild(t,n);var n=e.createTextNode("\n");e.appendChild(t,n);var n=e.createElement("div");e.setAttribute(n,"class","section");var o=e.createTextNode("\n ");e.appendChild(n,o);var o=e.createElement("br");e.appendChild(n,o);var o=e.createTextNode("\n ");e.appendChild(n,o);var o=e.createElement("h2"),i=e.createTextNode("Try a Demo");e.appendChild(o,i),e.appendChild(n,o);var o=e.createTextNode("\n");e.appendChild(n,o),e.appendChild(t,n);var n=e.createTextNode("\n");e.appendChild(t,n);var n=e.createElement("div");e.setAttribute(n,"class","container");var o=e.createTextNode("\n ");e.appendChild(n,o);var o=e.createElement("div");e.setAttribute(o,"class","pane");var i=e.createTextNode("\n ");e.appendChild(o,i);var i=e.createElement("div");e.setAttribute(i,"class","output full-left");var d=e.createTextNode("\n ");e.appendChild(i,d);var d=e.createElement("select");e.setAttribute(d,"id","select-mobiledoc");var a=e.createTextNode("\n ");e.appendChild(d,a);var a=e.createElement("option");e.setAttribute(a,"disabled","");var r=e.createTextNode("Load a new Mobiledoc");e.appendChild(a,r),e.appendChild(d,a);var a=e.createTextNode("\n ");e.appendChild(d,a);var a=e.createElement("option");e.setAttribute(a,"value","simple");var r=e.createTextNode("Simple text content");e.appendChild(a,r),e.appendChild(d,a);var a=e.createTextNode("\n ");e.appendChild(d,a);var a=e.createElement("option");e.setAttribute(a,"value","empty");var r=e.createTextNode("Empty mobiledoc");e.appendChild(a,r),e.appendChild(d,a);var a=e.createTextNode("\n ");e.appendChild(d,a);var a=e.createElement("option");e.setAttribute(a,"value","simpleList");var r=e.createTextNode("List example");e.appendChild(a,r),e.appendChild(d,a);var a=e.createTextNode("\n ");e.appendChild(d,a);var a=e.createElement("option");e.setAttribute(a,"value","simpleCard");var r=e.createTextNode("Simple Card");e.appendChild(a,r),e.appendChild(d,a);var a=e.createTextNode("\n ");e.appendChild(d,a);var a=e.createElement("option");e.setAttribute(a,"value","inputCard");var r=e.createTextNode("Card with Input");e.appendChild(a,r),e.appendChild(d,a);var a=e.createTextNode("\n ");e.appendChild(d,a);var a=e.createElement("option");e.setAttribute(a,"value","selfieCard");var r=e.createTextNode("Selfie Card");e.appendChild(a,r),e.appendChild(d,a);var a=e.createTextNode("\n ");e.appendChild(d,a),e.appendChild(i,d);var d=e.createTextNode("\n");e.appendChild(i,d);var d=e.createComment("");e.appendChild(i,d);var d=e.createTextNode(" ");e.appendChild(i,d),e.appendChild(o,i);var i=e.createTextNode("\n ");e.appendChild(o,i),e.appendChild(n,o);var o=e.createTextNode("\n\n ");e.appendChild(n,o);var o=e.createElement("div");e.setAttribute(o,"class","pane");var i=e.createTextNode("\n ");e.appendChild(o,i);var i=e.createElement("div");e.setAttribute(i,"class","output");var d=e.createTextNode("\n ");e.appendChild(i,d);var d=e.createElement("h4"),a=e.createTextNode("Mobiledoc Output");e.appendChild(d,a),e.appendChild(i,d);var d=e.createTextNode("\n ");e.appendChild(i,d);var d=e.createElement("pre");e.setAttribute(d,"class","serialized-mobiledoc-wrapper");var a=e.createElement("code");e.setAttribute(a,"id","serialized-mobiledoc");var r=e.createComment("");e.appendChild(a,r),e.appendChild(d,a),e.appendChild(i,d);var d=e.createTextNode("\n ");e.appendChild(i,d),e.appendChild(o,i);var i=e.createTextNode("\n ");e.appendChild(o,i),e.appendChild(n,o);var o=e.createTextNode("\n ");e.appendChild(n,o);var o=e.createElement("div");e.setAttribute(o,"class","pane");var i=e.createTextNode("\n ");e.appendChild(o,i);var i=e.createElement("div");e.setAttribute(i,"class","output full-right");var d=e.createTextNode("\n ");e.appendChild(i,d);var d=e.createElement("h4"),a=e.createTextNode("Rendered with ");e.appendChild(d,a);var a=e.createElement("a");e.setAttribute(a,"href","https://github.com/bustlelabs/mobiledoc-dom-renderer");var r=e.createTextNode("DOM-Renderer");e.appendChild(a,r),e.appendChild(d,a),e.appendChild(i,d);var d=e.createTextNode("\n ");e.appendChild(i,d);var d=e.createComment("");e.appendChild(i,d);var d=e.createTextNode("\n ");e.appendChild(i,d),e.appendChild(o,i);var i=e.createTextNode("\n ");e.appendChild(o,i),e.appendChild(n,o);var o=e.createTextNode("\n\n");e.appendChild(n,o),e.appendChild(t,n);var n=e.createTextNode("\n");return e.appendChild(t,n),t},buildRenderNodes:function(e,t,n){var o=e.childAt(t,[4]),i=e.childAt(o,[1,1]),d=e.childAt(i,[1]),a=new Array(4);return a[0]=e.createElementMorph(d),a[1]=e.createMorphAt(i,3,3),a[2]=e.createMorphAt(e.childAt(o,[3,1,3,0]),0,0),a[3]=e.createMorphAt(e.childAt(o,[5,1]),3,3),a},statements:[["element","action",["changeMobiledoc"],["on","change"],["loc",[null,[19,36],[19,76]]]],["block","content-kit-editor",[],["class","post-editor__editor","mobiledoc",["subexpr","@mut",[["get","mobiledoc",["loc",[null,[30,20],[30,29]]]]],[],[]],"cards",["subexpr","content-kit-cards-list",[],[],["loc",[null,[31,16],[31,40]]]],"on-change",["subexpr","action",["didEdit"],[],["loc",[null,[32,20],[32,38]]]]],0,null,["loc",[null,[28,6],[35,29]]]],["inline","format-object",[["get","editedMobiledoc",["loc",[null,[43,24],[43,39]]]]],[],["loc",[null,[43,6],[43,43]]]],["inline","mobiledoc-dom-renderer",[],["mobiledoc",["subexpr","@mut",[["get","editedMobiledoc",["loc",[null,[50,41],[50,56]]]]],[],[]]],["loc",[null,[50,6],[50,58]]]]],locals:[],templates:[e]}}())}),define("content-kit-demo/config/environment",["ember"],function(e){var t="content-kit-demo";try{var n=t+"/config/environment",o=e["default"].$('meta[name="'+n+'"]').attr("content"),i=JSON.parse(unescape(o));return{"default":i}}catch(d){throw new Error('Could not read config from meta tag with name "'+n+'".')}}),runningTests?require("content-kit-demo/tests/test-helper"):require("content-kit-demo/app")["default"].create({name:"content-kit-demo",version:"0.0.0+e0b7e0e0"}); \ No newline at end of file diff --git a/website/index.html b/website/index.html index 25fbb3940..951e79869 100644 --- a/website/index.html +++ b/website/index.html @@ -8,7 +8,7 @@ - + @@ -20,7 +20,7 @@ - +